【发布时间】:2015-04-10 04:32:20
【问题描述】:
我正在阅读这些 prolog 教程,我觉得我对他们使用的一些概念有了不错的掌握,但我在尝试实现类似网格的系统时遇到了问题。
我知道我可以用一个列表来设置它,但到目前为止,我对如何实现它还一无所知,是否有资源或某种类型的源代码可以指导我完成网格prolog中的系统?
我想从头开始制作的网格系统是 4x4,打印出来应该是这样的
(4,1) (4,2) (4,3) (4,4)
(3,1) (3,2) (3,3) (3,4)
(2,1) (2,2) (2,3) (2,4)
(1,1) (1,2) (1,3) (1,4)
对于cmets
我需要在网格中使用它的原因是因为我开始为我正在创建的 wumpus 世界构建一个类似迷宫的结构,我认为这是我应该采用的方法,但我在创建一个满足我想要的这种结构的列表类型。
这是我可以分配一个正方形(网格的一块),例如 (3,2),在我希望我的代理遍历此网格的任何正方形中作为一个坑或 wumpus 或金子。
如果这是处理此问题的错误方法,我会很感激为什么不是这样,并希望得到一些关于我需要集中精力的反馈。
如果这个错误,我将不胜感激任何反馈。
【问题讨论】:
-
那个“网格”应该有什么形式?您想要一个表示网格的数据结构,还是希望通过副作用输出一个网格?
-
@repeat 的问题很有道理:你打算用网格做什么?为什么需要这样打印出来?你真的需要这样打印,还是只需要一个布局类似的数据结构?
-
这是我在网上找到的 wumpus 世界示例,我从未做过这样的逻辑编程,所以我试图以某种方式进行设置,以便我可以分配每个方格(坐标) 到一个坑、wumpus 或金子,给出这些坐标的事实。然后我需要我的代理遍历这些列表/正方形/坐标以在需要时杀死 wumpus,并取回黄金然后返回 1,1(他总是从那里开始)。
-
您唯一显示的是标准 x、y 网格坐标的通用显示,用于 4x4 网格,原点位于左下角。我不确定您所指的 approach 是什么。我没有看到任何 Prolog 代码,也没有看到您当前如何认为您正在确定给定位置是否有坑、wumpus 或金子。也许澄清一点?你查过 Prolog 列表结构吗?它是 Prolog 中处理事情的主要结构。
-
之前的 cmets 询问了这个网格将用于什么的上下文,鉴于我遇到的问题的范围,我一直在尝试像列表一样实现它,但到目前为止出现错误,我真的不明白创建这样一个网格需要使用的操作的语法,这就是我问的原因。我无意寻求帮助,包括稍后会出现的附加内容(如 wumpus 位置和坑所在的位置),我只想设置一个网格以便开始操作它,我基本上需要创建一个结构来乱来。
标签: list grid prolog wumpus-world