개발일지/스파르타 코딩클럽 부트캠프

[TIL] 3주차 1일 C# 콘솔 게임 팀 프로젝트

치치베베 2024. 4. 29. 21:32

오늘 일정

  • 배열과 컬렉션 복습
  • 깃과 깃허브 복습
  • 팀프로젝트 설계, 구상
  • 역할 분담
  • 개인학습

오늘 발생한 문제

 

개인프로젝트와 팀프로젝트 구상을 하다가

개인학습이 조금 밀려서 이제 스네이크 게임을 만들게 되었는데

감이 오지않는 부분이 꽤 많았다.

 

콘솔에서 방향키에 따른 선택지

 

일단 막막했던게 유니티가 아닌

C# 콘솔에서는 키 입력을 받는거 까진 알겠는데

어떤 식으로 움직여야 할까 생각하면서

검색을 많이 해보고 알게됐다.

 

switch (key)
                {
                    case ConsoleKey.UpArrow:
                        snake.direction = Direction.UP;
                        break;
                    case ConsoleKey.DownArrow:
                        snake.direction = Direction.DOWN;
                        break;
                    case ConsoleKey.LeftArrow:
                        snake.direction = Direction.LEFT;
                        break;
                    case ConsoleKey.RightArrow:
                        snake.direction = Direction.RIGHT;
                        break;
                }

위 코드가 해설에 나와있기도 하고

구글에서도 여러 개발자들이 저 방법을 사용했는데

Console.ReadKey를 이용해서 키 값을 받고

if문으로 키 입력이 있는 경우에만 발생하게 한다.

입력하는 방향키에 따라서 스위치문이 기능한다.

 

뱀이 이동하는걸 표현하는 방식

 

뱀이 이동하는걸 표현하는데 시간이 꽤 걸렸는데

리스트를 이용해서 머리쪽에 Add하면서 꼬리쪽을 Remove 하는 방식을 사용했다.

 

객체지향을 너무 못하는 점

 

일단 객체지향을 얘기하기 전에 이런 식의 코딩을 해본 적이 없어서

너무 계획?적이지 못한 것 같다는 느낌을 받았다.

일단 처음에 너무 뭘 해야할지 모르는 부분이 강하고 해서

작업을 시작하기 전에 구상이 중요한걸 알았고

내가 코드를 짜보는 연습도 많이 하지만 그 전에

남의 코드를 많이 보고 따라해보려고 한다.