미로에 아무런 액세스 권한이없는 미로 (2d)에 플레이어가 있습니다 (그래서 실제적으로 실용적이지 않습니다.) 플레이어가 가서 거기에 있는지를 확인할 수 있습니다. 당신 앞 벽입니다. 수집 할 수있는 모든 포크에서 "가장 올바른"경로를 선택하는 방법을 사용하고 있습니다. 다시 산란 방법을 찾으려면 모든 포크에서 "가장 왼쪽"경로를 선택하고 이것이 산란 여부를 확인할 수 있습니다 (가능한 경우). 그러나 나는 내가 걸은 길을 알고있다. (목록을 만들고 내가 한 모든 단계를 추가했다. (앞으로 나아가고, 왼쪽으로 돌고, 오른쪽으로 돌린다.)이 기록을 뒤로 걷기 쉽다. 그러나 미로를 빠져 나가는 동안 나는 입구가 하나 뿐인 완전히 비어있는 부분을 살펴 보았습니다. 그리고 이것은 운동 기록에 기록되어 있습니다. 그래서 돌아가는 동안 나는이 부분을 다시 걸을 것이다. 나는 다시 동일한 움직임이 거꾸로 된 것을 어떻게 든 찾을 수 있습니까? 고정 된 패턴을 찾고 "rotate180; go; rotated180; go"또는 "rotated360"(내부적으로 네 번 회전 된 90)과 같이 제거했습니다. 하지만 어떻게 해결할 수 있습니까?경로를 따르는 미로가 쓸모없는 경로를 잘라 냈습니다.
0
A
답변
1
내가 왜 돌아갈 필요가 있는지 완전히 명확하지 않습니다. 시작한 곳으로 자신의 위치를 옮길 수는 없습니까?
어쨌든 운동 이외에 목록의 각 위치를 기록하면 되돌아 갈 때 입력하려는 정사각형 (반환)이 목록에 더 가까이에 있는지 확인할 수 있습니다 (원본에 더 가깝게 나타남).), 그럴 경우 목록의 해당 부분으로 건너 뛰십시오. 그러면 미로의 빈 섹션으로 이동 한 우회 도로를 건너 뛸 수 있습니다.
좌표가 없습니다. 그러나 나는 상대적인 것들을 계산할 수 있었다. 나는 그것을 시도 할 것이다. 나는 플레이어의 명시적인 위치가 아니라 움직임을 제어합니다. 돌아가서 수집품을 떨어 뜨려야합니다. – JoshuaBehrens
상대 좌표가 갈 길입니다. –
상대 좌표로했습니다. 스폰는 벡터 0,0이고 플레이어가 찾고있는 벡터가 있습니다. 구현하기는 꽤 쉬웠지만 아이디어를 얻지는 못했습니다 ... 어떻게 든. unnessescary 경로를 제거하기 위해 점의 첫 번째 점과 마지막 점 사이의 스팬을 제거합니다. – JoshuaBehrens