[스크래치와 함께하는 프로그래밍 첫걸음] Chapter 10_깜토의 꽃밭 꾸미기

2015/11/09
공유 레이어 열기/닫기
주소가 복사되었습니다.

'스크래치와 함께하는 프로그래밍 첫걸음' 열 번째 시간입니다. 투모로우 독자 여러분이 도와주신 덕분에 깜토의 파티 초대가 무사히 끝났는데요. 하지만 아직도 ‘파티 준비’란 관문이 남았습니다. 깜토는 친구들과 함께 즐겁게 파티를 즐길 수 있을까요? 여러분의 코딩 실력으로 깜토를 도와주세요! 오늘은 스크래치 프로그램의 반복문 블록을 활용해보려 합니다.

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

 

땀을 뻘뻘 흘리는 깜토, 과연 뭘 하길래?

지난 시간엔 스크래치와 함께 만든 ‘나만의 그림판’으로 파티 초대장을 꾸며봤는데요. 동물 친구들 모두 초대장을 받곤 무척 기뻐했단 소식입니다. 하트곰은 휘파람을 불며 스텝까지 밟았다고 하네요.

하트곰이 휘파람을 불고 있잖아? 가만, 춤을 추는 것 같기도 해. 하트곰아, 무슨 좋은 일이 있어? 기분이 좋아 보여~ 헤헤. 깜토에게 초대장을 받았거든, 내 얼굴이 그려진 예쁜 초대장이야~ 깜토는 나를 싫어하는 줄 알았는데 초대하다니! 하트곰을 보며 놀라서 웅크리고만 있던 깜토가 이제는 초대장을 보내다니 정말 좋은 일이야! 그나저나 깜토 녀석은 뭘 하고 있을까? Good Morning! 팽이야. 깜토는 뭘 하느라 저렇게 땀을 뻘뻘 흘리고 있어? 친구들을 초대했으니까 꽃밭을 예쁘게 꾸미고 싶대. 어떻게 하면 좋을지 고민인 것 같은데, 나도 어떻게 도와줄 수 있을지 모르겠어. 그래! 그렇다면... 스크래치 프로그램의 반복문 블록을 활용해서 꽃을 그리고 꽃밭을 꾸미는 걸 보여주면 좋겠다. 컴퓨터에서 미리 꽃밭을 예쁘게 꾸며보는 거지! 반복되는 선이나 모양을 반복문 블록으로 그리면 꽃밭이나 커튼의 무늬 같은 것을 쉽고 재미있게 완성할 수 있어. 깜토야~ 스크래치가 프로그래밍으로 꽃밭을 만들어벌 수 있대. OK! 깜토 녀석. 일어나서 꽃밭 꾸미기 프로그램을 보면 아주 좋아하겠지?

그런데 여전히 집에만 틀어박혀 있는 깜토. 스크래치가 찾아가보니 친구들에게 보여주기 위해 땀을 뻘뻘 흘리며 꽃밭을 꾸미고 있었네요. 실력보다 의욕이 앞서는 깜토를 위해 스크래치는 좀 더 쉽고 예쁘게 꽃밭 꾸미는 방법을 알려주려 합니다. 시작해볼까요?

 

– 스크래치 스프라이트 삭제하고 새 스프라이트 그리기

스크래치로 꽃밭을 만들기 위하여 스크래치 스프라이트를 지운 후 그림판에서 사각형을 그려 새로운 스프라이트로 추가한 화면입니다.

이번 시간에도 직접 그린 사각형 스프라이트를 하나만 활용할 겁니다. 단, 주의해야 할 점이 있는데요. 사각형은 될 수 있는 대로 작게 그려주는 게 좋습니다. 그래야 스프라이트가 어떤 규칙으로 움직이면서 꽃밭을 그리는지 확인할 수 있거든요. 스크래치 스프라이트를 지운 후 그림판에서 사각형을 그려 새로운 스프라이트로 추가해주세요.

'꽃의 크기'를 변수로 설정하고 '모든 스프라이트에 대해' 로 설정하는 화면입니다.

오늘은 ‘꽃의 크기’란 이름의 변수를 하나만 사용할게요. 이 변수 값으로 오늘 그리게 될 꽃의 크기가 결정됩니다. 값이 크면 꽃이 커지고 값이 작아지면 꽃도 작아지는 식이죠. ‘모든 스프라이트에 대해’ 항목에도 표기해주세요.

 

– 삼각형 그릴 스크립트 만들기

그리려고 하는 꽃에서 가장 기본이 되는 요소는 ‘삼각형’을 한 개를 그리는 스크립트부터 짜기위해 블록을 조립하는 화면입니다.

오늘 그릴 꽃에서 가장 기본이 되는 요소는 ‘삼각형’입니다. 먼저 삼각형 한 개를 그리는 스크립트부터 짜보죠. 위 이미지와 같이 블록을 조립해주세요.

내각이 60도 외각이 120도로 되어있는 삼각형 그림입니다.

초등학교 때 배웠던 ‘삼각형의 외각’, 기억 나세요? 외각을 이해하면 오늘 코딩의 원리도 쉽게 이해하실 수 있습니다. 위 이미지에서 주황색 화살표로 표시한 각도, 즉 한 변의 연장선과 이웃한 변이 이루는 각을 도형의 외각이라고 하는데요. 스프라이트가 삼각형의 외각인 120도만큼 네 번 돌면 삼각형이 완성됩니다.

그래서 ‘꽃의 크기만큼 움직이기’와 ‘120도 돌기’ 블록이 4회 반복적으로 실행되도록 코딩하는 거죠.

꽃을 그리기 위한 코딩방법을 설명하는 그림입니다.

삼각형을 하나의 꽃잎이라고 가정하면 적어도 10개의 꽃잎이 있어야 풍성한 꽃의 모습이 표현되겠죠? 이제 스프라이트가 삼각형을 반복해서 그리도록 할 차례입니다. 이때 삼각형이 40도씩 방향을 바꿔가면서 원을 그리도록 ‘40도 돌기’ 블록을 조립해야 하는데요. 삼각형을 그릴 때 만든 반복 블록을 떼어내고, ‘40도 돌기’를 10회 반복하도록 새로운 반복문을 만들어주세요. 그리고 새로 만든 반복문 안에 삼각형을 그리는 블록을 다시 넣으면 됩니다. 위 이미지 속 3번처럼 말이죠.

코딩을 통해 삼각형으로 화려한 꽃이 그려진 모습입니다.

삼각형으로 그려진 꽃의 모습, 어떠세요? 간단한 코딩만으로 화려한 꽃을 그려낼 수 있단 점, 바로 프로그래밍에서만 느낄 수 있는 매력이 아닐까 싶습니다.

코딩에 따라 삼각형이 꽃이 되는 과정을 나눠서 보여주는 화면입니다.

너무 순식간에 그려지는 바람에 과정을 자세히 확인하지 못한 분을 위해 꽃이 어떻게 그려졌는지 확인해볼까요? 반복 블록을 2회로 설정하니 삼각형이 두 개 겹쳐진 모습이 보입니다.

삼각형이 코딩에 따라 반복되면서 꽃이 만들어지는 과정을 보여주는 그림입니다.

이렇게 40도씩 돌면서 삼각형 그리기를 열 번 반복한 결과, 꽃이 완성됐습니다. 반복문의 원리는 운동장 달리기와 그 원리가 같습니다. 시작 지점과 끝나는 지점이 있고, 한 바퀴를 돌고 나서 시작한 자리로 돌아온 후 더 달릴지 말지를 결정하는 식이니까요. 프로그램에서도 반복문의 스크립트를 끝까지 실행한 후 정해놓은 횟수만큼 반복하고 나서 다음 스크립트로 진행하게 됩니다.

기획·연재

기획·연재 > 테마 기획

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

TOP