슈팅게임 ③
《 소프트웨어(SW) 과목이 내년에는 중학교, 2019년에는 초등학교 필수 교육과정이 됩니다. 소프트웨어 수업에서는 ‘코딩’을 주로 배우지요. ‘ETRI(한국전자통신연구원) 지식이러닝연구그룹과 함께하는 코딩 놀이터’에서 게임을 만들어 보면서 코딩과 친해져 봅시다. ETRI는 정보, 통신, 전자, 방송 기술 등 ICT를 연구하는 국책기관이며, 지식이러닝연구그룹은 소프트웨어 교육, e-러닝 교육 시스템을 연구·개발하는 부서. 》
이번 시간에는 지난 시간에 이어서 몬스터들의 움직임과 업그레이드 방법을 코딩해 보겠습니다.
① 먼저 용 몬스터가 5마리 이상 늘어나면 레벨이 업그레이드 되도록 해 봅시다. 이벤트 스크립트의 ‘깃발 클릭 했을 때’ 블록에 데이터 스크립트의 ‘드래곤▼을(를) 0로 정하기’ 블록을 이어 붙입니다. 형태 스크립트의 ‘숨기기’ 블록과 ‘모양을 ㉠(으)로 바꾸기’ 블록을 차례로 쌓습니다. ㉠은 ‘dragon1-a▼’를 선택합니다.
용이 왼쪽 방향을 볼 수 있도록 동작 스크립트의 ‘㉡도 방향 보기’ 블록을 이어 붙인 뒤 ㉡을 ‘-90(왼쪽)’으로 선택합니다.
이제 업그레이드 과정을 코딩해 봅시다. 제어 스크립트에서 ‘무한 반복하기’ 블록을 이어서 쌓은 뒤 제어 스크립트의 ‘나 자신▼ 복제하기’ 블록과 ‘㉢초 기다리기’ 블록을 차례로 끼웁니다. ㉢에는 연산 스크립트의 ‘㉣부터 ㉤ 사이의 난수’ 블록을 넣습니다. ㉣에는 ‘0.1’을, ㉤에는 ‘5’를 적습니다.
이어서 제어스크립트의 ‘만약 ㉥(이)라면’ 블록을 ‘무한 반복하기’ 블록 안에 차례로 끼웁니다. ㉥에는 연산 스크립트의 ‘㉦>㉧’ 블록을 넣습니다. ㉦에는 데이터 스크립트의 ‘드래곤’을 가져와 넣고, ㉧에는 ‘5’를 적어줍니다.
제어 스크립트의 ‘만약 ‘드래곤>5’(이)라면’ 블록 안에 이벤트 스크립트의 ‘메시지1▼ 방송하기’ 블록을 끼웁니다. 이때 ▼를 누르고 ‘새 메시지’를 누른 뒤 메시지 이름에 ‘업그레이드’라고 적어줍시다. 이어서 데이터 스크립트의 ‘드래곤▼을(를) 0로 정하기’ 블록을 이어 붙입니다.
② 이제 용 몬스터를 헬리콥터 쪽으로 움직이도록 코딩하겠습니다. 제어 스크립트의 ‘복제되었을 때’ 블록에 동작 스크립트의 ‘x:㉠ y:㉡로 이동하기’ 블록을 쌓은 뒤 형태 스크립트의 ‘보이기’ 블록을 붙입니다. ㉠에는 211, ㉡에는 84를 적습니다.
제어 스크립트의 ‘무한 반복하기’ 블록을 이어 붙인 뒤 그 사이에 ‘동작 스크립트’에서 ‘Helicopter▼쪽 보기’와 ‘㉢만큼 움직이기’ 블록을 넣습니다. ㉢에는 연산 스크립트의 ‘㉣부터 ㉤ 사이의 난수’ 블록을 넣습니다. ㉣에는 ‘1’을, ㉤에는 ‘5’를 적습니다.
이제 용 몬스터가 헬리콥터와 총알(꽃)에 닿았을 때 반응을 이어서 코딩해 봅시다. 제어 스크립트의 ‘만약 ㉥(이)라면’ 블록을 넣고 ㉥에는 관찰 스크립트에서 ‘Helicopter▼에 닿았는가?’ 블록을 넣습니다. 이어서 형태 스크립트의 ‘모양을 dragon1-b▼(으)로 바꾸기’ 블록과 제어스크립트의 ‘㉦초 기다리기’ 블록, ‘모두▼ 멈추기’ 블록을 연이어 쌓습니다. ㉦에는 ‘0.2’를 적습니다.
마찬가지로 제어 스크립트의 ‘만약 ㉧(이)라면’ 블록을 넣고 ㉧에는 관찰 스크립트에서 ‘Flower Shape▼에 닿았는가?’ 블록을 넣습니다. 제어 스크립트에서 ‘0초 기다리기’ 블록, 데이터 스크립트에서 ‘드래곤▼을(를) 1만큼 바꾸기’ 블록, ‘이 복제본 삭제하기’ 블록을 그림과 같이 차례로 끼워 넣으면 됩니다.
③ 벌레 몬스터의 경우 용 몬스터와 비슷한 방법으로 코딩하면 됩니다. 벌레 몬스터가 여러 높이에서 자유롭게 이동하도록 ‘복제되었을 때’ 블록에 이어 ‘x:㉠ y:㉡로 이동하기’ 블록을 쌓은 뒤 ㉠에는 ‘221’을, ㉡에는 ‘㉢부터 ㉣ 사이의 난수’를 적어줍시다. ㉢에는 ‘-180’, ㉣에는 ‘180’을 적습니다.
벌레 몬스터는 나타난 위치에서 왼쪽으로만 이동하도록 합니다. ‘무한 반복하기’ 블록 아래 동작 스크립트에서 ‘x좌표를 -5만큼 바꾸기’ 블록을 넣으면 됩니다. 벌레 몬스터는 벽과 총알(꽃)에 닿았을 때 사라지도록 하고 헬리콥터에 닿은 경우 게임이 끝나도록 그림을 참고해 코딩해 봅시다.
④ 마지막으로 아이템(하트)을 얻어 레벨이 업그레이드되는 경우를 코딩해 보겠습니다. 아이템은 특별한 경우만 얻게 되므로 이벤트 스크립트에서 ‘메시지1▼을(를) 받았을 때’ 블록을 가져온 뒤 ▼를 누르고 ‘새 메시지’를 선택해 ‘업그레이드’라고 적어줍시다.
나머지는 그림을 참고해 코딩한 뒤 게임을 즐겨봅시다.
▶김보민 기자 gomin@donga.com·심소희 인턴기자
자료=ETRI 지식이러닝연구그룹 김희권 선임기술원
위 기사의 법적인 책임과 권한은 어린이동아에 있습니다.
< 저작권자 ⓒ 어린이동아, 무단 전재 및 재배포 금지 >
※ 상업적인 댓글 및 도배성 댓글, 욕설이나 비방하는 댓글을 올릴 경우 임의 삭제 조치됩니다.
더보기