Я реализую игру Отелло в Прологе. Игровое поле представлено в виде списка списков.
У меня проблема с переворачиванием фигур после хода.
Моя стратегия состоит в том, чтобы смотреть во всех 8 направлениях от позиции, в которой я разместил свою фигуру (скажем, черную),
и найди черную фигуру и переверни каждую белую фигуру между моими.
Итак, у меня есть 8 отдельных предикатов для этого.
Проблема в том, что я вызываю их последовательно после того, как сделаю ход, и если какой-либо из этих предикатов потерпит неудачу, все это не получится.
Есть ли способ обойти это? Или, может быть, мой подход неверен?