배움터
  •  [ETRI와함께하는코딩 놀이터]몬스터 잡으러 가자!
  • 어린이동아 취재팀
  • 2017-06-27 22:10:28
  • 인쇄프린트
  • 글자 크기 키우기
  • 글자 크기 줄이기
  • 공유하기 공유하기
  • URL복사

슈팅게임 ③

《 소프트웨어(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 지식이러닝연구그룹 김희권 선임기술원

 

 

어린이동아 취재팀 kids@donga.com

위 기사의 법적인 책임과 권한은 어린이동아에 있습니다.

< 저작권자 ⓒ 어린이동아, 무단 전재 및 재배포 금지 >

한국지역난방공사 권지단
  • 댓글쓰기
  • 로그인
    • 어동1
    • 어동2
    • 어동3
    • 어동4
    • 어솜1
    • 어솜2
    • 어솜3

※ 상업적인 댓글 및 도배성 댓글, 욕설이나 비방하는 댓글을 올릴 경우 임의 삭제 조치됩니다.

더보기

NIE 예시 답안
시사원정대
  • 단비교육