我正在制作一个解决谜题游戏的程序,它会在棋盘上找到所有可能的移动,并将所有可能的结果存储在一个对象中。然后,它会为这些结果寻找所有可能的移动,以此类推。该对象将类似于以下内容:
{
"board": {
"starts": [[0,0],[0,3]],
"blocks": [[3,0],[3,3]],
"ends": [[2,4]]
},
"possibleMoves": [
{
"board": {
"starts": [[0,0],[2,3]],
"blocks": [[3,0],[3,3]],
"ends": [[2,4]]
},
"possibleMoves":[
{
"board": {},
"possibleMoves": [{}]
}
]
},
{
"board": {
"starts": [[0,3]],
"blocks": [[3,0],[3,3]],
"ends": [[2,4]]
},
"possibleMoves":[{}]
}]
}
我可以找出如何添加顶层棋盘的可能移动,但我无法找出如何遍历第二级中所有结果棋盘并找出它们的可能移动,然后遍历所有第三级棋盘等。我该如何添加可能的移动,并使用广度优先搜索遍历对象?