본문 바로가기
스크래치/스크래치 게임예제

초보예제강좌: 간단 똥피하기 만들기

by 할거없네 2018. 8. 20.

게임을 만들때 어떻게 만들어야 하나 막막하신 분들을 위해서

기본적이고 쉬운 게임을 대충 어떻게 만드는지 기본적인 방법을 알려주기 위해서

간단한 게임 만들기 강좌를 만들어 볼까 합니다.


가장 처음으로, 만들기도 쉽고 직관적으로도 어떻게 만들어야 할지 상상도 하기 쉬운 '똥피하기' 게임입니다.



대충 만들었습니다. 똥이 와르르 쏟아지면 마우스로 고양이를 움직여 피하면 됩니다.

참 간단한 게임이죠?

이정도는 대충 보면 머리속에 어떻게 만들어야 할지 상상이 가신다면, 코딩지식이 높은 것입니다 ^^


대충 역할을 보면 4개정도 나눌 수 있겠네요.



일단 게임의 순서를 정리해줄 '스타트'가 있습니다. 마우스를 누르면 게임이 시작되도록 해야겠습니다.

'플레이어'는 마우스따라 움직이고 똥에 맞았는지 확인해줍니다.

'스코어'는 시간에 따라 점수가 증가하고, 재시작하면 초기화 해줍니다.

'똥'은 떨어지도록 되어 있으며, 시간에 따라서 점점 많이 떨어집니다.









현재 게임의 상태에 따라서 어떻게 할지 결정해줍니다.

상태는 '시작'이라는 변수가 0, 1, 2으로 현재 게임이 대기중인가, 시작을 눌렀는가, 게임중인가를 구분하도록 되어 있습니다.

처음에 0인 상태에서 마우스를 누르면 1이되고 게임이 준비됩니다.

게임이 시작되면 2가 된 후에 사망시 3으로 변한 후 리셋되어 다시 게임 시작할때까지 대기합니다.


그러니까 '시작'이라는 변수를 통해서 현재 게임의 상태를 알 수 있도록 한 것입니다.








플레이어는 단순히 마우스를 따라 움직이는데, '똥'스프라이트에 닿았는지 계속 감지를 합니다.

만약에 똥에 닿게 된다면 게임을 멈추고 점수를 확인하도록 합니다.






스코어는 '타이머'를 사용하여 점수를 계속적으로 0.1씩 늘어나게 되어 있습니다.

타이머를 사용해야 터보모드를 통한 점수 획득을 방지가능합니다.





 

똥은 '복제하기'를 통해서 자가복제를 합니다.

복제된 똥은 랜덤한 위치에서 계속적으로 떨어집니다.

여기서 '가속도'를 사용함으로써 똥이 나오자마자 빠른 속도로 떨어지지 않도록 합니다. 

그래야 고양이가 똥이 나온 위치를 먼저 보고 피할 수 있으니까요.

복제본이 사라지는 조건은 2개인데, 땅에 떨어졌는지, 게임이 종료됬는지로 판단합니다.

땅어 떨어진다면 y좌표로 확인하고, 게임의 종료는 '시작'변수의 값으로 알 수 있습니다.




예제:


https://scratch.mit.edu/projects/236508769/

























댓글