강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của m541720860626
m541720860626

câu hỏi đã được viết

[Loạt bài phát triển game MMORPG thực hiện bằng C# và Unity] Phần 2: Cấu trúc dữ liệu và thuật toán

quy tắc bàn tay phải

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

Viết

·

565

1

        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의 값들이 위와 같이 나뉘어진 이유를 알고 싶습니다.

C#

Câu trả lời 3

2

저도 이부분에서 막혔었는데 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

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

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

0

Rookiss님의 프로필 이미지
Rookiss
Người chia sẻ kiến thức

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

Hình ảnh hồ sơ của m541720860626
m541720860626

câu hỏi đã được viết

Đặt câu hỏi