rpg · 2019-12-11 · 1 단계: 새로운 방 추가하기 go south 를 입력하면hall (홀)...

24
RPG Simple coding for total beginners PYTHON

Upload: others

Post on 14-Mar-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: RPG · 2019-12-11 · 1 단계: 새로운 방 추가하기 go south 를 입력하면hall (홀) 에서 kitchen ( 주방) 으로 이동할 수 있습니다. go north 를 입력하면다시

RPG

Simple coding for total beginners

PYTHON

Page 2: RPG · 2019-12-11 · 1 단계: 새로운 방 추가하기 go south 를 입력하면hall (홀) 에서 kitchen ( 주방) 으로 이동할 수 있습니다. go north 를 입력하면다시

{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: RPG · 2019-12-11 · 1 단계: 새로운 방 추가하기 go south 를 입력하면hall (홀) 에서 kitchen ( 주방) 으로 이동할 수 있습니다. go north 를 입력하면다시

개념알고넘어가기Python

1

“Python 이란?

Python은 범용 프로그래밍 언어로서 코드를 쉽게

읽을 수 있고, 간결하게 코딩할 수 있게 고안된 언어

이다.

*범용 프로그래밍 언어(General programming

language): 다양한 도메인의 소프트웨어를 개발하기 위

해 설계된 프로그래밍 언어. 특정 도메인에서만 사용되는

프로그래밍 언어와 대비된다. 예를 들어 www웹페이지

작성에 사용되는 HTML은 범용언어가 아니고, C나

JAVA와 같은 언어는 다양한 소프트웨어 개발에 사용되

므로 범용 프로그래밍 언어이다.

어디서이용될까?

파이썬은코딩교육에도많이사용되지만, 기업에서도많이사용된다. 세계적인기업구글에서만든소프트웨어의 50%이상이파이썬으로작성되었다고한다.또인스타그램, 드롭박스등도파이썬을애용하고있는기업이다.

파이썬의장점은?

• 문법이쉬워빠르게배울수있다.• 무료로누구나사용할수있다.• 간결하게코딩할수있다.• 개발속도가빨라다양한응용버전을구할수있다.

1

{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: RPG · 2019-12-11 · 1 단계: 새로운 방 추가하기 go south 를 입력하면hall (홀) 에서 kitchen ( 주방) 으로 이동할 수 있습니다. go north 를 입력하면다시

모든 Code Club회원에게 회원 가입을 추천합니다. 우리는 가입자 수를 체크하여 우리의 기여

도를 판단하고, 이를 바탕으로 계속해서 어린이들이 무료로 코딩을 배울 수 있는 컨텐츠를 제

공할 수 있습니다. 가입은 codeclubworld.org 에서 할 수 있습니다.

개요 이 프로젝트에서는 RPG 미로 게임을 설계하고 코딩해 볼 것입니다. 게임의 목표는 모든 몬스터를 피하며 물건을 모아 집에서 탈출하는 것입니다!

RPG Python

1 2

모든 Code Club회원에게 회원 가입을 추천합니다. 우리는 가입자 수를 체크하여 우리의 기여

도를 판단하고, 이를 바탕으로 계속해서 어린이들이 무료로 코딩을 배울 수 있 는 컨텐츠를 제공

할 수 있습니다. 가입은 codeclubworld.org 에서 할 수 있습니다.

Page 5: RPG · 2019-12-11 · 1 단계: 새로운 방 추가하기 go south 를 입력하면hall (홀) 에서 kitchen ( 주방) 으로 이동할 수 있습니다. go north 를 입력하면다시

1 단계: 새로운 방 추가하기

go south 를 입력하면 hall (홀) 에서 kitchen (주방) 으로 이동할 수 있습니다. go nor th 를 입력하면 다시 hall (홀)로 돌아올 수 있습니다!

Activity Checklist

게임을 위한 코드 일부가 제공됩니다. 다음 주소에 접속하여 trinket을 실행하십시오 (jumpto.cc/rpg-go). 만약 온라인 상에서 이 문서를 보고 있다면 아래의 내장 trinket을 사용할 수도 있습니다.

방이 2개 있는 매우 간단한 RPG 게임의 예시입니다. 아래 그림은 게임의 지도 입니다.

2 3

Page 6: RPG · 2019-12-11 · 1 단계: 새로운 방 추가하기 go south 를 입력하면hall (홀) 에서 kitchen ( 주방) 으로 이동할 수 있습니다. go north 를 입력하면다시

갈 수 없는 방향으로 go 명령을 입력하면 어떻게 될까요? hall (홀) 에서 go west 를 입력하면 에러 메시지를 볼 수 있습니다.

rooms 변수를 확인하면 지도가 d ic t ionary로 선언되어 있음을 알 수 있습니다 .

3 4

Page 7: RPG · 2019-12-11 · 1 단계: 새로운 방 추가하기 go south 를 입력하면hall (홀) 에서 kitchen ( 주방) 으로 이동할 수 있습니다. go north 를 입력하면다시

그러기 위해서는 3번째 방인 d in ing room 을 추가해야 합니다. 또한 생성한 dining room (식당)에서 1번 방인 hall (홀)을 서쪽 (west)방향으로 연결해야 합니다. 또한 데이터를 추가하여 hall (홀) 에서 동쪽 (east)로 움직였을 때 dining room (식당)으로 이동할 수 있도록 해야 합니다.

rooms 변수 (dictionary 타입)의 key는 방의 번호이고 value는 방의 연결 정보를 모두 포함하고 있는 다른 dictionary 입니다. 예를 들어 위에 있는 코드 상에서 1번 방은 hall (홀) 입니다. Hall (홀)은 2번 방인 kitchen (주방) 과 남쪽 (south) 방향으로 연결되어 있습니다. 2번 방인 kitchen (주방)은 또한 1번 방인 hall (홀) 과 북쪽 (north) 방향으로 연결되어 있습니다.

Hall (홀) 의 동쪽 (east)에 dining room (식당)을 지도상에 추가해 보십시오.

4 5

Page 8: RPG · 2019-12-11 · 1 단계: 새로운 방 추가하기 go south 를 입력하면hall (홀) 에서 kitchen ( 주방) 으로 이동할 수 있습니다. go north 를 입력하면다시

만약 d in ing room (식당 )으로 들어가거나 나올 수 없다면 위에 추가한 코드를 확인해 보십시오 (반점도 추가해야 합니다 ) .

새롭게 dining room (식당)이 추가된 게임을 해보십시오.

Save Your Project

5 6

Page 9: RPG · 2019-12-11 · 1 단계: 새로운 방 추가하기 go south 를 입력하면hall (홀) 에서 kitchen ( 주방) 으로 이동할 수 있습니다. go north 를 입력하면다시

도전: 새로운 방 추가하기

게임에 방을 더 추가할 수 있나요? 예를 들어 dining room (식당) 남쪽에 living room (거실)을 추가할 수 있나요? 두 방 사이에 문을 추가해야 한다는 사실을 기억하십시오!

Save Your Project

6

MEMO.

7

Page 10: RPG · 2019-12-11 · 1 단계: 새로운 방 추가하기 go south 를 입력하면hall (홀) 에서 kitchen ( 주방) 으로 이동할 수 있습니다. go north 를 입력하면다시

2 단계: 수집할 아이템 추가하기

새로운 아이템을 추가하기에 앞서 반점 (,)을 추가해야 한다는 사실을 기억하십시오. 그렇게 하지 않으면 프로그램이 동작하지 않을 것입니다.

방에 아이템을 두어 플레이어가 미로를 이동하며 이를 수집할 수 있도록 해 보십시오.

Activity Checklist

방에 아이템을 추가하는 것은 쉽습니다. rooms dictionary에 추가할 수 있습니다. Hall (홀)에 key (열쇠)를 추가해 보십시오.

7 8

Page 11: RPG · 2019-12-11 · 1 단계: 새로운 방 추가하기 go south 를 입력하면hall (홀) 에서 kitchen ( 주방) 으로 이동할 수 있습니다. go north 를 입력하면다시

위 코드를 추가하고 게임을 실행 한다면 ha l l (홀 )에 key (열쇠 )가 있는 것을 확인 할 수 있습니다 . get key 를 입력하여 key (열쇠 )를 주워 인벤토리에 추가할 수 있습니다 !

Save Your Project

8 9

Page 12: RPG · 2019-12-11 · 1 단계: 새로운 방 추가하기 go south 를 입력하면hall (홀) 에서 kitchen ( 주방) 으로 이동할 수 있습니다. go north 를 입력하면다시

도전: 새로운 아이템 추가하기

방에 아이템을 추가하십시오. 예를 들어 방패나 마법 포션 같은 것들 처럼 집을 탈출하는데 도움을 될 만하다고 생각되는 모든 것을 추가할 수 있습니다!

Save Your Project

9

MEMO.

10

Page 13: RPG · 2019-12-11 · 1 단계: 새로운 방 추가하기 go south 를 입력하면hall (홀) 에서 kitchen ( 주방) 으로 이동할 수 있습니다. go north 를 입력하면다시

3 단계: 적군 추가하기

지금까지 만든 게임은 너무 쉽습니다! 몇몇 방에 반드시 피해야 할 적군을 추가해 보십시오.

10

Activity Checklist

방에 적군을 추가하는 것은 아이템을 추가하는 방법과 같습니다. 굶주린 monster (몬스터)를 kitchen (주방)에 추가해 보십시오.

11

Page 14: RPG · 2019-12-11 · 1 단계: 새로운 방 추가하기 go south 를 입력하면hall (홀) 에서 kitchen ( 주방) 으로 이동할 수 있습니다. go north 를 입력하면다시

플레이어가 monster (몬스터)가 있는 방에 들어가면 게임이 종료되야 합니다. 다음 코드로 그것을 가능하게 할 수 있습니다. 다음 코드를 게임 마지막 부분에 추가 하십시오.

이 코드는 방에 아이템이 있는지 확인하고, 그것이 monster (몬스터) 인지 확인합니다. 코드 들여쓰기 되어 있어 윗 부분 코드와 같은 선상에 있음에 주의 하십시오. 즉, 플레이어가 새로운 방에 들어 갈 때마다 항상 monster (몬스터)가 있는지 여부를 확인합니다. 게임을 실행하여 monster (몬스터)가 있는 kitchen (주방)에 들어가 작성한 코드를 확인해 보십시오.

11 12

Page 15: RPG · 2019-12-11 · 1 단계: 새로운 방 추가하기 go south 를 입력하면hall (홀) 에서 kitchen ( 주방) 으로 이동할 수 있습니다. go north 를 입력하면다시

Save Your Project

12 13

Page 16: RPG · 2019-12-11 · 1 단계: 새로운 방 추가하기 go south 를 입력하면hall (홀) 에서 kitchen ( 주방) 으로 이동할 수 있습니다. go north 를 입력하면다시

도전: 몬스터 추가하기

게임에 몬스터를 추가하여 집을 탈출하기 어렵게 만들어 보십시오!

Save Your Project

13

MEMO.

14

Page 17: RPG · 2019-12-11 · 1 단계: 새로운 방 추가하기 go south 를 입력하면hall (홀) 에서 kitchen ( 주방) 으로 이동할 수 있습니다. go north 를 입력하면다시

4 단계: 게임에서 승리

플레이어에게 게임에 승리하기 위해 완수해야 하는 미션을 줘 보십시오.

Activity Checklist

게임에서 플레이어는 garden (정원)에 도착하여 집을 탈출하면 승리할 수 있습니다. 또한 key (열쇠)와 magic potion (마법 포션)을 가지고 있어야 합니다. 게임의 지도는 다음과 같습니다.

14 15

Page 18: RPG · 2019-12-11 · 1 단계: 새로운 방 추가하기 go south 를 입력하면hall (홀) 에서 kitchen ( 주방) 으로 이동할 수 있습니다. go north 를 입력하면다시

우선 dining room (식당) 남쪽에 garden (정원)을 추가합니다. 문을 추가하여 집에 있는 다른 방과 연결해야 하는 것을 기억하십시오.

15

Dining room (식당)에 potion (포션)을 추가하십시오 (혹은 집에 있는 다른 방에 추가해도 괜찮습니다).

16

Page 19: RPG · 2019-12-11 · 1 단계: 새로운 방 추가하기 go south 를 입력하면hall (홀) 에서 kitchen ( 주방) 으로 이동할 수 있습니다. go north 를 입력하면다시

플레이어가 key (열쇠)와 potion (포션)을 가진 채로 garden (정원)에 도착하면 게임에서 승리할 수 있도록 다음 코드를 추가하십시오.

코드가 들여쓰기 되어 있어 윗 부분 코드와 같은 선상에 있음에 주

의 하십시오. 이 코드는 플레이어가 key (열쇠)와 potion (포션)을

인벤토리에 지닌 채로 네 번째 방인 garden (정원)에 도착하면 You

escaped the house…YOU WIN! 이라는 메시지를 출력합니다.

플레이어가 게임에서 승리할 수 있는지 게임을 실행하여 확인해 보십시오!

16 17

Page 20: RPG · 2019-12-11 · 1 단계: 새로운 방 추가하기 go south 를 입력하면hall (홀) 에서 kitchen ( 주방) 으로 이동할 수 있습니다. go north 를 입력하면다시

게임 설명에 어떤 아이템을 모아야 하는지, 무엇을 피해야 하는지 등을 추가해야 할 것입니다.

마지막으로 게임에 설명을 추가하여 플레이어가 무엇을 해야 하는지 알 수 있도록 해보십시오. showIns t ruc t ions ( ) 함수를 수정하여 더 많은 정보를 포함하도록 만들어 보십시오.

17 18

Page 21: RPG · 2019-12-11 · 1 단계: 새로운 방 추가하기 go south 를 입력하면hall (홀) 에서 kitchen ( 주방) 으로 이동할 수 있습니다. go north 를 입력하면다시

게임을 실행하여 작성한 설명을 볼 수 있는지 확인해 보십시오.

Save Your Project

18 19

Page 22: RPG · 2019-12-11 · 1 단계: 새로운 방 추가하기 go south 를 입력하면hall (홀) 에서 kitchen ( 주방) 으로 이동할 수 있습니다. go north 를 입력하면다시

도전: 나만의 게임 만들기

나만의 게임을 만들기 위해 배운 것들을 사용해 보십시오. 많은 방과

피해야할 몬스터를 추가하고, 수집해야 할 아이템을 만들어 보십시

오. 코드를 수정하여 플레이어가 특정한 아이템을 인벤토리에 지닌

채 특정한 방에 도착했을 때 게임에 승리할 수 있도록 코드를 수정해

야 하는 것을 기억하십시오. 코딩을 하기 전에 그림을 그리면 도움이

될 것 입니다.

심지어 지도에 계단을 추가하여 여러 층의 방을 만들 수도 있습니다.

go up 과 go down 을 입력하여 층 간을 이동할 수도 있습니다.

19

MEMO.

20

Page 23: RPG · 2019-12-11 · 1 단계: 새로운 방 추가하기 go south 를 입력하면hall (홀) 에서 kitchen ( 주방) 으로 이동할 수 있습니다. go north 를 입력하면다시

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: RPG · 2019-12-11 · 1 단계: 새로운 방 추가하기 go south 를 입력하면hall (홀) 에서 kitchen ( 주방) 으로 이동할 수 있습니다. go north 를 입력하면다시

COPYRIGHT ⓒ2019 CODE CLUB Republic of KOREA.