Помощь - Поиск - Пользователи - Календарь
Полная версия: шахматы на паскале
Форум «Всё о Паскале» > Pascal, Object Pascal > Написание игр
apple
[font=Comic Sans Ms]

такая фишка: определить состояние шахматной доски (мат, шах или ничего),
расставив фигуры (произвольно). Как делать, не представляю, а очень надо. unsure.gif
Подскажите хотя идею, пожалата.
Noof
на чем пишешь? паскаль?
Zxzc
Noof, в заголовке ясно написано. Читай внимательно, прежде чем отвечать! dry.gif

По задаче: Каждая фигура бьет особым образом (по диагонали, вертикали, буквой ЗЮ...). Значит для произвольной фигуры мы можем вычислить по формуле, бьет ли фигура данную клетку или нет. Такие вещи, как шах и мат связаны с королем, но чтобы не просматривать все фигуры и соотносить их с клеткой, на которой сидит король сделаем наоборот: из клетки короля произведем ВСЕ возможные сравнения, и если на какой либо из проверенных клеток есть фигура И ЭТА ФИГУРА - совпадает по типу с той комбинацией, которой ты пользовался, значит ШАХ. Т.е., например, если ты проверял ходы коня, и нашел в одной из клеток пешку, а не коня, то шаха нет.
Мат: Проверяются клетка короля и 8 по периметру.
Пат: Проверяются клетки по периметру.

P.S. Не получится вывести формулы - говори, подскажу... wink.gif
Noof
пхак! не просмотрел. а ответ уже вроде нормальный Zxzc.
ок.
Malice
Цитата(Zxzc @ 21.05.2006 18:11) *

Мат: Проверяются клетка короля и 8 по периметру.


Мне кажется этого недостаточно: король может быть под ударом и не иметь возможности отойти, но другая фигура своим ходом может закрыть короля или даже взять атакующую фигуру smile.gif
Zxzc
Упс! Я об этом как-то не подумал... smile.gif
Тогда есть некоторые изменения:
Проверяем атакующую фигуру также как и короля+просмотр линии атаки у пешеходных фигур (всех,кроме коня).
И зачем это вообще нужно... Проверяют обычно динамически, после установки фигуры... Но задача - есть задача...
SKVOZNJAK
smile.gif раз нельзя ходить нужно проверять возможные ходы lol.gif Составление списка возможных ходов, процедуры на каждый тип фигур.... Килобайт на 30, не меньше.
apple
good.gif Спасибо, Люди! (Хоть и поздновато я с этим)
Bill Gates
Если не лень разбирать чужие исходники, то посмотри примеры, прилагающиеся к Турбо Паскаль 7.0. В папке ?:\BP\EXAMPLES\COMMON\CHESS\OWL лежат исходники основных модулей полноценной программы для игры в шахматы. Т.е., там есть и процедура, находящая значение утверждений "шах" и "мат". smile.gif
Гость
Шахматы, шахматы, почему в нете их практически нет??
Мне, например, нужна сама игра....и нигде не найти, просто жесть
Bard
точно почему нет пасовских шахмат в инете...мне очень интересно посмотреть на такие шахматы но конечно чтобы по уровням
volvo
А что, предыдущие посты уже не надо смотреть? Написано же, где лежат примеры, после установки полной версии Борланд Паскаля - библиотека OWL ...
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.