Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 4.76
Shevva
17 / 17 / 0
Регистрация: 13.09.2009
Сообщений: 140
#1

Шахматы - C++

30.12.2009, 20:10. Просмотров 2550. Ответов 2
Метки нет (Все метки)

Помогите пожалуйста решить прогу, так как я абсолютно не шарю, что здесь делать. Вот в чём она заключается: На шахматной доске стоит белый король, а у чёрных, белый король и слон, охарактеризовать положение чёрных: мат, шах, пат.

Добавлено через 1 час 33 минуты
Отзовитесь кто-то!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.12.2009, 20:10     Шахматы
Посмотрите здесь:

Шахматы - C++
не могу понять задачи .. помогите Класс "фигура": координаты на шахматной доске, цвет. Метод - "ход" на одну позицию в одном из 4...

Шахматы - C++
По умолчанию Ферзь, ладья и конь Ферзь, ладья и конь На шахматной доске 8х8 расположены три фигуры: ферзь, ладья и конь. Требуется...

шахматы - C++
Разработать класс для моделирования шахматной фигуры, позволяю- щий хранить вместе с экземпляром объекта его координаты на доске, цвет...

Шахматы в с++ - C++
Даны фигуры: Пешка, слон, король.(цвет фигуры не зависит). Суть задачи состоит в том, что человек вводит координаты фигур, а программа...

Шахматы - C++
Помогите пожалуйста разобраться с задачкой.. Даны натуральные числа k,l,m,n. Необходимо выяснить, угрожает ли конь, стоящий на поле...

Шахматы в консоли - C++
Хочу написать шахматы в консоли, но не знаю какой тип нужен для символов шахматных фигур, и вообще поддерживает ли их консоль? К примеру,...

Шахматы, конь - C++
Всем доброго времени суток! Буду честен - в универе задали задачу на макс.балл(все предыдущие сделал, но с этой возникла проблемка)....

Шахматы. Ферзь - C++
Поле шахматной доски определяется парой натуральных чисел, первое из которых задает номер вертикали, а второе — номер горизонтали. Даны...

игра шахматы - C++
Пришлите кто нибудь исходник игры Шахматы на С++!!! пожалуйста очень надо))))))))))) Добавлено через 19 секунд очень надо))

Написать консольные шахматы - C++
Происходит шахматная партия. Шахматная доска имеет размер 8x8. При этом координаты фигуры задаются в шахматной нотации, то есть состоят...

Создать класс Шахматы - C++
Создать класс Шахматы, состоящее из набора фигур и шахматной доски – двумерный массив 8 на 8. Должна быть возможность удаления фигур с...

Оцените программу: Шахматы - C++
Я почти не учил раньше программирование, чуть в школе, чуть в универе (все знания сводились о знании о переменных и цыклах). А месяцев 9...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
rdksoft
22 / 22 / 2
Регистрация: 24.12.2008
Сообщений: 81
30.12.2009, 20:22     Шахматы #2
наверное решение в лоб но больше ничего в голову не лезет)
вот суть:
имеется 4 матрицы размерности 8х8;
в 1 матрице все нулевые элементы ,значение 2 положение белого короля ,а значение 1 его возможные ходы в клетки
во 2 и других матрицах таким же способом заданные данные для других фигур
а потом просто сравниваем 1 матрицу с другими на совпадение данных .
valeriikozlov
Эксперт C++
4669 / 2495 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
31.12.2009, 01:11     Шахматы #3
В общих чертах решение такое:
создаем один массив a[3][2].Пользователь задает координаты для всех трех фигур. Например король у белых a[0][0]=0, a[0][1]=0 (для a8) и т.п. Одна переменная типа bool (для проверки клеток вокруг белого короля - все они под боем черных или нет). Делаем эту проверку.
Далее делаем проверку самой клетки на которой стоит король белых. И выводим на основании этого результат: если клетка короля под боем и все вокруг клетки тоже то мат и т.п.
Сама проверка клеток, так (на примере клетки верхней левой у белого короля):
(пусть в a[0][]- белый король, a[1][]- черный король, a[2][] - черный слон)
C++
1
2
3
bool fl= true;
if(a[0][0]>0 && a[0][1]>0 && (a[0][0]-a[1][0]>2 || a[0][1]-a[1][1]>2) && a[0][0]!=a[2][0] && a[0][1]!= a[2][1]) 
fl=false; // значит верхняя левая клетка у белого короля не под боем
Yandex
Объявления
31.12.2009, 01:11     Шахматы
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru