我正在Prolog中实施奥赛罗游戏。游戏板表示为列表列表。
我在搬家后面临翻转件的问题。
我的策略是从我放置作品的位置(比如黑色)中查看所有8个方向,
找到封闭的黑色部分并翻转我的作品之间的每一块白色。
所以,我有8个单独的谓词来做到这一点。
问题是我在移动后按顺序调用它们,如果这些谓词中的任何一个失败,整个事情都会失败。
有没有办法解决这个问题?或者我的做法可能是错的?
答案 0 :(得分:0)
也许你应该尝试OR谓词?
我知道我在大学学习时为CS课程写过这篇文章,我希望你不要使用stackoverflow来欺骗你的作业......;)
答案 1 :(得分:0)
正如Cari Norum所说,我只是让我的谓词永远不会失败。因此,如果一个失败,我只是让它返回当前的板状态。这似乎有效。