我正在尝试使用深度优先搜索算法在Prolog中解决Sokoban谜题,但是我无法深入搜索解决方案树。我只能探索第一层。
所有源代码都在Github(链接到提问时的修订版),所以请随意探索和测试它们。我将规则分成了几个文件:
任何帮助/建议都将不胜感激,我一直在尝试但没有改进。
谢谢!
PS.- 噢!我正在使用SWI-Prolog,以防有所不同。
PS.- 我真的很菜,在Prolog中可能会遇到一些明显的错误,但这就是我在这里询问的原因。
所有源代码都在Github(链接到提问时的修订版),所以请随意探索和测试它们。我将规则分成了几个文件:
- board.pl:包含与棋盘相关的规则:方向、邻域等。
- game.pl:此文件规定了有关移动、有效位置等的规则。
- level1.pl:为示例游戏定义了棋盘、箱子位置和解决方案方块。
- sokoban.pl:试图实现dfs: (
任何帮助/建议都将不胜感激,我一直在尝试但没有改进。
谢谢!
PS.- 噢!我正在使用SWI-Prolog,以防有所不同。
PS.- 我真的很菜,在Prolog中可能会遇到一些明显的错误,但这就是我在这里询问的原因。