[소프트웨어야 놀자]<1>가을운동회, 단거리 육상 게임 만들기

`가을 운동회 육상 결승전` 완성 작품 화면 이미지
`가을 운동회 육상 결승전` 완성 작품 화면 이미지

추석이 지나고 어느덧 가을이 성큼 다가왔네요. 가을하면 빼 놓을수 없는 게 `가을 운동회`겠죠? 함께 배우는 첫 번째 프로그램으로 `가을운동회 맞이 단거리 육상게임`을 엔트리 프로그램으로 만들어 볼게요.

우선, 주소창에 링크(http://goo.gl/vB9xck)를 입력하고 접속해요. `강의 학습하기` 버튼을 클릭하면 프로그래밍하는 환경이 구성돼요.

실행화면 이미지
실행화면 이미지

화면 왼쪽에 `시작하기`를 클릭해볼까요. 시작하기 버튼을 클릭하고 실행화면에 마우스를 클릭해도 캐릭터가 아무런 동작을 하지 않죠? 왜냐하면 캐릭터가 움직이도록 프로그래밍(블록 조립소에 명령어로 채우기)을 하지 않았기 때문이에요.

이제 개구쟁이 오브젝트를 클릭해 프로그래밍을 시작해 볼게요.

개구쟁이 오브젝트 클릭 시작 이미지
개구쟁이 오브젝트 클릭 시작 이미지

프로그램은 항상 `시작하기` 버튼을 클릭해 실행해요. 그 다음 `시작하기 버튼을 클릭했을 때` 블록을 가져와 조립해요. 조립할 때 블록 조립소에 있는 블록을 마우스로 클릭한 상태로 끌어와 놓아야 해요(드래그 앤 드롭). `흐름`에서 `참이 될 때까지 반복하기` 블록을 이용해 `시작하기 버튼을 클릭했을 때` 블록 아래에 조립해요.

개구쟁이 오브젝트 클릭 후 코드조립 시작 이미지
개구쟁이 오브젝트 클릭 후 코드조립 시작 이미지

개구쟁이 오브젝트는 프로그램이 시작되면 결승선에 닿을 때까지 앞으로 나가는 행동을 계속 반복해요. 앞으로 조금씩 나갈 때마다 오브젝트 모양을 바꿔 마치 달리는 효과가 나오도록 만들어줘야 해요. 결승선에 다으면 사람이 도착했다는 신호를 보내요.

이제 본격적으로 캐릭터가 움직이도록 프로그래밍 해볼까요.

`사람 도착` 신호를 받았을 때 `이겼다`를 알리는 코드 조립 과정 이미지.
`사람 도착` 신호를 받았을 때 `이겼다`를 알리는 코드 조립 과정 이미지.

개구쟁이 오브젝트를 클릭하고 코드를 추가해볼게요. 개구쟁이가 엔트리봇보다 먼저 도착한 경우에 `사람 도착` 신호를 먼저 받아 `이겼다`는 메시지가 나오게 해야해요. 엔트리봇이 개구쟁이보다 먼저 도착하면 `엔트리 도착` 신호를 받아 오브젝트가 안보이게 만들어줘요.

이번에는 엔트리봇 오브젝트를 프로그래밍 해볼게요.

엔트리봇 실행 이미지
엔트리봇 실행 이미지

엔트리봇은 개구쟁이 오브젝트와 다르게 마우스를 클릭할 때마다 움직이게 만들어줘요. `시작`에 있는 `마우스를 클릭했을 때` 블록을 이용해 만들어요. 결승선에 도착하면 마찬가지로 `엔트리 도착` 신호를 보내 개구쟁이 오브젝트보다 먼저 도착하면 `이겼다`라고 말하도록 만들어요. 개구쟁이 오브젝트가 먼저 도착하면 모양을 숨기도록 만들어주면 돼요.

이제 `시작하기`를 클릭해볼까요. 실행화면에서 마우스를 클릭하며 캐릭터가 움직이는 모습을 볼 수 있죠? 마우스를 빠르게 클릭할수록 더 빨라지겠죠. 이번 강의는 여기서 마칠게요.

김지선기자 river@etnews.com