Игра Отелло (Реверси), переворачивание фигур, Пролог - PullRequest
3 голосов
/ 14 февраля 2010

Я реализую игру Отелло в Прологе. Игровое поле представлено в виде списка списков.

У меня проблема с переворачиванием фигур после хода.

Моя стратегия состоит в том, чтобы смотреть во всех 8 направлениях от позиции, в которой я разместил свою фигуру (скажем, черную),

и найди черную фигуру и переверни каждую белую фигуру между моими.

Итак, у меня есть 8 отдельных предикатов для этого.

Проблема в том, что я вызываю их последовательно после того, как сделаю ход, и если какой-либо из этих предикатов потерпит неудачу, все это не получится.

Есть ли способ обойти это? Или, может быть, мой подход неверен?

Ответы [ 2 ]

0 голосов
/ 14 февраля 2010

Как подсказывает Кари Норум, я просто делаю свои предикаты никогда не ошибающимися. Поэтому, если что-то не получается, я просто заставляю его возвращать текущее состояние платы. Кажется, это работает.

0 голосов
/ 14 февраля 2010

Может быть, вам следует попробовать ИЛИ предикаты?

Я знаю, что написал это для класса CS, когда учился в универе. Надеюсь, вы не используете stackoverflow для обмана при выполнении своих заданий ...;)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...