• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    해결됨

랜더링 관련 질문입니다.

20.12.26 20:31 작성 조회수 134

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

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

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