• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    해결됨

null 버그 오류 질문

22.05.31 13:47 작성 조회수 166

0

 
안녕하세요

 전까지 오류 나지 않았던 곳에서 오류가 나서 질문 드립니다. (해결은 했는데  해결 됐는지를 모르겠습니다. )

 

대각선 이동 하기 전까지는 오류 나지 않았는데

대각선을 추가한 이후로

 

CalcPathFromParent 에서 다음과 같은 에러가 납니다.

“System.NullReferenceException: Object reference not set to an instance of an object at Algorithm.Player.CalcPathFromParent“

 

다른 학생의 질문에 대한 선생님의 답변을 참고해서 디버깅을 해보았습니다.

 

아래는 해당부분 제 코드 입니다.

while (parent[y, x].Y != y || parent[y, x].X != x)

            {

                _points.Add(new Pos(y, x));

                y = parent[y, x].Y;

                x = parent[y, x].X;

            }

 

 

x = parent[y, x].X; 에서 에러가 나더라고요

그떄의 x, y값은

x= 6,

y= 22 였습니다.

 

Parent 배열에서 (22,6) 주변 8개의 위치를 봐도 (22,6)은 없더라고요!

어느 부분에서 에러가 나는지는 알게됐는데

왜 나는지를 모르겠습니다.

                

강의를 다시 둘러보니

                _points.Add(new Pos(y, x));

                Pos pos = parent[y, x];

                y = pos.Y;

                x = pos.X;

선생님께서는 이렇게 pos 로 한번 거쳐서 하셨길래 이렇게 고치니까 해결이 됐습니다!

 

Pos 를 한번 거치는 것과 거치지 않는 것에 차이가 있나요?

답변 1

답변을 작성해보세요.

1

  y = parent[y, x].Y;

  x = parent[y, x].X;

 

y가 다른 값으로 바뀌기 때문입니다.

 

Hging님의 프로필

Hging

질문자

2022.05.31

헉 감사합니다!!