22.12.27.(화) - 소코반

김도익·2022년 12월 28일
0

C#

목록 보기
10/29

게임루프

모든 게임에는 게임 루프가 존재합니다. 왜냐면 프레임을 그려주기 위한 단계를 정의하기 위해서입니다.

게임루프를 다른 말로는 프레임워크라고 할 수 있습니다. 프레임워크란 프로그램의 동작 순서를 정의한 것을 일컫는 것입니다.

프레임워크는 시간이 지날수록 기능이 추가됩니다. 그래서 계속 공부를 해야합니다.

게임프로그래머라면 유니티 엔진과 언리얼 엔진의 프레임워크를 숙지하고 있어야합니다.

게임은 절대 멈춰서는 안된다. 그것을 blocked라고 하는데 나중에 nonblocked로 바꿔줘야합니다.

  • Console.ReadLine();
    // block입니다.
    // 왜냐면 사용자 입력을 받을때까지 멈춰있기 때문입니다

쉽게 주석 다는법(내가 작성한 문장을 다 누르고) : ctrl + k + c
주석헤제하는법(내가 작성한 문장을 다 누르고) : crtl + k + u

key 입력 받을때는 하나의 단독적인 if로 구현해야합니다. else if를 사용하는 것을 권장하지 않습니다. else는 사용합니다. 어떤게 효율성이 좋은지 판단해서 사용합시다. 밑에 예제가 있으니 예제를 보면서 이해력을 높이기 바랍니다.

우리가 흔히 아는 좌표계는 데카르트 좌표계입니다. 화면 좌표계는 좀 다릅니다. 아래 그림을 보고 숙지해야합니다.

  • 우리가 위로 올라가고 싶다면 -를 해야됩니다.
  • 우리가 아래로 내려가고싶다면 +를 하면 됩니다.
  • 화면 좌표계를 인지하도록 합시다!

게임 만들때 Console.Write()을 써야 합니다. WriteLine()은 안됩니다.

커밋 하기 전에 내가 어떤 내용을 커밋할지 확인하고, 검토하고, 더 좋은 코드로 바꿀 방법은 없는지 고민한 다음 커밋하는 습관을 가지는 것이 좋습니다. 이런 습관 하나하나가 실력을 올려줍니다.

게임은 계속해서 회전을 해야합니다. 사용자의 입력을 받지 않더라도 계속해서 회전해야합니다. 이 부분은 게임 루프의 핵심 부분입니다.

소코반 완성품

  • 최적화가 완료 된 상태입니다.

  • 마우스 우측 키를 누릅니다.























profile
고급 개발자가 되고 싶어요!

0개의 댓글