Я делаю программу, которая решает игру-головоломку, и она находит все возможные ходы на доске и помещает все возможные получившиеся доски в объект.Затем он находит все возможные ходы для полученных досок и так далее.Объект будет выглядеть примерно так:
{
"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":[{}]
}]
}
Я могу понять, как добавить возможные ходы с доски верхнего уровня, но я не могу понять, как перебрать все получившиеся доски во второйвыровняйте и выясните их возможные ходы, а затем переберите все доски третьего уровня и так далее.Как я могу добавить возможные ходы и пройти объект, используя поиск в ширину?