[소프트웨어야 놀자]핑퐁게임 만들기

[소프트웨어야 놀자]핑퐁게임 만들기

오늘 만들 작품이 있는 페이지에 접속하고(https://goo.gl/F7ym8q) 화면 중앙의 시작하기 버튼을 클릭해요. 게임이 시작되면 초시계가 동작해요. 공은 한 방향으로 계속 이동하다가 화면 끝에 닿으면 방향을 바꿔서 이동해요. 마우스를 움직이면 판이 움직여요.

내려오는 공을 판으로 받아 볼게요. 어떤 일이 일어나나요? 점수가 10점씩 오르고, 튕기는 방향이 무작위로 정해져요. 이번에는 공이 바닥에 떨어지게 하거나 15초 동안 게임을 해 볼게요. 어떤 일이 일어나나요? 모든 코드가 멈추며 게임이 끝나요.

이제 이 게임을 어떻게 만드는지 알아볼까요? [강의 학습하기] 버튼을 클릭해요.

먼저 게임이 시작되면 초시계가 동작하고, 공이 이동방향으로 계속 가다가 화면 끝에 닿으면 튕기게 해 볼게요. 공 오브젝트를 클릭하고 다음과 같이 코드를 만들어요.

[소프트웨어야 놀자]핑퐁게임 만들기

[시작하기]를 누르면 공이 하늘 위로 올라갔다가 화면 끝에 닿으면 튕기죠? 하지만 마우스를 움직여도 판이 동작하지 않아요.

마우스로 판을 움직이게 해 볼게요. 판은 마우스 좌우 위치의 값에 따라 좌우로만 움직여요. 이 기능을 만들기 위해서는 [흐름]의 `계속 반복하기`와 좌우로만 움직이도록 [움직임]의 `x 위치로 이동하기`, [계산]의 `마우스 x 좌표`블록이 필요해요. 판 오브젝트를 클릭하고 다음과 같이 코드를 만들어요.

[소프트웨어야 놀자]핑퐁게임 만들기

[시작하기]를 눌러서 지금까지 완성된 코드를 실행해 볼게요. 공과 판이 잘 움직이는 것을 볼 수 있어요. 하지만 공이 판에 닿아도 아무 일도 일어나지 않아요.

이번에는 공이 판에 닿으면 점수가 올라가고, 무작위 방향으로 튕기게 해 볼게요. 공 오브젝트를 클릭하고 [흐름]의 `계속 반복하기`, `만일 ~이라면` 블록과 [판단]의 `~에 닿았는가` 블록으로 공이 판에 닿았을 때만 특정 코드가 실행되도록 만들어요. 공이 판에 닿으면 점수가 올라가도록 `점수`라는 변수를 만들고 [자료]에서 `~에 ~만큼 더하기` 블록을 가지고 올게요. 또 방향을 무작위로 정하기 위해서 [움직임]에서 `방향을 ~으로 정하기`와 [계산]의 `~부터 ~사이의 무작위 수` 블록을 가져와 다음과 같이 코드를 만들어요.

[소프트웨어야 놀자]핑퐁게임 만들기

마지막으로 공이 바닥에 닿거나, 초시계의 값이 15초가 지나면 게임이 끝나게 해 볼게요. 게임이 끝나는 효과는 초시계를 정지하고 숨긴 다음 모든 코드를 멈추어서 구현해 볼게요.

이때 `또는` 블록을 사용하면 코드를 여러 번 작성하지 않고도 간단하게 만들 수 있어요. 완성된 코드는 다음과 같아요.

[소프트웨어야 놀자]핑퐁게임 만들기

드디어 게임이 완성됐어요. 공이 판에 닿을 때마가 공의 크기가 작아지게 하는 기능을 넣어 나만의 핑퐁 게임을 만들어 보는 것은 어떨까요?

도움말=송상수 엔트리교육연구소 연구원,

김지선기자 river@etnews.com