배움터
  •  [ETRI와함께하는코딩 놀이터]빵야! 무기를 쏘자
  • 어린이동아 취재팀
  • 2017-06-20 22:08:28
  • 인쇄프린트
  • 글자 크기 키우기
  • 글자 크기 줄이기
  • 공유하기 공유하기
  • URL복사

슈팅게임 ②

《 소프트웨어(SW) 과목이 내년에는 중학교, 2019년에는 초등학교 필수 교육과정이 됩니다. 소프트웨어 수업에서는 ‘코딩’을 주로 배우지요. ‘ETRI(한국전자통신연구원) 지식이러닝연구그룹과 함께하는 코딩 놀이터’에서 게임을 만들어 보면서 코딩과 친해져 봅시다. ETRI는 정보, 통신, 전자, 방송 기술 등 ICT를 연구하는 국책기관이며, 지식이러닝연구그룹은 소프트웨어 교육, e-러닝 교육 시스템을 연구·개발하는 부서. 》

 

이번 시간에는 지난 시간에 이어서 슈팅게임을 코딩해 보겠습니다.

 

 
 

무기 스프라이트를 코딩해 봅시다. 이벤트 스크립트에서 ‘깃발 클릭 했을 때’ 블록을 가져온 뒤, 형태 스크립트의 ‘숨기기’ 블록과 데이터 스크립트의 ‘무기레벨▼을(를) ㉠로 정하기’ 블록을 이어 붙입니다. ㉠에는 ‘1’을 적습니다. 그 아래에 제어 스크립트의 ‘무한 반복하기’ 블록을 붙이고 그 사이에 제어 스크립트의 ‘만약 ㉡(이)라면’ 블록을 끼워 넣습니다. ㉡에는 관찰 스크립트의 ‘스페이스▼키를 눌렀는가’ 블록을 넣어줍니다.

 

그리고 지난 시간에 배운 추가블록을 활용해 무기가 발사될 때마다 무기의 레벨을 조정해 주겠습니다. 추가 블록 스크립트에서 ‘블록 만들기’를 누른 뒤 ▶선택사항 버튼을 누릅니다. 먼저 텍스트에 ‘무기 발사’라고 적은 뒤, ‘숫자 매개변수 추가하기’의 동그란 도형을 넣습니다. 동그란 도형 안에 ‘무기레벨’이라고 적어 넣고 ‘확인’ 버튼을 누르면 ‘정의하기 부분’ 블록이 만들어 집니다. 추가 블록 스크립트에서 ‘무기 발사㉢’ 블록을 가져온 뒤 ㉢에 ‘정의하기 부분’ 블록에 있는 ‘무기레벨’을 가져와 넣습니다.

 

제어 스크립트의 ‘㉣초 기다리기’ 블록을 가져와 ‘만약 ㉡(이)라면’ 블록 밑에 끼워 넣습니다. ㉣에는 ‘0.3’을 적습니다.

 

 
 

무기 레벨에 따라 무기 발사 개수가 늘어나도록 추가블록을 코딩하겠습니다. 위에서 만들어진 ‘정의하기 부분’ 블록 아래에 제어 스크립트의 ‘㉠번 반복하기’ 블록을 넣습니다. ㉠에는 ‘정의하기 부분’ 블록에 있는 ‘무기레벨’을 끌어와 넣어줍니다.

이 사이에 제어 스크립트의 ‘나 자신 복제하기▼’ 블록과 ‘㉡초 기다리기’ 블록을 가져와 끼워 넣습니다. ㉡에는 ‘0.1’을 적어줍니다.

 

 
 

이제 무기가 여러 발 발사될 수 있도록 복제해 봅시다. 제어 스크립트에서 ‘복제되었을 때’ 블록을 가져온 뒤 동작 스크립트에서 ‘㉠ 위치로 이동하기’ 블록, 형태 스크립트의 ‘보이기’ 블록, 소리 스크립트의 ‘pop▼ 재생하기’ 블록을 가져옵니다. ㉠은 ‘▼’ 버튼을 누른 뒤 ‘Helicopter’로 설정해 줍니다.

 

제어 스크립트의 ‘무한 반복하기’ 블록을 가져옵니다. 이제 무기가 각각 벽, ‘Dragon(용)’, ‘Beetle(딱정벌레)’에 닿았을 때 사라지도록 만들어 봅시다.

 

동작 스크립트에서 ‘x좌표를 ㉠만큼 바꾸기’ 블록을 가져와 ‘무한 반복하기’ 블록 아래 끼워 넣습니다. ㉠에는 ‘5’를 적어줍니다.

제어 스크립트에서 ‘만약 ㉡(이)라면’ 블록을 가져오고 그 사이에 제어 스크립트의 ‘이 복제본 삭제하기’ 블록을 넣습니다. ㉡에는 관찰 스크립트의 ‘㉢에 닿았는가?’ 블록을 가져와 넣습니다. ㉢은 ‘▼’ 버튼을 누른 뒤 ‘벽’으로 설정해 줍니다.

 

‘Dragon’과 ‘Beetle’의 경우도 마찬가지입니다. 제어 스크립트에서 ‘만약 ㉣(이)라면’ 블록을 가져오고 그 사이에 제어 스크립트의 ‘㉤초 기다리기’ 블록과 ‘이 복제본 삭제하기’ 블록을 넣습니다. ㉤에는 ‘0’을 적어줍니다. ㉣에는 관찰 스크립트의 ‘㉥에 닿았는가?’ 블록을 가져와 넣고 ‘Dragon’으로 설정해 줍니다.

 

그 아래도 마찬가지. ‘만약 ㉦(이)라면’ 블록을 가져오고 제어 스크립트의 ‘㉧초 기다리기’ 블록과 ‘이 복제본 삭제하기’ 블록을 넣습니다. ㉧에는 ‘0.1’을 적어줍니다. ㉦에는 관찰 스크립트의 ‘㉨에 닿았는가?’ 블록을 가져와 넣습니다. ㉨은 ‘Beetle’로 설정해 줍니다.

 

다음 시간에는 용 몬스터와 딱정벌레 몬스터의 움직임을 코딩해 게임을 완성해 보겠습니다.

 

▶김보민 기자 gomin@donga.com·심소희 인턴기자

자료=ETRI 지식이러닝연구그룹 김희권 선임기술원

 

 

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

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

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

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

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

더보기

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