boat race · 2019. 12. 11. · 1 scratch 개념알고넘어가기 1 “ scratc 란? • scratch...

24
Boat Race Simple coding for total beginners Scratch Module 3

Upload: others

Post on 28-Sep-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Boat Race · 2019. 12. 11. · 1 Scratch 개념알고넘어가기 1 “ Scratc 란? • Scratch 는MIT Media Lab의 프로젝트로, 누구나쉽게코딩을배 울수있도록하는교육용프로그래

Boat Race

Simple coding for total beginners

Scratch Module 3

Page 2: Boat Race · 2019. 12. 11. · 1 Scratch 개념알고넘어가기 1 “ Scratc 란? • Scratch 는MIT Media Lab의 프로젝트로, 누구나쉽게코딩을배 울수있도록하는교육용프로그래

{c

ode club}

www.codeclub.org

{c

ode club}

www.codeclub.org

{c

ode club}

www.codeclub.org

CodingIw

ww.codeclub.org

{code club}

Coding

Star

{c

ode club}

www.codeclub.org

{code club}

www.codeclub.orgFirst published in 2018 by Raspberry Pi Trading Ltd, Station Road, Cambridge, CB1 2JH

Writers: Rik Cross, Tracy Gardner

Illustrator: Timothy Winchester • Design: Critical Media

Editor: Phil King • Sub Editor: Nicola King

Publisher: Russell Barnes • CEO: Eben Upton

Projects tested by: Alexander King & the Code Club community

ISBN: 978-1-912047-67-3

Printed in China

The publisher, and contributors accept no responsibility in respect of any omissions, errors or issues relating to goods, software, viruses, or exposure to harmful web content on websites other than its own. Except where stated, the content of this book is licensed

under Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported (CC BY-NC-SA 3.0)

COPYRIGHT ⓒ2019 CODE CLUB Republic of KOREA.

발행일

Nov 2019

발행처

04789 서울특별시 성동구 왕십리로 130, 10층

(사)코드클럽한국위원회

교육문의

Tel. +82-2-792-0615Fax. +82-2-6213-0615Email. [email protected]

Page 3: Boat Race · 2019. 12. 11. · 1 Scratch 개념알고넘어가기 1 “ Scratc 란? • Scratch 는MIT Media Lab의 프로젝트로, 누구나쉽게코딩을배 울수있도록하는교육용프로그래

1

개념알고넘어가기Scratch

1

“Scratch 란?

• Scratch는 MIT Media Lab의

프로젝트로, 누구나 쉽게 코딩을 배

울 수 있도록 하는 교육용 프로그래

밍 툴이다. (40개 언어로 지원되며

150개국 이상에서 사용하고 있다.)

• 코딩할 때 주로 사용하는 C++,

C#, 비주얼 베이직 등과 달리 블록

을 끌어당겨 탑을 쌓는 것처럼 코딩

을 하기 때문에 아주 쉽게 배울 수

있다.

• 특히 게임이나 애니메이션 등을

쉽게 만들 수 있도록 고안되어 어렵

지 않게 프로그래밍 기법들을 익힐

수 있다.

코딩이란?

특정한프로그래밍언어를작성하는행위를의미한다. Code(코드) + ing(~중)의합성어로, 코드를작성하는것을의미하며, ‘프로그래밍한다’ 라는말과동일하다.

프로그래밍언어란?

주어진어떤문제를해결하기위해인간과컴퓨터사이에서의사소통을가능케하는인공적인언어이다. 이언어를통하여사용자는컴퓨터에게일련의일을시키는명령어들의모임인프로그램을작성할수있다.{c

ode club}

www.codeclub.org

{c

ode club}

www.codeclub.org

{c

ode club}

www.codeclub.org

CodingIw

ww.codeclub.org

{code club}

Coding

Star

{c

ode club}

www.codeclub.org

{code club}

www.codeclub.orgFirst published in 2018 by Raspberry Pi Trading Ltd, Station Road, Cambridge, CB1 2JH

Writers: Rik Cross, Tracy Gardner

Illustrator: Timothy Winchester • Design: Critical Media

Editor: Phil King • Sub Editor: Nicola King

Publisher: Russell Barnes • CEO: Eben Upton

Projects tested by: Alexander King & the Code Club community

ISBN: 978-1-912047-67-3

Printed in China

The publisher, and contributors accept no responsibility in respect of any omissions, errors or issues relating to goods, software, viruses, or exposure to harmful web content on websites other than its own. Except where stated, the content of this book is licensed

under Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported (CC BY-NC-SA 3.0)

Page 4: Boat Race · 2019. 12. 11. · 1 Scratch 개념알고넘어가기 1 “ Scratc 란? • Scratch 는MIT Media Lab의 프로젝트로, 누구나쉽게코딩을배 울수있도록하는교육용프로그래

개념알고넘어가기Scratch

2

“Scratch 작업 공간

1

23

4

1. 스프라이트: 프로젝트에사용된개체(그림)

※스크래치자체제공그림, 내컴퓨터그림모두사용가능

2. 무대: 프로젝트작업공간

3. 블록: 스프라이트를움직일수있는명령어

4. 스크립트영역: 블록을드래그하여코딩할수있는공간

1

2

3

4

2

Page 5: Boat Race · 2019. 12. 11. · 1 Scratch 개념알고넘어가기 1 “ Scratc 란? • Scratch 는MIT Media Lab의 프로젝트로, 누구나쉽게코딩을배 울수있도록하는교육용프로그래

소개

마우스로 보트를 사막 섬으로 조종해가는 게임을 만들 것입니다.

1

3 모든 Code Club회원에게 회원 가입을 추천합니다. 우리는 가입자 수를 체크하여 우리의 기여도를 판단하고, 이를 바탕으로 계속해서 어린이들이 무료로 코딩을 배울 수 있는 컨텐츠를 제공할 수 있습니다. 가입은 codeclubworld.org 에서 할 수 있습니다.

3

Page 6: Boat Race · 2019. 12. 11. · 1 Scratch 개념알고넘어가기 1 “ Scratc 란? • Scratch 는MIT Media Lab의 프로젝트로, 누구나쉽게코딩을배 울수있도록하는교육용프로그래

1단계 : 게임 계획하기

단계별 체크리스트

• 온라인 : rpf.io/boat-race-starter-on 에서 온라인 스타터 프로젝트를

엽니다.

• 오프라인 : rpf.io/p/en/boat-race-get 에서 오프라인 시작 프로젝트를

다운로드 한 다음 오프라인 편집기를 사용하여 엽니다.

• Scratch 오프라인 편집기를 다운로드하여 설치해야 하는 경우

rpf.io/scratchoff 에서 찾을 수 있습니다 .

2 4

Page 7: Boat Race · 2019. 12. 11. · 1 Scratch 개념알고넘어가기 1 “ Scratc 란? • Scratch 는MIT Media Lab의 프로젝트로, 누구나쉽게코딩을배 울수있도록하는교육용프로그래

• 스테이지 배경을 클릭하고 난이도를 계획하세요.

• 보트가 피해야 할 나무

• 보트가 도착해야 할 사막 섬

3 5

Page 8: Boat Race · 2019. 12. 11. · 1 Scratch 개념알고넘어가기 1 “ Scratc 란? • Scratch 는MIT Media Lab의 프로젝트로, 누구나쉽게코딩을배 울수있도록하는교육용프로그래

말하 2단계 : 보트 조종하기

단계별 체크리스트

• 보트에 코드를 추가하여 맨 아래 왼쪽부터 시작하여 마우스 포인터를

따라 이동하게 합니다.

• 초록색 깃발을 클릭하고 마우스를 움직여 코드를 테스트해 보세요.

보트가 마우스 포인터쪽으로 이동하나요?

4 6

Page 9: Boat Race · 2019. 12. 11. · 1 Scratch 개념알고넘어가기 1 “ Scratc 란? • Scratch 는MIT Media Lab의 프로젝트로, 누구나쉽게코딩을배 울수있도록하는교육용프로그래

• 보트가 마우스 포인터에 다다르면 어떻게 되나요?

이 문제를 해결하려면 블록을 코드에 추가하여 보트가

마우스에서 5픽셀 이상 떨어져 있을 때만 움직이도록 해야 합니다.

• 코드를 다시 실행시켜 문제가 해결되었는지 확인해 보세요.

5 7

Page 10: Boat Race · 2019. 12. 11. · 1 Scratch 개념알고넘어가기 1 “ Scratc 란? • Scratch 는MIT Media Lab의 프로젝트로, 누구나쉽게코딩을배 울수있도록하는교육용프로그래

말하 3단계 : 충돌

현재의 보트 스프라이트는 나무를 통과할 수 있습니다. 이제 그

문제를 해결 해 봅시다.

단계별 체크리스트

• 보트 스프라이트에 두개의 모양이 필요합니다. 보통 모양 하나와

충돌했을 때의 모양 하나입니다. 보트 스프라이트의 모양을 복사하고

하나는 ‘normal’, 하나는 ‘hit’라고 이름 짓도록 하겠습니다.

• ‘hi’모양을 클릭하고 ‘선택‘ 도구를 사용하여 보트 모양을 드래그하여

조각내어 보트가 부서지는 것처럼 보이게 만듭니다.

6 8

Page 11: Boat Race · 2019. 12. 11. · 1 Scratch 개념알고넘어가기 1 “ Scratc 란? • Scratch 는MIT Media Lab의 프로젝트로, 누구나쉽게코딩을배 울수있도록하는교육용프로그래

• 다음의 코드를 루프안에 추가하여 나무 파편에 부딪치면

‘hit’모양으로 바꾸어 보트가 부서지는 것처럼 만드세요.

• 또한 , 보트 스프라이트가 항상 ‘normal'모습으로 시작하도록

만드세요.

• 이제 보트 스프라이트가 나무 장애물을 뚤고 가려고 하면 보트가

충돌하고 시작 지점으로 돌아가는 걸 볼 수 있습니다.

7 9

Page 12: Boat Race · 2019. 12. 11. · 1 Scratch 개념알고넘어가기 1 “ Scratc 란? • Scratch 는MIT Media Lab의 프로젝트로, 누구나쉽게코딩을배 울수있도록하는교육용프로그래

도전과제 : 승리!

또 하나의 조건을 보트스프라이트의 코드에 더해서 플레이어가

사막 섬에 도착하면 승리하도록 만들 수 있나요?

보트가 사막섬에 도착하면 ‘좋았어!’라고 출력되고 게임이 멈추어야

합니다. 이 코드를 추가하세요.

8 10

Page 13: Boat Race · 2019. 12. 11. · 1 Scratch 개념알고넘어가기 1 “ Scratc 란? • Scratch 는MIT Media Lab의 프로젝트로, 누구나쉽게코딩을배 울수있도록하는교육용프로그래

도전과제 : 음향효과

보트가 충돌했을 때나 섬에 도착했을 때의 음향효과를 넣을 수 있나요?

또한 배경 음악도 넣을 수 있습니다.

(도움이 필요하다면 ‘록 밴드' 프로젝트를 참고하세요)

9

MEMO.

11

Page 14: Boat Race · 2019. 12. 11. · 1 Scratch 개념알고넘어가기 1 “ Scratc 란? • Scratch 는MIT Media Lab의 프로젝트로, 누구나쉽게코딩을배 울수있도록하는교육용프로그래

말하 4단계 : 시간 제한

게임에 타이머를 추가하여 플레이어가 섬에 최대한 빨리 도착해야

합니다.

단계별 체크리스트

• 스테이지에 변수를 만들어 주세요. 또한 변수의 디스플레이도

바꿔 볼 수 있습니다.

• 이 코드를 스테이지에 추가하여 타이머가 사막 섬에 도착할 때 까지만

올라가도록 만드세요.

10 12

Page 15: Boat Race · 2019. 12. 11. · 1 Scratch 개념알고넘어가기 1 “ Scratc 란? • Scratch 는MIT Media Lab의 프로젝트로, 누구나쉽게코딩을배 울수있도록하는교육용프로그래

• 게임을 시작해서 얼마나 빨리 사막 섬에 도착할 수 있는지 해 보세요!

말하 5단계 : 장애물과 파워 업

지금 이 게임은 너무 쉽습니다. 몇 가지 요소를 더해 더 흥미롭게

만들어 봅시다.

단계별 체크리스트

• 보트의 속도를 올려주는 ‘부스터’를 더해봅시다. 스테이지 배경을

편집해서 흰색 부스터 화살표들을 만들어 넣읍시다.

11 13

Page 16: Boat Race · 2019. 12. 11. · 1 Scratch 개념알고넘어가기 1 “ Scratc 란? • Scratch 는MIT Media Lab의 프로젝트로, 누구나쉽게코딩을배 울수있도록하는교육용프로그래

• 이제 보트 스프라이트에 코드를 더해 흰색 부스터를

건드리면 3만큼 더 움직에게 만들어봅시다.

• 또한 보트가 피해야 할 회전 게이트를 만들어 줍니다. 이렇게 생긴

‘gate’라는 스프라이트를 넣으세요.

게이트의 색은 나무 장벽의 색과 같게 만듭니다.

12 14

Page 17: Boat Race · 2019. 12. 11. · 1 Scratch 개념알고넘어가기 1 “ Scratc 란? • Scratch 는MIT Media Lab의 프로젝트로, 누구나쉽게코딩을배 울수있도록하는교육용프로그래

• 게이트 스프라이트의 가운데가 중심점에 위치하도록 합니다.

• 게이트 스프라이트에 코드를 추가하여 천천히 회전하는

것을 무한 반복합니다.

• 게임을 다시 실행시켜 보세요. 이제 보트가 피해야 할 회전 게이트가

더해졌을 겁니다.

13 15

Page 18: Boat Race · 2019. 12. 11. · 1 Scratch 개념알고넘어가기 1 “ Scratc 란? • Scratch 는MIT Media Lab의 프로젝트로, 누구나쉽게코딩을배 울수있도록하는교육용프로그래

14

도전과제 : 더 많은 장애물!

게임에 더 많은 장애물을 넣을 수 있나요? 몇가지 아이디어들을 입니다.

배경에 초록색 점액을 더해 플레이어가 건드리면

블록을 사용하여 느리게 가도록 만들 수 있습니다.

통나무나 상어같은 움직이는 오브젝트를 넣을 수도 있습니다!

16

Page 19: Boat Race · 2019. 12. 11. · 1 Scratch 개념알고넘어가기 1 “ Scratc 란? • Scratch 는MIT Media Lab의 프로젝트로, 누구나쉽게코딩을배 울수있도록하는교육용프로그래

15

다음 블록들이 도움이 될 것입니다.

보트에 다음 코드를 추가하여 코드를 만들 수 있습니다.

MEMO.

17

Page 20: Boat Race · 2019. 12. 11. · 1 Scratch 개념알고넘어가기 1 “ Scratc 란? • Scratch 는MIT Media Lab의 프로젝트로, 누구나쉽게코딩을배 울수있도록하는교육용프로그래

도전과제 : 더 많은 보트!

게임을 2명의 플레이어가 경쟁하는 레이스로 만들 수 있나요?

보트를 복사한 후 이름은 ‘Player2’로 바꾸고 색깔도 바꾸세요.

두번째 보트의 시작점을 다음의 코드로 바꾸세요.

16 18

Page 21: Boat Race · 2019. 12. 11. · 1 Scratch 개념알고넘어가기 1 “ Scratc 란? • Scratch 는MIT Media Lab의 프로젝트로, 누구나쉽게코딩을배 울수있도록하는교육용프로그래

17

마우스로 보트를 움직이는 코드를 지우세요.

그리고, 방향키로 보트를 움직이는 코드로 바꾸어 넣으세요.

앞으로 움직이게 하는데 필요한 코드는 다음과 같습니다.

또한 보트의 방향을 바꾸는데 필요한 코드도 추가하여야 할 것입니다.

19

Page 22: Boat Race · 2019. 12. 11. · 1 Scratch 개념알고넘어가기 1 “ Scratc 란? • Scratch 는MIT Media Lab의 프로젝트로, 누구나쉽게코딩을배 울수있도록하는교육용프로그래

18

도전과제 : 더 많은 난이도!

더 많은 배경을 만들어서 플레이어가 난이도 레벨 사이를 고를 수 있게

만들 수 있나요?

MEMO.

20

Page 23: Boat Race · 2019. 12. 11. · 1 Scratch 개념알고넘어가기 1 “ Scratc 란? • Scratch 는MIT Media Lab의 프로젝트로, 누구나쉽게코딩을배 울수있도록하는교육용프로그래

w

ww.codeclub.org

{code club}

{c

ode club}

www.codeclub.org

code!I can

www.codeclub.org

{code club}

{code club}

www.codeclub.org

whenclickedsay I can code!

{code club}

w

ww.codeclub.org

‘코드 클럽(Code Club)’은 영국 라즈베리파이재단에서 운영하는 무료 소프트웨어 교육

프로그램으로, 전 세계 어린이들이 처해진 환경에 상관없이 누구나 동일하게 소프트웨

어 교육을 받을 수 있도록 선생님과 자원 봉사자들에게 교육 커리큘럼과 운영 시스템

을 무상으로 제공하고 있습니다.

“모든 아이들이 열정과 디지털 메이킹 능력을 갖출 수 있는 세상을 만듭니다.”

“소프트웨어 교육의 로컬 에듀를 실현합니다.”

*로컬 에듀(LOCALEDU): 아이들에게 자신들이 나고 자란 지역을 가르 피고, 그 지역의 주민들과 상생할 수

있는, 그리고 나아가 그 지역에서 살아갈 수 있게 하는 교육을 의미, 즉, 학교(교사, 학부모, 학생), 교육청, 그

리고 지자체가 소통할 수 있는 통로를 만들어 협력하는 관계를 구축한다는 뜻.

LEARN

모든 아이들이 디지털 메이커로

서의 잠재력을 실현해 가는SW

교육 환경을 만들어갑니다

TEACH

교육봉사자들이 지속적으로 전

문성을 키워나갈 수 있도록 가

르치기좋은환경을만들어갑니다

SHARE

디지털 메이커들이 더 나은 교

육을 제공받을 수 있도록 정보

를나누는 환경을 만들어갑니다

코드클럽한국위원회 소개

Misson

Vision

핵심전략

후원 문의

코드클럽은 어린이를 위해 sw 교육기부를 실천하는 비영리 단체입니다.

여러분의 따뜻한 관심과 지원이 우리 아이들이 디지털 메이킹 능력을 갖출 수 있는 저변 확대를 위한

소중한 지지대가 됩니다.

코드클럽에서는 도움을 주실 후원 단체, 개인을 찾고있습니다. 많은 관심과 지원을 부탁합니다

문의 전화 : 02-792-0615

메일 : [email protected]

Page 24: Boat Race · 2019. 12. 11. · 1 Scratch 개념알고넘어가기 1 “ Scratc 란? • Scratch 는MIT Media Lab의 프로젝트로, 누구나쉽게코딩을배 울수있도록하는교육용프로그래

COPYRIGHT ⓒ2019 CODE CLUB Republic of KOREA.