【发布时间】:2016-01-27 17:03:03
【问题描述】:
我的作业似乎超出了我的课堂范围(我这么说是因为他们几乎没有教我们任何关于 prolog 的知识),我必须编写一个 prolog 程序来解决 android 上的“Flow Free”游戏。在作业中,它被称为 Numberlink。我可以在一小时内用 C++ 解决这个问题,但是因为我对 prolog 不太熟悉,所以给我带来了麻烦。这是我想做的:
- 制作一个包含布尔值的列表,以指示它是否已被访问或使用。
- 递归搜索从给定起点到的所有可能路径 使用广度优先搜索找到最短的终点 路径。
- 我猜从那里去。
我的尝试包括在网上搜索如何制作列表。当然 prolog 在任何地方都没有很好地记录,所以我空白并放弃了。一位朋友告诉我使用 maplist,我不明白如何使用它来制作包含我需要的列表。
提前致谢。
编辑: 感谢您的链接,但我希望制作一个 2D 列表来代表正在播放的棋盘。函数如下所示:
makeList(size, list):-
其中 size 是一个整数,表示正方形列表 ex 中一维的大小。 (7x7)。
【问题讨论】:
-
当然,prolog 在任何地方都没有很好地记录,真的吗?
-
看起来您似乎没有走上正轨。 Prolog 是一种声明性语言。你应该考虑定义每个块之间的关系,然后点击解决按钮。
标签: prolog