《 소프트웨어(SW) 科目이 來年에는 中學校, 2019年에는 初等學校 必須 敎育課程이 됩니다. 소프트웨어 授業에서는 ‘코딩’을 主로 배우지요. ‘ETRI(韓國電子通信硏究院) 知識이러닝硏究그룹과 함께하는 코딩 놀이터’에서 게임을 만들어 보면서 코딩과 親해져 봅시다. ETRI는 情報, 通信, 電子, 放送 技術 等 ICT를 硏究하는 國策機關이며, 知識이러닝硏究그룹은 소프트웨어 敎育, e-러닝 敎育 시스템을 硏究·開發하는 部署. 》
이番 時間에는 ‘障礙物 避하기 게임’을 完成해보겠습니다.
①
‘Ball(공)’ 스프라이트(스크래치에 登場하는 主人公이나 事物)를 코딩할 次例입니다. 새로운 스프라이트 만들기 아이콘을 누르고 스프라이트 貯藏所에서 ‘Ball’을 가져오세요.
공이 움직일 때 소리도 나오도록 만들어볼까요? 그림의 빨간色 네모 箱子 속 아이콘을 눌러 ‘貯藏所에서 소리 가져오기’를 實行합니다. 여러 소리를 들어보고 願하는 소리를 選擇하면 된답니다.
②
本格的으로 ‘Ball’ 스크립트를 코딩해보겠습니다. 먼저 게임이 始作되는 狀況을 뜻하는 ‘旗발 클릭했을 때’ 블록이 必要하지요. 다음으로 共의 처음 位置를 定해줍니다. 動作 스크립트에서 ‘x: ㉠ y: ㉡로 移動하기’ 블록을 가져오고, ㉠에는 -121, ㉡에는 -38을 적어주세요.
공이 障礙物에 닿았을 때 모습이 바뀌게 만들어볼까요? 먼저 元來 모습은 形態 스크립트의 ‘模樣을 ball-e로 바꾸기 블록’으로 定해줍시다.
이番 게임에서 ‘Ball(공)’은 점프를 할 때와 障礙物과 닿았을 때의 움직임이 重要합니다. 이 두 가지를 코딩해볼게요. 먼저 制御 스크립트의 無限 反復하기 블록을 가져오고 制御 스크립트의 ‘萬若 ㉢(李)라면’ 블록을 아래에 쌓습니다. ㉢에는 演算 스크립트의 ‘㉣ 또는 ㉤’ 블록을 넣고 ㉣에는 觀察 스크립트의 ‘위쪽 화살標 키를 눌렀는가?’를, ㉤에는 ‘스페이스 키를 눌렀는가?’를 넣습니다.
키보드의 ‘위쪽 화살標 키’와 ‘스페이스 키’를 누를 때 공이 점프하도록 ‘점프하기’ 블록도 넣어주세요. 점프하기 블록은 새로 만들어야 하는 블록이므로 ③番 過程에서 따로 說明하겠습니다.
그 아래에는 障礙物과 닿았을 때 움직임을 코딩해보겠습니다. 制御 스크립트의 ‘萬若 ㉥(李)라면’ 블록을 가져오고 ㉥에는 觀察 스크립트의 ‘障礙物에 닿았는가?’라는 블록을 넣어주세요. 障礙物에 닿을 때 模樣이 달라지도록 ‘形態 스크립트의 ’模樣을 ball-a로 바꾸기‘ 블록도 가져옵니다. 공에 닿았을 때 재미있는 소리도 나오도록 소리 스크립트의 ’bass beatbox 再生하기‘ 블록도 쌓으면 게임이 더욱 재미있겠지요? 마지막으로 공이 障礙物에 닿으면 게임이 끝나도록 制御 스크립트의 ‘모두 멈추기’ 블록을 가져오면 됩니다.
③
점프하기 블록은 그림과 같이 追加 블록 스크립트를 누르고 ‘블록 만들기’ 機能을 利用해 새로 만들어야 합니다. ‘점프하기’와 ‘定義하기’ 블록을 만들고 하나로 합쳐주세요.
④
공이 점프하는 모습을 코딩해보겠습니다. 먼저 점프할 때마다 소리가 나도록 소리 스크립트의 ‘zoop 再生하기’ 블록을 쌓습니다.
공이 점프할 때 抛物線을 그리며 자연스럽게 올라갔다 내려오도록 하기 위해 共의 y座標를 여러 段階로 나눠 設定해봅시다. 動作 스크립트에서 ‘y座標를 ㉠만큼 바꾸기’ 블록을 가져와 18, 14, 8, 4, 2, 1을 次例로 넣어 공이 하늘 위로 올라가는 狀況을 -1, -2, -4, -8, -14, -18을 次例로 넣어 공이 다시 땅으로 떨어지는 狀況을 만들어봅시다.
動作 스크립트 사이에 制御 스크립트의 ‘0秒 기다리기’ 블록을 넣어주세요. 공이 움직일 때마다 若干의 時間 差異를 두기 위함이지요.
⑤
이제 게임이 進行되는 동안 音樂이 나오도록 하는 스크립트度 만들어줍시다. 가장 먼저 이벤트 스크립트의 ‘旗발 클릭했을 때’ 블록을 가져오고, 아래에 制御 스크립트의 ‘無限 反復하기’ 블록을 쌓아줍니다. 無限 反復하기 블록 안에는 소리 스크립트의 ‘音樂 끝까지 再生하기’ 블록을 넣어주세요.
⑥
이제 게임을 始作해볼까요? 빠르게 다가오는 障礙物에 공이 부딪히지 않도록 공을 움직여봅시다.
▶김민경 記者 min79@donga.com
資料=ETRI 知識이러닝硏究그룹 김희권 先任技術員
어린이東亞 取材팀 kids@donga.com
위 記事의 法的인 責任과 權限은 어린이동아에 있습니다.
< 저작권자="" ⓒ="" 어린이동아,="" 무단="" 전재="" 및="" 재배포="" 금지="">