d라이브러리









[게임 디자인 씽킹] 컴퓨터와 대결하는 규칙을 설계하라!

이번 호에서는 게임 프로그래밍을 배울 때 가장 처음 만들어 보는 게임인 ‘퐁(Pong)’으로 
좌표를 이용해 물체의 위치와 움직임을 설계하는 방법을 알아봅시다!

 

 

퐁은 1972년 미국 게임 개발사인 ‘아타리’에서 출시한 게임입니다. 탁구를 소재로 한 이 게임은 두 명이서 탁구채를 대신하는 직사각형 모양의 판을 상하로 움직여 공을 받아넘기며 게임을 진행합니다. 

 

 1단계  좌표로 게임 화면 나타내기


우리가 제작할 퐁에서는 왼쪽 판은 키보드의 화살표 키로 움직이고 오른쪽 판은 컴퓨터가 코드에 따라 움직임을 결정하도록 만들어 보겠습니다. 먼저 왼쪽과 오른쪽에 직사각형 모양의 판을 배치하고 가운데에 원 형태의 공을 배치합니다. 이때 판과 공의 위치는 x축과 y축으로 이뤄진 좌표평면에서 위치를 나타내는 방법인 (x, y)를 이용해 정의합니다. 판과 공은 스크래치의 그리기 기능을 이용해서 만듭니다. 또 왼쪽 판은 위와 아래 방향의 화살표 키를 누를 때 각각 위, 아래로 움직이도록 코딩합니다. 

 

 2단계  움직이는 공 정의하기


공은 정해진 속도와 방향으로 움직입니다. 만약 판이나 화면 경계면의 위나 아래에 부딪히면 튕겨나오게 합니다. 만약 공이 화면의 왼쪽 또는 오른쪽 경계면에 부딪히면 게임을 종료합니다. 

 


 3단계  공을 따라 움직이는 판 정의하기


마지막으로 오른쪽 판은 코드가 움직임을 결정하도록 만들어 보겠습니다. 먼저 사람이 게임을 할 경우, 어떤 기준으로 판을 위 또는 아래로 움직이는지 생각해 봅시다. 아마도 다가오는 공의 속도와 이동 각도를 기준으로 판과의 상대적인 위치를 파악해 위 또는 아래로 움직일 겁니다.


같은 방식으로 오른쪽 판은 공과의 상대적인 위치에 따라 위치를 결정하도록 코딩하겠습니다. 공이 화면 중앙을 지나 오른쪽으로 넘어오면 공의 


y좌푯값과 판의 y좌푯값을 비교합니다. 만약 공이 오른쪽 판보다 밑에 있다면 판을 아래로 내리고 그렇지 않다면 판을 위로 올립니다. 


이번에는 한 개의 공을 사용했는데요, 공 2개를 사용한다면 오른쪽 판의 움직임을 어떻게 코딩하면 될까요? 여러분이 직접 오른쪽 판의 움직임을 코딩해보기 바랍니다. 우수한 결과물을 올린 분들께 게임 관련 선물을 드립니다! 지금 바로 참여하세요! 

 

이 기사의 내용이 궁금하신가요?

기사 전문을 보시려면500(500원)이 필요합니다.

2021년 02월 수학동아 정보

  • 오규환
  • 진행

    최영준 기자 기자

🎓️ 진로 추천

  • 컴퓨터공학
  • 소프트웨어공학
  • 게임공학
이 기사를 읽은 분이 본
다른 인기기사는?