在国际象棋中,游戏有可能在愚人伴侣的作用下进行4次移动(每次2次)后结束。
您的目标是找到傻瓜的哈尔玛伴侣:哈尔玛(Halma)的2人游戏,可将回合数减至最少。
有超过10个56个董事会状态,而且我已经看到分支系数超过1000,因此没有人会找到最佳解决方案。相反,您正在尝试找到最好的解决方案。
您应该提交一个动作列表,以及用于生成这些动作的任何代码。
游戏说明
哈尔玛类似于中国跳棋,但在16 * 16的正方形板上玩。
最初,董事会如下所示:
游戏的目标是将所有棋子移到对手棋子的开始位置。
在玩家回合中,他/她可以:
转弯
将他/她的一件作品移到相邻的空白处。相邻的空格包括对角线。
取他/她的一块,然后执行以下任意多次:将一块跳到相邻的一块上,将其降落在与跳过的一块相对的空间上。
这是说明第二种移动方式的示例。
规则
提交导致游戏结束的合法举动列表。
提交用于生成列表的任何代码。
如果您从其他人的代码中获得更好的结果,请将该结果发布在评论中,或使用新结果编辑他们的帖子。
每次移动必须要么None
是通过转弯,要么(x1,y1,x2,y2)
是移动一个棋子,其中要移动的棋子(x1,y1)
的坐标是该棋子(x2,y2)
的目的地,并且是棋子的目的地(对于跳跃移动,请忽略中间坐标)。坐标从(0,0)
左上角开始。x坐标向右增加,y坐标向下增加。动作应以换行符分隔。
您可以使用此python脚本来验证您的举动。使用python halma_verify.py < file
来验证移动file
。
最短名单获胜。
6
动作的一些技术性讨论以及47种动作的解决方案:arxiv.org/pdf/0803.1245.pdf
—
SeanC