奥赛罗(黑白棋)比赛,翻转棋子,Prolog

时间:2010-02-14 05:01:33

标签: prolog

我正在Prolog中实施奥赛罗游戏。游戏板表示为列表列表。

我在搬家后面临翻转件的问题。

我的策略是从我放置作品的位置(比如黑色)中查看所有8个方向,

找到封闭的黑色部分并翻转我的作品之间的每一块白色。

所以,我有8个单独的谓词来做到这一点。

问题是我在移动后按顺序调用它们,如果这些谓词中的任何一个失败,整个事情都会失败。

有没有办法解决这个问题?或者我的做法可能是错的?

2 个答案:

答案 0 :(得分:0)

也许你应该尝试OR谓词?

我知道我在大学学习时为CS课程写过这篇文章,我希望你不要使用stackoverflow来欺骗你的作业......;)

答案 1 :(得分:0)

正如Cari Norum所说,我只是让我的谓词永远不会失败。因此,如果一个失败,我只是让它返回当前的板状态。这似乎有效。