혹시 저 같은 분이 계실까봐 댓글 다시 남깁니다.
3, 4 번 예시는 아래 코드를 바꾸어 해결되었습니다.
물고기를 움직이는 MoveFish() 에서 빈칸인 경우
map에 물고기가 움직인 것을 업데이트 하지 않았던 것이 문제였습니다.
else if (map[nextY, nextX] == 0) // 빈칸
{
map[nextY, nextX] = i; // 새로 움직인 칸
map[arrFish[i].y, arrFish[i].x] = 0; // 이전에 존재했던 칸
arrFish[i].y = nextY;
arrFish[i].x = nextX;
arrFish[i].dir = nextDir;
break;
}
이렇게 수정했더니 예제는 잘 돌아갑니다.
dbwls6056 1년 전
아무리 봐도 도저히 안보여서 질문드립니다.
3번 예시의 모든 경우의 수를 해보려다가 포기했습니다..
어디가 잘못된 걸까요..?
도움 부탁드립니다 ㅠㅠ
+) 상어가 물고기가 없는 칸 이후로도 방문하는 것 확인 했습니다.