스크래치와 함께하는 프로그래밍 첫걸음_14장 ‘유령을 피해라!’

2016/01/25
공유 레이어 열기/닫기
주소가 복사되었습니다.

스크래치와 함께하는 프로그래밍 첫걸음_14장 '유령을 피해라!'

'스크래치와 함께하는 프로그래밍 첫걸음' 열네 번째 시간입니다. 지난 시간엔 '난수' 기능을 활용해 여행 목적지를 정하는 보드게임을 만들었는데요. 오늘은 스프라이트가 상황과 조건에 맞춰 스스로 판단하고 움직이는 프로그램을 만들어볼게요.

*프로그래밍을 배우기 위해선 먼저 스크래치 프로그램을 다운로드해야 합니다. 스크래치 프로그램 다운로드 방법은 프롤로그 편에 설명돼 있으니 아직 설치하지 않으신 분은 참조해주세요!

 

스크래치로도 인공지능 프로그램을 만들 수 있다?

13편에서 스크래치와 친구들은 보드게임을 프로그래밍해 여행 목적지를 정했는데요. 첫 번째 여행지는 이집트입니다. 프로그래밍 덕분에 먼 나라까지 무사히 도착하게 된 스크래치와 친구들은 차창 밖으로 피라미드가 보이자 모두 설레는 기색을 감추지 못했는데요. 하지만 아뿔싸! 피라미드 앞에 무서운 유령이 나타난단 소식에 다들 겁부터 먹었네요.

친구들이 곤경에 처했을 때 두 팔 걷어붙인 건 역시 스크래치였습니다. 조건문과 반복문을 활용, 스스로 유령을 피하는 프로그램을 만든 건데요. 인공지능이라고 해서 꼭 복잡한 건 아닙니다. 스크래치와 함께 도전해볼까요?

첫 번째 여행지는 사막이 있는 이집트! 차창 밖으로 피라미드가 보이자 모두 신이 났어. 춤추기 프로그램에서 봤던 사막을 이렇게 실제로 보다니! 피라미드야! 우와~ 가지마~ 왜들 그러지?여우가 그러는데 피라미드 앞에 무서운 유령이 있어서 돌아가는 거래. 멀리서 찾아온 친구들도 그냥 되돌아갔대. 스크래치. 프로그램을 만들어서 해결할 방법이 없을까? 그동안 프로그래밍으로 숲 길도 찾고, 꽃밭도 만들고 많은 일을 해냈잖아~ 그래! 인공지능 프로그램이 있지? 그럼 갈 수 있는거지? 와~ 인공지능도 프로그래밍 할 수 있어? 그래! 조건문과 반복문을 활용하면, 스프라이트가 스스로 유령을 피해서 목적지에 도착하는 프로그램을 만들 수 있어. 방향 키를 누르는 것 같은 조작을 하지 않아도 스프라이트 혼자서 스크립트에 따라 움직이는 인공지능 프로그램이지. 내 뒤에 착 붙어~ 나를 따르라~ 깜토는 이 프로그래밍을 하면서 두려움을 헤쳐 나갈 방법을 찾게 될 거야!

 

– 피라미드 스크립트 만들기

스크래치14편1

깜토가 유령들을 피해 도착할 곳은 피라미드입니다. 그림판을 활용, 두 개의 피라미드가 겹친 모습을 그려주세요. 피라미드의 위치와 색상을 나타낼 스크립트도 만들어주세요. 

 

– 유령 스크립트 만들기

유령 스프라이트를 그리거나 가져올 차례입니다. 'Fantasy' 폴더의 'ghost2-a' 파일을 불러오면 되는데요. 스크립트를 만들며 프로그램을 시작할 때마다 유령이 나타나는 위치가 바뀌도록 블록을 만들어주세요. 그리고 깜토와 닿으면 프로그램이 종료되도록 '게임오버' 방송하기 블록도 넣어주세요.

유령 스프라이트를 그리거나 가져올 차례입니다. 'Fantasy' 폴더의 'ghost2-a' 파일을 불러오면 되는데요. 스크립트를 만들며 프로그램을 시작할 때마다 유령이 나타나는 위치가 바뀌도록 블록을 만들어주세요. 그리고 깜토와 닿으면 프로그램이 종료되도록 '게임오버' 방송하기 블록도 넣어주세요.

유령이 총 3마리가 되도록 복사한 후 각각의 스크립트에 ‘유령출현’ 방송 받을 때 깜토 쪽을 보게 하는 블록을 넣어주세요.

유령이 총 3마리가 되도록 복사한 후 각각의 스크립트에 ‘유령출현’ 방송 받을 때 깜토 쪽을 보게 하는 블록을 넣어주세요.

 

– 깜토와 레이더 스크립트 만들기

깜토 스프라이트는 여기에서 다운로드할 수 있습니다. 깜토가 벽에 닿으면 튕기고, 피라미드에 닿으면 '목적지 도착성공!'을 방송해 프로그램을 종료하도록 블록을 만들어주세요<위 이미지 참조>.

깜토 스프라이트는 여기에서 다운로드할 수 있습니다. 깜토가 벽에 닿으면 튕기고, 피라미드에 닿으면 '목적지 도착성공!'을 방송해 프로그램을 종료하도록 블록을 만들어주세요<위 이미지 참조>.

깜토는 레이더가 유령에 대해 방송하기 전까진 유령이 어디 있는지 알 수 없는데요. 잠시 후 만들어볼 레이더가 유령이 있을 땐 '유령출현'을, 유령이 없을 땐 '유령없음'을 각각 방송할 겁니다. 깜토가 '유령출현' 방송을 받으면 유령을 피하기 위해 방향을 바꾸고 이동을 멈추게 됩니다.

깜토는 레이더가 유령에 대해 방송하기 전까진 유령이 어디 있는지 알 수 없는데요. 잠시 후 만들어볼 레이더가 유령이 있을 땐 '유령출현'을, 유령이 없을 땐 '유령없음'을 각각 방송할 겁니다. 깜토가 '유령출현' 방송을 받으면 유령을 피하기 위해 방향을 바꾸고 이동을 멈추게 됩니다.

그림판을 이용, 깜토에게 유령의 위치를 알려줄 레이더를 그려주세요. 레이더는 깜토를 따라다니며 깜토가 바라보는 방향을 향하게 됩니다.

그림판을 이용, 깜토에게 유령의 위치를 알려줄 레이더를 그려주세요. 레이더는 깜토를 따라다니며 깜토가 바라보는 방향을 향하게 됩니다.

레이더가 유령에 닿으면 '유령출현'을 방송해 깜토에게 알려줘야 하는데요. 마찬가지로 유령에 닿지 않았을 땐 '유령없음'을 방송하도록 블록을 조립해야 합니다. 좀 더 실감나는 표현을 위해 레이더에 반투명 효과를 적용해볼게요.

레이더가 유령에 닿으면 '유령출현'을 방송해 깜토에게 알려줘야 하는데요. 마찬가지로 유령에 닿지 않았을 땐 '유령없음'을 방송하도록 블록을 조립해야 합니다. 좀 더 실감나는 표현을 위해 레이더에 반투명 효과를 적용해볼게요.

 

– 무대 배경 스크립트 만들기

이제 무대의 배경을 만들어야 하는데요. 첫 번째는 게임이 시작될 때의 배경(game start), 두 번째는 깜토가 유령에게 붙잡혀 게임이 종료될 때의 배경(game over), 세 번째는 깜토가 피라미드에 도착했을 때의 배경(mission complete)입니다. 우주를 배경으로 불러온 후 게임 진행 상태에 따라 각각 다른 글자를 입력해주세요.

이제 무대의 배경을 만들어야 하는데요. 첫 번째는 게임이 시작될 때의 배경(game start), 두 번째는 깜토가 유령에게 붙잡혀 게임이 종료될 때의 배경(game over), 세 번째는 깜토가 피라미드에 도착했을 때의 배경(mission complete)입니다. 우주를 배경으로 불러온 후 게임 진행 상태에 따라 각각 다른 글자를 입력해주세요.

위 이미지처럼 블록을 만들면 게임 진행 상태에 따라 그에 맞는 배경이 출력됩니다.

스크래치 프로그램을 이용하면 간단한 조건문과 반복문으로도 인공지능을 구현할 수 있는데요. 좀 더 복잡한 프로그래밍에 도전해보고 싶다면 오늘 배운 내용에 다른 동 블록이나 효과를 응용해보세요. 프로그래밍의 매력은 무한한 도전의 기회와 가능성에 있으니까요.

스크래치 프로그램을 이용하면 간단한 조건문과 반복문으로도 인공지능을 구현할 수 있는데요. 좀 더 복잡한 프로그래밍에 도전해보고 싶다면 오늘 배운 내용에 다른 동 블록이나 효과를 응용해보세요. 프로그래밍의 매력은 무한한 도전의 기회와 가능성에 있으니까요.

다음 시간은 '스크래치와 함께하는 프로그래밍 첫걸음', 대망의 마지막 편입니다. 심술쟁이 유령을 피해 도착한 피라미드에서 스크래치와 친구들은 다양한 악기를 활용해 합주에 도전하는데요. 깜토의 지휘에 맞춰 울려 퍼지는 아름다운 화음, 기대해주세요!

 

투모로우 기획 ‘스크래치와 함께하는 프로그래밍 첫걸음’ 이전 콘텐츠는 아래 링크에서 확인하실 수 있습니다

☞[스크래치와 함께하는 프로그래밍 첫걸음] 특별한 모험에 여러분을 초대합니다
☞[스크래치와 함께하는 프로그래밍 첫걸음] Chapter 1_'스크래치'를 소개합니다
☞[스크래치와 함께하는 프로그래밍 첫걸음] Chapter 2_깜토에게 춤을!
☞[스크래치와 함께하는 프로그래밍 첫걸음] Chapter 3_숲 속의 친구 찾기!
☞[스크래치와 함께하는 프로그래밍 첫걸음] Chapter 4_깜토에게 여행을!
☞[스크래치와 함께하는 프로그래밍 첫걸음] Chapter 5_깜토의 연극 감상!
☞[스크래치와 함께하는 프로그래밍 첫걸음] Chapter 6_스크래치네 찾아가기
☞[스크래치와 함께하는 프로그래밍 첫걸음] Chapter 7_장애물 넘어 길 찾기!
☞[스크래치와 함께하는 프로그래밍 첫걸음] Chapter 8_마법 모자를 잡아라!
☞[스크래치와 함께하는 프로그래밍 첫걸음] Chapter 9_깜토의 초대장
☞[스크래치와 함께하는 프로그래밍 첫걸음] Chapter 10_깜토의 꽃밭 꾸미기
☞[스크래치와 함께하는 프로그래밍 첫걸음] Chapter 11_초콜릿 골고루 올리기
☞[스크래치와 함께하는 프로그래밍 첫걸음] Chapter 12_기차 시간을 지키자!
☞스크래치와 함께하는 프로그래밍 첫걸음_13장 '스크래치 보드게임'

기획·연재

기획·연재 > 테마 기획

삼성전자 뉴스룸의 직접 제작한 기사와 이미지는 누구나 자유롭게 사용하실 수 있습니다.
그러나 삼성전자 뉴스룸이 제공받은 일부 기사와 이미지는 사용에 제한이 있습니다.
<삼성전자 뉴스룸 콘텐츠 이용에 대한 안내 바로가기>

TOP