Python으로 나만의 어드벤처 게임을 코딩하는 방법

01/18 2016
Python으로 나만의 어드벤처 게임을 코딩하는 방법
(이미지: © 미래)

Python으로 나만의 어드벤처 게임을 코딩하는 방법

파이썬

Raspberry Pi (새 탭에서 열림) 는 훌륭한 기술이지만 많은 사람들이 이를 최대한 활용하지 않습니다. Raspberry Pi를 사용하면 환경을 감지하는 로봇, 영화를 볼 수 있는 미디어 센터 또는 간단한 코드 몇 줄과 많은 상상력으로 만든 환상과 모험의 세계 등 원하는 모든 것을 만들 수 있습니다.

1980년대에 컴퓨터 그래픽은 블록 게임 캐릭터와 작업할 수 있는 색상 팔레트가 제한된 초기 단계였습니다. 어드벤처 게임과 롤 플레잉 게임은 플레이어가 상상력을 발휘하여 게임 세계의 비전을 창조하는 완전히 텍스트 기반인 것이 매우 일반적이었습니다.

Zork와 같은 게임은 매력적인 스토리와 캐릭터로 풍부한 세계를 만들었지만 환경을 설명하는 그래픽은 거의 없었습니다. 이것은 1980년대 말과 90년대 초까지 지속되었으며 Loom, Monkey Island 및 Full Throttle과 같은 고전적인 그래픽 어드벤처 게임 컬렉션을 만든 LucasArts의 환상적인 작업으로 인해 변경되었습니다.

이 튜토리얼에서는 Raspberry Pi와 Python이라는 프로그래밍 언어를 사용하여 우리만의 게임 세계와 그 세계에 거주할 일부 캐릭터가 있는 고유한 텍스트 모험을 만들 것입니다. 그리고 이 모든 것은 일부 Python 코드와 몇 가지 프로그래밍 개념을 사용하여 생성됩니다.

Python은 배우기 쉬운 프로그래밍 언어로 영국 전역의 Raspberry Pi 사용자와 학교에서 가장 선호하는 언어입니다.

그렇다면 파이썬은 무엇입니까?

Python은 텍스트 프로그래밍 언어이며, 이는 편집기에 입력된다는 것을 의미합니다. Python은 매우 관용적인 구문을 사용하고 읽기가 매우 쉽기 때문에 코딩 학습이 정말 즐거운 경험이 됩니다.

Raspberry Pi에는 이미 훌륭한 코드 편집기가 표준으로 설치되어 있습니다. IDLE이라고 하며 게임을 빌드하는 데 사용할 것입니다. Raspberry Pi 데스크톱에서 IDLE에 대한 링크를 찾을 수 있습니다.

Python은 Raspbian 운영 체제를 실행하는 모든 Raspberry Pi에 사전 설치되어 제공됩니다. Pi에 Raspbian이 설치되어 있지 않은 경우 Raspberry Pi 웹사이트 (새 탭에서 열림) 에서 사본을 가져올 수 있습니다 .

이것은 사용하기 쉬운 NOOBS(New Out Of the Box Software) 아카이브의 일부이며 다운로드하여 빈 4GB(또는 그 이상) SD 카드로 추출할 수 있습니다.

현재 사용할 수 있는 Python 버전은 버전 2.7과 3의 두 가지입니다. 이 자습서에서는 지원 및 문서가 가장 많은 2.7을 사용합니다. Python 3는 배우기에 훌륭한 언어이며 확실히 언어의 미래이지만 현재는 유동적이며 숙련된 Python 프로그래머만 사용해야 합니다.

내러티브 만들기

우리 게임에는 두 가지가 필요합니다. 플레이어를 즐겁게 해주는 스토리와 스토리가 전개되는 방식을 제어하는 ​​로직입니다. 우리의 이야기를 위해 우리는 마법과 모험이 도처에 있는 Narule의 세계를 만들고 있습니다. 그리고 우리는 이 땅을 여행하고, 새로운 마을과 정착지를 방문하고, 이 땅과 그 위에 드리워진 어두운 그림자에 대해 더 많이 알기 위해 사람들과 대화해야 하는 영웅인 당신을 만들고 있습니다.

프로젝트를 시작하기 위해 확장할 수 있는 몇 가지 내러티브를 만들었습니다. 자유롭게 스토리를 직접 만들어 보세요. 이것이 이 튜토리얼의 핵심입니다. 이것은 당신의 게임입니다. 시작할 수 있도록 스타터 템플릿 역할을 하는 몇 가지 코드를 만들었습니다. 여기 (새 탭에서 열림)에서 무료 사본을 다운로드할 수 있습니다 .

코드를 다운로드한 다음 IDLE을 사용하여 엽니다('파일 > 열기'에서 코드를 다운로드한 위치로 이동). 이제 코드를 살펴보고 #으로 시작하는 모든 줄에 특히 주의를 기울이십시오. 이는 해당 지점에서 코드가 수행하는 작업을 이해하는 데 도움이 되도록 추가된 코드의 주석이기 때문입니다.

현재 코드에는 확장할 수 있는 기본 스토리가 있으며 이 튜토리얼 과정에서 이를 수행할 것입니다. 우리의 이야기는 우리의 이야기를 구성하는 텍스트 블록을 통해 전개되며 각 블록이 다음과 비슷하게 보이는 것을 볼 수 있습니다.

chapter1 = "추운 밤이었고,

신들에게만 알려진 흉포한 서부"

이를 변수라고 하며 많은 텍스트나 숫자를 저장할 수 있습니다. 우리는 그것들을 사용하여 우리의 이야기를 담은 다음, 그것들을 사용하고 싶을 때 다음과 같이 인쇄 기능을 사용합니다.

챕터 1 인쇄

인쇄 기능은 변수 내부를 살펴보고 그 내용을 화면에 인쇄합니다. 이는 매우 편리하며 스토리를 한 번만 작성하면 원하는 만큼 여러 번 재사용할 수 있음을 의미합니다.

프로그래밍 개념

파이썬

Python은 이해하기 매우 쉽기 때문에 배우기에 정말 훌륭한 언어이며 Python으로 프로그래밍 논리의 개념을 마스터하면 더 큰 응용 프로그램을 개발할 수 있습니다.

어떤 언어를 사용하든 코딩의 기본 개념은 여러 언어에서 사용할 수 있는 확고한 기반을 제공합니다. 주요 개념은 다음과 같습니다.

시퀀스

특정 순서로 완료해야 하는 일련의 작업입니다. 예를 들어 미로를 푸는 데 필요한 단계입니다.

루프

시퀀스를 반복하는 방법입니다. 영원히(참인 동안) 실행하거나 for 문을 사용하여 제어할 수 있습니다(범위(0,3)의 x에 대해).

병행

하나 이상의 코드 시퀀스를 동시에 실행합니다.

이벤트

이벤트는 일련의 코드를 시작하는 트리거이며, 우리가 만들고 있는 게임에서 가장 눈에 띄는 이벤트는 게임을 시작하기 위해 영웅의 이름을 입력하는 것입니다.

데이터

변수를 사용하여 영웅 이름 값을 저장한 다음 나중에 변수를 검색하고 조작하여 게임 전체에서 플레이어의 이름을 표시하고 게임 경험을 개인화할 수 있습니다.

조건부

조건문은 논리의 기초를 형성하며 플레이어가 제공한 입력과 데이터를 비교할 수 있는 방법을 제공합니다. 주어진 답과 예상 답을 비교하기 위해 게임에서 조건문을 사용했습니다. 일치하면 부울 논리에서 TRUE로 분류됩니다.

연산자

이것들은 우리가 학교에서 다시 배운 기본적인 수학적 규칙입니다. 텍스트와 숫자에 연산자를 적용하여 코드에서 계산을 수행하고 필요한 경우 데이터를 반복할 수 있습니다.

1. 게임하기

파이썬

IDLE에는 작업할 수 있는 두 개의 창이 있습니다. 코드가 포함된 편집기와 게임이 실행되는 셸입니다. 게임을 시작하려면 편집기에서 '실행'을 클릭한 다음 '모듈 실행'을 클릭합니다.

셸 창이 다른 모든 창 앞에 나타나고 게임이 시작됩니다.

2. 모듈 가져오기

파이썬

다른 코더가 만든 모듈을 코드로 가져올 수 있습니다. 우리는 두 가지 모듈을 가져오고 있습니다. Random은 캐릭터에 대해 무작위 선택을 사용할 수 있는 코드를 포함합니다. 시간과 함께 작업하고 게임을 일시 중지할 수 있는 시간.

3. 함수 만들기

파이썬

많은 코드를 함수로 그룹화할 수 있습니다. 하나를 생성하려면 def name()을 사용합니다. – 이것은 name이라는 함수를 생성하고 원하는 대로 함수를 호출할 수 있습니다.

[Enter] 키를 누르면 Python이 코드를 네 칸 들여쓰고 이 함수에서 코드가 실행되기를 기다립니다.

4. 변수 사용

파이썬

나중에 사용할 수 있는 정보를 저장하기 위해 변수를 사용합니다. 예를 들어 내러티브를 저장하고 여러 번 재사용합니다. 변수를 빈 상자로 생각하십시오. 그 안에 무엇이든 넣을 수 있고 옆면에 이름을 쓸 수 있습니다.

일부 변수 이름과 함께 사용되는 '글로벌'이라는 용어를 볼 수 있습니다. 이를 통해 함수 내부와 외부에서 사용할 수 있습니다.

5. 입력 받기

파이썬

원시 입력은 플레이어의 입력을 요청하는 Python 방식입니다. 우리는 그것을 사용하여 플레이어의 이름을 캡처하고 게임에서 그들의 결정을 캡처합니다.

원시 입력은 키보드 입력을 텍스트 문자열로 캡처하므로 캡처된 모든 숫자는 정수 또는 실수로 변환해야 하며 이는 int() 및 float() 도우미 함수를 사용하여 수행할 수 있습니다.

6. 선택하기

파이썬

조건문은 논리적 선택입니다. 예를 들어 어느 방향으로 가십니까?

플레이어가 가고자 하는 방향을 move라는 변수로 저장한 다음 변수에 저장된 값을 사용자에게 누르라고 요청한 키와 비교합니다. 두 개가 일치하면 관련 코드가 실행됩니다.

7. 그렇지 않으면

파이썬

If..elif..else 는 추가 조건문이며 다음과 같이 작동합니다. 첫 번째 조건을 살펴보고 그것이 맞으면(또는 Python에서는 true) 이 조건 아래의 코드가 실행됩니다. 그렇지 않으면(elif) 이 조건이 참이면 이 명령문에 대해 코드가 실행됩니다.

Else는 위의 조건이 모두 false이고 이것이 true여야 하므로 이 코드가 실행됩니다.

8. 목록 사용

파이썬

목록은 많은 데이터를 담을 수 있는 큰 컨테이너입니다. 문서로 가득 찬 서류 캐비넷이라고 생각하십시오. 우리 게임에서 우리는 목록을 사용하여 항목(검과 방패)의 인벤토리를 저장했습니다.

먼저 다음을 사용하여 빈 목록을 만듭니다.

"무기 = []"

변수와 마찬가지로 목록에 원하는 이름을 지정할 수 있습니다. 목록에 추가하려면 다음을 사용합니다.

무기.추가("검")

9. 번호 선택

파이썬

임의의 숫자는 영웅이 완전히 독특하도록 도와줍니다. 이러한 숫자를 임의로 선택하기 위해 random 모듈, 특히 randint 또는 임의의 정수라는 함수를 사용합니다.

randint를 사용하려면 작업할 숫자 범위를 지정해야 하며 이는 다음과 같이 수행됩니다.

란딘트(5,20)

이것은 5에서 20 사이의 범위를 생성하고 randint에게 해당 범위에서 임의의 숫자를 선택하도록 요청합니다.

10. 사람 소개하기

파이썬

우리 게임에는 대화할 흥미로운 사람들이 필요하므로 하나를 만들어 봅시다. 임의의 주민을 처리하는 새로운 기능이 있는 코드의 57행을 볼 수 있습니다.

그들의 이름은 임의적이며 목록에서 선택되지만 먼저 목록을 섞은 다음 목록에서 첫 번째 항목을 선택합니다. Python에서는 항상 0 또는 npcnamechoice[0]입니다.

11. 스토리 확장

파이썬

게임에 새 콘텐츠를 추가하는 것은 쉽습니다. 새로운 캐릭터나 주민을 추가하고 싶다면 새로운 기능을 만드는 것이 가장 좋은 방법입니다. 이렇게 하면 각각의 새 항목에 대한 코드가 자체 기능에 포함되지만 게임에서 쉽게 사용할 수 있습니다.

내러티브는 이러한 기능을 결합하고 플레이어가 따라갈 선형 스토리를 제공해야 합니다.

12. 싸움을 선택

파이썬

전투는 어떻습니까? 적들은 주민과 같은 방식으로 생성할 수 있지만 영웅에게 부여한 것처럼 무작위로 할당된 건강 및 마법 포인트(모험에서는 HP 및 MP)를 부여하고 싶을 수 있습니다.

적이 포함된 새 함수를 만들고 설정 지점에서 코드에 배치한 다음 코드를 테스트합니다.

13. 문자열과 숫자 결합

파이썬

텍스트 또는 파이썬에서 말하는 문자열로 작업할 때 문자열과 숫자를 결합하고 싶을 수 있습니다. 다음과 같이 하려고 하면 다음과 같습니다.

인쇄 "안녕하세요" + 1

Python은 둘을 결합할 수 없다는 오류를 생성합니다. 그러나 str()이라는 도우미 함수에서 정수를 래핑하면 다음과 같이 둘을 결합할 수 있습니다.

"안녕하세요" + str(1) 인쇄