오늘 만들 작품이 있는 페이지에 접속하고(https://goo.gl/dHed5P) 화면 중앙의 시작하기 버튼을 클릭해요. 게임이 시작되면 골키퍼는 화면 양끝을 계속 왔다 갔다 해봐요. 마우스로 골대나 화면 끝을 눌러 볼게요.
어떤 일이 일어나나요? 마우스를 클릭하면 클릭한 위치로 축구공이 이동하죠. 이동하는 속도는 매번 달라요. 축구공이 골대에 들어가면 `골!`을 그전에 골키퍼나 벽에 닿으면 `노골!`을 말하고 원래 자리로 다시 이동해요.
이제 이 게임을 어떻게 만드는지 알아볼까요? [강의 학습하기] 버튼을 클릭해 볼게요.
먼저 게임이 시작되면 골키퍼가 화면 양 끝을 계속 왔다 갔다 하게 해 볼게요. 골키퍼 오브젝트를 클릭하고 아래와 같이 코드를 만들어요.
[시작하기]로 실행을 해봐요. 골키퍼가 화면 끝에 닿으면 모양이 뒤집힌 채로 움직여요. 골키퍼 오브젝트를 클릭하고 아래와 같이 회전방식을 `좌우회전`으로 바꿔 볼게요. 이제 화면 끝에 닿았을 때 오브젝트 모양이 뒤집히지 않고 좌우로만 바뀌어요.
이어서 마우스를 클릭하면 축구공이 클릭한 지점으로 이동하게 해 볼게요. 축구공 오브젝트를 클릭하고 [시작]에서 `마우스를 클릭했을 때`와 [움직임]에서 `~초 동안 ~위치로 이동하기` 블록을 가져와 아래와 같이 코드를 만들어요.
[시작하기]를 누르고 마우스로 화면을 클릭해서 축구공을 이동시켜 보죠. 일정한 속도로 축구공이 움직이는 것을 볼 수 있어요. 이번에는 마우스를 클릭할 때마다 축구공이 이동하는 속도가 달라지게 해 볼게요. [계산]에서 `무작위 수` 블록을 사용해 아래와 같이 코드를 수정해 봐요.
이렇게 코드를 만들면 마우스를 클릭할 때마다 0.2초에서 2초 사이의 무작위 속도로 축구공이 이동해요.
이번에는 축구공이 골키퍼나 벽에 닿았을 때 동일한 특정 행동을 하도록 해 볼게요. 어디에 닿았는지 확인할 때는 [흐름]의 `만일 ~이라면`, [판단]의 `~에 닿았는가` 블록으로 아래와 같이 코드를 작성할 수 있어요.
[판단]에서 `또는` 블록을 사용하면 아래와 같이 코드를 더욱 간단하게 작성할 수 있어요.
이제 골키퍼나 벽에 닿았을 때 `노골!`이라 말하고 축구공을 원래 위치로 이동시켜봐요. [생김새]에서 `~을 ~초 동안 말하기`와 [움직임]에서 `x, y 위치로 이동하기` 블록을 가져와요. 골대에 닿았을 때는 축구공이 `골!`이라 말하고 원래 위치로 돌아가는 코드도 앞서 작성한 것과 비슷해요. 최종 완성된 코드는 아래와 같아요.
드디어 게임이 완성됐어요. 골을 넣으면 환호 소리가 나면서 점수가 올라가고, 노골일 경우는 점수가 깎이는 기능을 넣어 나만의 승부차기 게임을 만들어 보는 것은 어떨까요?
도움말=송상수 엔트리 연구원,
김지선기자 river@etnews.com