본문 바로가기

코딩 이야기

축구공을 막아라! 스크래치로 게임 만들기

안녕하세요. 코딩이모입니다. ^^


이제 일주일 후면 2018 FIFA 월드컵이 개막되네요. 

월드컵이 개막하면 한달 정도 치맥과 싸커싸커싸커가 함께하는 박진감 넘치는 여름을 보낼 수 있겠네요. ^o^

아~ 잼껬따.! 



오늘은 월드컵을 고대하는 마음으로 심플한 축구공을 막아라 게임을 만들어 보았습니다.


먼저 게임 화면은 아래 그림과 같습니다.



여러분 핑퐁 게임 많이 해보셨죠? 원리가 똑같습니다.


저기 축구공이 골키퍼(코딩이모)나 벽에 닿으면 튕기고,

주황색 축구골대에 닿으면 게임오버 되는 아주 심플한 게임이예요.


그럼 제가 어떻게 이 게임을 만들었는지 설명드릴게요.

생각보다 굉장히 간단하니 님들도 아이들과 함께 만들어 보세요. ^^


그럼 게임 코딩에 들어가기 이전에 각각(오브젝트)의 입장에서 생각해 봅시다.

*** 참고로 스크래치 프로그램에서 모든 오브젝트는 스프라이트라고 불립니다. 


1. 무대 (배경화면)

   - 배경화면인 무대는 딱히 할 것은 아무것도 없습니다. 단지 배경음악이 들어가면 좀더 신나므로 음악 한 곡 틀어주겠습니다. ^^

*** 스크래치에서 배경화면은 "무대" 라고 불립니다.


코딩 블럭 화면은 다음과 같습니다.



*** 스크래치에서 녹색 깃발은 프로그램을 실행시키는 버튼입니다.



2. 축구공  

   - 축구공의 입장에서 생각해 보면, 야는 벽에 닿으면 방향을 틀어서 계속 날아다녀야 합니다.

   - 골키퍼에 닿아도 방향을 틀어서 계속 날아다녀야 합니다.

   - 주황색 골대에 닿으면 "게임오버~!!!" 라는 소리를 재생시킨 후, 모든 것을 멈춥니다.




게임이 시작될때의 축구공 위치값을 왼쪽 상단으로 세팅한 후, 120도 방향으로 대각선으로 내려오게 합니다.

그리고 해당 방향으로 10만큼 무한대로 이동하며

벽에 닿으면 튕기고

골키퍼(코딩이모)에 닿으면 방향을 틀어서 계속 이동하게 합니다. 이때 방향 각도는 항상 정해져 있으면 재미가 없으므로 -70에서 70사이의 난수 (랜덤값)이 들어가게 하면 재밌습니다.

그리고 주황색(즉 골대) 에 닿으면 슛이 된 것이므로 게임오버라는 녹음파일을 재생한 후 게임을 멈춥니다.



3. 골키퍼 (코딩이모)

   - 골키퍼 입장에서 보면, 단순히 왼쪽 오른쪽으로 움직이기만 하면 됩니다.

   - 움직일때는 마우스의 X 좌표값만 따라다니면 됩니다. (위,아래로 다닐 필요는 없으므로 Y좌표는 고정합니다.)



골키퍼는 마우스를 따라다니되, 위 아래로는 움직이지 않고 고정이 되어야 하므로 Y값은 -7로 고정했습니다.



4. 주황색 골대

   - 골대 입장에서는 아무것도 할 것이 없습니다. 단지 골키퍼보다 앞 레이어로 올라와야 한다는것 밖에는요.

    



코딩블럭을 넣는 작업이 끝났습니다.


그럼 직접 게임을 해볼까요? ^o^



이 심플한 게임에 여러가지 룰을 가미해서 조금더 복잡하고 재미있게 만들어도 좋을 것 같습니다.


그럼 오늘 코딩 프로젝트는 여기까지 할게요.^^


편안한 오후되세요.