《推箱子》游戏中有墙壁、地板、目标点三类不会发生变动的游戏地图数据,以及箱子、推箱子的小人两种可变的对象。关卡过滤器:输入一个生成好且有解的关卡,判断其解状态空间与最小求解步数是否满足需求。我们采用广度优先搜索的算法来求解推箱子谜题。由于游戏中可变的单位只有箱子和小人的位置,所以状态节点只需要记录箱子与小人的位置即可。以下是采用我们的关卡自动生成器生成的一些推箱子关卡。