저는 퍼즐 게임을 해결하는 프로그램을 만들고 있으며, 가능한 모든 동작을 보드에서 찾아서 가능한 모든 결과 보드를 객체에 넣습니다. 그런 다음 결과 보드에 대한 가능한 모든 동작을 찾습니다. 목적은 같은 것을 볼 것이다 :처음으로 객체를 탐색합니다.
{
"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":[{}]
}]
}
나는 최상위 보드에서 가능한 동작을 추가하는 방법을 알아낼 수 있습니다,하지만 두 번째 수준에있는 모든 결과 보드를 통해 방법 루프를 알아낼 수 없으며, 가능한 모든 동작을 파악한 다음 모든 세 번째 레벨 보드를 반복합니다. 가능한 움직임을 추가하고 너비 우선 탐색을 사용하여 객체를 트래버스 할 수 있습니까?
여기에서 "재귀"및 "재귀 함수"에 대한 검색을 수행하는 것이 좋으며 일반적으로 웹은 풍부한 정보 여야합니다. – prodigitalson
재귀에 익숙합니까? – climbage