• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

frontX, frontY, rightX, rightY 내 포지션 기준점

21.11.23 21:12 작성 조회수 319

0

        enum Dir

        {

            Up = 0,   // 3

            Left = 1, // 0

            Down = 2, // 1

            Right = 3,// 2

        }

           

 

// 현재 바라보고 있는 방향을 기준으로, 좌표 변화를 나타낸다.

            int[] frontY = new int[] { -1 , 0, 1, 0};

            int[] frontX = new int[] { 0, -1, 0, 1 };

            int[] rightX = new int[] { 1, 0, -1, 0};

            int[] rightY = new int[] { 0, -1, 0, 1 };

 

frontY, frontX의 기준은 이해하였으나 , rightX와 rightY의 값들이 위와 같이 나뉘어진 이유를 알고 싶습니다.

답변 3

·

답변을 작성해보세요.

1

UniUni님의 프로필

UniUni

2023.01.28

저도 이부분에서 막혔었는데 3 by 3 grid를 종이에 그려보고 플레이어를 (1,1) 가운데에 배치하고 보시면 됩니다.

플레이어는 오른쪽 벽부터 짚는 것을 확인하기 때문에 이에 대해 방향에 따른 오른쪽 좌표를 배열로 표현한 것이고

UP[y : 0, x : +1] / LEFT[y : -1, x : 0]

DOWN[y : 0, x : -1] / RIGHT[y : 1, x: 0]

그래서 rightY = {0, -1, 0, 1} / rightX = {1, 0, -1, 0}가 됩니다.

0

Jae Young Park님의 프로필

Jae Young Park

2022.12.09

저도 무슨 말인지 이해가 되지 않아서 한참동안 생각했는데, 우측방향에서 X축 이동, Y축 이동을 의미하는 거였네요.

가령, 우측방향 입장에서는 X축에서 오른쪽으로 이동하는 건 위로 가는 것이니 1이 됩니다.

0

내가 바라보고 있는 방향 기준으로
오른쪽의 좌표를 표시하고 있습니다.