我做了一个益智游戏,玩家需要将方块滑动到目标节点,规则相对简单:
- 每次只能移动一个滑块
- 目标是将滑块移至目标节点,不需要所有滑块都移动到目标节点
- 如果滑块滑在冰上,则会一直向那个方向移动,直到被阻止或移动到其他位置
- 如果滑块碰到实体物体(如混凝土、其他方块),则会停下并可以再次移动(显然不能移动到混凝土中)
- 如果滑块滑到木材上,则会停在木材上并可继续移动
- 如果滑块滑到目标节点上,则无法再次移动
- 某些方块可以移动滑块,例如箭头方块可以推动滑块朝特定方向移动
- 有开关方块可以打开“门”,可移动到其上以打开和关闭“门”
- 按钮方块的操作类似于开关,但必须在其上放置方块才能激活“门”
- 当“门”关闭时,它们表现得像实体物体一样。当“门”打开时,它们就像冰一样
以上是规则,以下是游戏截图:
玩家需要移动方块使其相互碰撞以解决谜题。
游戏接近解决状态。请注意,方块碰到另一个方块后停了下来。
这里还有一个包含推动方块机制的谜题:
如果我们将右上角的方块向下移动,则会发生以下情况:
如您所见,当方块碰到箭头方块时,它被向左移动并停在木块上面。
我想编写一种AI解决这些谜题——我认为这将是某种深度优先搜索,但我不知道从哪里开始。任何关于实现这个想法的指导都是很好的!