首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >奥赛罗(Reversi)游戏,翻转棋子,Prolog

奥赛罗(Reversi)游戏,翻转棋子,Prolog
EN

Stack Overflow用户
提问于 2010-02-14 13:01:33
回答 2查看 1.6K关注 0票数 3

我正在用Prolog实现奥赛罗游戏。游戏板被表示为列表列表。

我正面临着一个问题,在采取行动后翻转棋子。

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

找到封闭的黑色部分,然后在我的部分之间翻转每一个白色部分。

所以,我有8个独立的谓词来做这件事。

问题是,在我进行移动之后,我会按顺序调用它们,如果这些谓词中的任何一个失败,整个操作就会失败。

有什么办法可以绕过这个问题吗?或者也许我的方法是错误的?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-02-14 22:46:36

正如Cari Norum所建议的,我只是让我的谓词永远不会失败。所以如果其中一个失败了,我就让它返回当前的板子状态。这似乎很管用。

票数 0
EN

Stack Overflow用户

发布于 2010-02-14 21:49:44

也许你应该试着对谓词进行OR运算?

我知道我在大学时为CS课程写了这篇文章,希望你不要用stackoverflow作弊……;)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2260197

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档