问题标签 [sliding-tile-puzzle]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 使用 DFS 解决 8-Puzzle
我正在寻找通过给定初始状态为 8 拼图游戏实现 DFS 和 BFS 的 java 代码:
和目标状态
我需要打印从初始状态到目标状态的解决方案路径(尚未完成)
这是我的代码。到目前为止,我只能实现 DFS。到目前为止,我的程序所做的是,一旦找到目标状态,它就会输出 SUCCESS。然而,它永远不会达到这一点。
有人可以告诉我哪里出错了吗?
sliding-tile-puzzle - 检查是否解决了 15 个滑块难题的逻辑
我一直在编写 15 个滑块拼图的 Javascript 版本,并且能够通过交换 innerHTML 值来模拟图块的“移动”。正如我看到其他人所建议的那样,我也在使用而不是数组。给定我的代码,我将如何输入一种方法来检查难题是否已解决?解决后,我希望它发出“已解决!”的警报。消息,我可以做到。我只是不知道如何让它检查这个谜题是否真的被解决了。
我正在考虑使用条件 if 语句弹出警报(即,如果空白单元格位于第 3 行,单元格 3),但很快就失败了。它也不会检查每一行的 1-15 是否以正确的顺序排列。我最初的拼图是从交换 2 个瓷砖开始的。这是我到目前为止的位置:
java - A* 算法 8 题
我已经阅读了许多 A* 算法的伪代码,但它们都没有真正解释如何输出解决方案。我相信我理解为尚未访问的对象使用优先级队列并为已探索的对象使用 has 表的概念,但是当我通过算法时,我不知道在什么时候打印出结果。有没有人有一个伪代码实际显示如何输出路径?
我真的很感激。我一直在尝试使用算法来实现 8-puzzle 问题
这是我的代码:
出于某种原因,这只是打印一个节点,它甚至是目标。谁能告诉我我错过了什么?
javascript - 15拼图只使靠近空的数字/框可移动
我正在尝试使用 jquery 和 javascript创建一个 15 益智游戏(例如:http: //migo.sixbit.org/puzzles/fifteen/ )。我的代码已经走了很远,但现在我遇到了一个小问题。我的问题是,当我只希望左侧/右侧/下方/上方的框/数字可以移动到空的框/数字时,所有框/数字都是可移动的。
java - 8 谜题 Java 方法
我无法在我的代码中获得我的洗牌方法的逻辑,也无法在我的图像方法idk
中获得解决此问题所需的操作。我几乎尝试了所有东西,但总是有例外。
我的 isFinished() 方法几乎可以工作,但它有一个小问题,当我赢了时,我需要点击一个按钮来获取消息。
以下是我的代码:
洗牌的方法,但我得到一个错误,我无法将我的按钮转换为 int
对于我的图像,我尝试了此代码但没有用
java - 8 拼图图像尺寸不正确
现在它适用于在我的按钮中获取我的图像,但是当我将图像的部分放入按钮时出现问题。
我认为问题出在 for 循环中,我将图像的部分放在按钮中
我的图片 http://i.imgur.com/bUA9zSL.png http://i.imgur.com/Mws2YDI.jpg
有人可以看看我在哪里犯了错误
我认为问题出在这一小段代码中
这是完整的项目代码
java - 8 使用 A* 解谜:重复其祖先状态的子节点
假设我们有一个 8 谜题,空的瓷砖用零标记。目标状态是:
- 1 2 3
- 4 5 6
- 7 8 0
初始状态是:
- 0 1 3
- 8 2 4
- 7 6 5
...我的问题是,A * 树中的孩子是否有可能“复制”或与其祖先具有相同的状态?或者“f(n) = g(h) + h(n)”[其中 g(h) = # of move made... h(n) = manhattan distances of each tile] 已经使这成为不可能并且因此我不需要担心这个?..例如,从初始状态:
- 0 1 3
- 8 2 4
- 7 6 5
然后发生以下状态,从而在 A* 树中产生更多的子节点
(动作:向上)
- 8 1 3
- 0 2 4
- 7 6 5
动作:左
- 8 1 3
- 2 0 4
- 7 6 5
动作:下
- 8 0 3
- 2 1 4
- 7 6 5
动作:对
- 0 8 3
- 2 1 4
- 7 6 5
动作:上
- 2 8 3
- 0 1 4
- 7 6 5
...然后动作:左,下,右,上,左,下,右发生...从而使状态回到初始状态:
- 0 1 3
- 8 2 4
- 7 6 5
这在 8 谜题的 A* 搜索中可能吗?还是 f(n) 会解决这个问题?感谢那些会回答的人,任何帮助将不胜感激!
python - Python中8puzzle的最后一个函数代码
我在 Python 中有这段代码。Swap_blank_tile 函数从旧矩阵创建一个新矩阵。我想从我的第一个矩阵中“列出”一个值。因此我在“swap_blank_tile”函数中使用了matrix2,但“matrix”也受到“swap_blank_tile”函数的影响,但我不想要它。只有 matrix2 必须受到此函数的影响。我无法解决为什么矩阵也会受到此功能的影响。
list - Prolog - 打印列表 2
我有一个关于“谜题 8”的 Prolog 项目。我是这种语言的新手。我有很多疑问,所以我来这里是为了解决至少一个。这是我的代码:
我的疑问是为什么当我使用 printe([H1,H2,H3|Puzzle]) 结果是这个而不是列表的数字:
如果您能帮助我,我将不胜感激!
list - 序言 - 谜题 8
我必须制作一个解决难题 8 的序言程序。这是为了我在学校的编程俱乐部,我只是为了好玩。我是 Prolog 的新手——我很难过。这是我的代码:
现在我必须创建 mov_legal(C1, M, P, C2) --> c2 是从配置 c1 中获得的,移动 M,移动块 P。这是一个预期的结果:
如果您能帮助我,我将不胜感激!