인프런 커뮤니티 질문&답변

강동훈님의 프로필 이미지

작성한 질문수

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part2: 자료구조와 알고리즘

맵 만들기

랜더링 관련 질문입니다.

해결된 질문

20.12.26 20:31 작성

·

167

0

질문 내용

우선 테두리가 빨갛게 나오도록 하는 건 문제가 없었습니다. 거기서 조금 x,y 에 대한 확인을 해보고 싶어서 [3,4] 지점의 녹색 점을 빨갛게 출력해보고 싶기 위해 코드를 수정했습니다.

그런데 해당 위치 점이 빨갛게 나오도록 하는 건 성공했는데 문제는 해당 빨강점 이후에 한 줄을 띄고 점을 찍는 현상이 발생했습니다. 이와 관련된 이유가 궁금해 질문남깁니다.

+추가 질문

_tile[x,y] 가 아니라 _tile[y,x]로 하는 이유가 있을까요?

작성 코드 

public void Rander()

        {

            ConsoleColor prevColor = Console.ForegroundColor;

            for (int x = 0; x < _size; x++)

            {

                for (int y = 0; y < _size; y++)

                {

                    if (x == 3 && y == 4)

                    {

                        Console.ForegroundColor = ConsoleColor.Red;

                        Console.WriteLine(CIRCLE);

                    }

                    else

                    {

                        Console.ForegroundColor = GetTileColoer(_tile[x, y]);

                        Console.Write(CIRCLE);

                    }

                }

                Console.WriteLine();

            }

            Console.ForegroundColor = prevColor;

        }

답변 1

0

Rookiss님의 프로필 이미지
Rookiss
지식공유자

2020. 12. 26. 20:36

Console.WriteLine은 출력 후 한줄을 개행하는 기능이고
그냥 원하는 것만 출력하시려면 Console.Write << 으로 하셔야 합니다.

y,x나 x, y나 똑같으니 원하는 순서대로 하시면 됩니다.
전 C++에서 arr[y][x]로 하던 습관 때문에 y,x가 더 편해서 그렇게 한겁니다.