Como codificar seu próprio jogo de aventura em Python

O Raspberry Pi é uma maravilhosa peça de tecnologia, mas muitas pessoas não o usam em todo o seu potencial. Com o seu Raspberry Pi, você pode criar o que quiser - um robô que perceba seu ambiente, um centro de mídia para assistir filmes ou um mundo de fantasia e aventura criado a partir de algumas linhas simples de código e muita imaginação de você mesmo..

Na década de 1980, a computação gráfica ainda estava em sua infância, com personagens de jogos e uma paleta de cores limitada para trabalhar. Era muito comum os jogos de aventura e role-playing serem completamente baseados em texto, com o jogador usando sua imaginação para criar visões do mundo do jogo..

Jogos como Zork criaram mundos ricos, com histórias e personagens atraentes, mas com poucos gráficos para ilustrar os ambientes. Isso permaneceu até o final dos anos 80 e início dos anos 90, e só mudou devido a um trabalho fantástico da LucasArts, que criou uma coleção de jogos clássicos de aventura gráfica como Loom, Monkey Island e Full Throttle..

  • Confira nossa coleção de fantásticos projetos Raspberry Pi

Para este tutorial, usaremos nosso Raspberry Pi e uma linguagem de programação chamada Python para criar nossa própria aventura de texto, com nosso próprio mundo de jogo e alguns personagens para habitar esse mundo. E tudo isso será criado usando algum código Python e alguns conceitos de programação.

O Python é uma linguagem de programação fácil de aprender, que se tornou uma das favoritas dos usuários e escolas do Raspberry Pi em todo o Reino Unido..

Então, o que é Python??

Python é uma linguagem de programação textual e, com isso, queremos dizer que ela é digitada em um editor. O Python usa uma sintaxe muito tolerante e é muito fácil de ler, o que torna o aprendizado de codificar uma experiência realmente agradável.

No Raspberry Pi, já temos um ótimo editor de código instalado como padrão - ele é chamado de IDLE e vamos usá-lo para construir nosso jogo. Você pode encontrar um link para o IDLE no desktop do Raspberry Pi.

O Python vem pré-instalado em todos os Raspberry Pi que estão executando o sistema operacional Raspbian. Se você não tem Raspbian instalado no seu Pi, você pode pegar uma cópia no site do Raspberry Pi.

É parte do arquivo fácil de usar NOOBS (New Out Of the Box Software), que pode ser baixado e depois extraído para um cartão SD de 4GB (ou superior) em branco.

Atualmente, existem duas versões do Python disponíveis: as versões 2.7 e 3. Para este tutorial, usaremos o 2.7, porque ele possui a maior quantidade de suporte e documentação. O Python 3 é uma excelente linguagem para aprender e é certamente o futuro da linguagem, mas está atualmente em um estado de fluxo e só deve ser usado por programadores Python experientes.

Criando uma narrativa

Nosso jogo precisa de duas coisas: uma história para manter o jogador entretido e lógica para controlar como a história se desenrola. Para a nossa história, estamos criando o mundo de Narule, onde magia e aventura estão em cada esquina. E estamos criando um herói - você - que deve viajar pela terra, visitando novas aldeias e assentamentos, e conversando com as pessoas para aprender mais sobre essa terra e a sombra escura lançada sobre ela.

Para começar nosso projeto, criamos algumas narrativas para você expandir. Sinta-se à vontade para tornar a história sua - esse é o ponto principal deste tutorial. Este é seu jogo. Para começar, criamos um código para funcionar como um modelo inicial. Você pode baixar uma cópia gratuita aqui.

Baixe o código, abra-o usando IDLE ('File> Open' e navegue até o local onde você baixou o código). Agora, dê uma olhada no código e preste especial atenção a qualquer linha que comece com #, porque são comentários no código, que foram adicionados para ajudar você a entender o que o código está fazendo naquele momento..

Atualmente, nosso código tem uma história básica para nos expandir, e faremos isso durante o curso deste tutorial. Nossa história se desdobra através de blocos de texto que formam nossa narrativa, e você verá que cada bloco se parece com isso:

chapter1 = "Foi uma noite fria, e a chuva veio de

o oeste com uma ferocidade conhecida apenas pelos deuses "

Essas são chamadas de variáveis ​​e permitem armazenar muitos textos ou números. Nós os usamos para conter nossa história e, quando queremos usá-los, usamos a função de impressão assim:

print chapter1

A função de impressão olha dentro da variável e imprime seu conteúdo na tela, o que é realmente útil e significa que nós só temos que escrever a história uma vez e podemos reutilizá-la quantas vezes quisermos..

Anterior Página 1 de 15 Próxima Anterior Página 1 de 15 Próxima

Conceitos de programação

O Python é uma excelente linguagem para aprender, porque é muito fácil de entender e, uma vez que você domine os conceitos de lógica de programação com o Python, você estará no caminho certo para desenvolver aplicativos maiores..

Independentemente da linguagem usada, os conceitos subjacentes de codificação fornecem uma base sólida que pode ser usada em vários idiomas. Os principais conceitos são:

Seqüências

Uma série de tarefas necessárias para serem concluídas em uma determinada ordem. Por exemplo, os passos necessários para resolver um labirinto.

rotações

Uma maneira de repetir uma sequência. Pode ser executado para sempre (enquanto True) ou controlado usando uma instrução for (para x no intervalo (0,3)).

Paralelismo

Executando mais de uma sequência de código ao mesmo tempo.

Eventos

Um evento é um gatilho que inicia uma sequência de código, e o evento mais visível no jogo que estamos criando é inserir o nome do nosso herói para iniciar o jogo.

Dados

Usamos uma variável para armazenar o valor do nome do nosso herói, e depois podemos recuperar e manipular a variável para mostrar o nome do jogador durante o jogo, personalizando a experiência de jogo..

Condicionais

Os condicionais formam a base da nossa lógica e fornecem um método para compararmos os dados com a entrada dada pelo jogador. Usamos condicionais em nosso jogo para comparar a resposta dada à resposta esperada. Se eles combinassem, na lógica booleana isso seria classificado como TRUE.

Operadores

Estas são as regras matemáticas básicas que aprendemos na escola. Podemos aplicar operadores a texto e números, o que nos permite realizar cálculos em nosso código e repetir dados, se necessário.

Anterior Página 2 de 15 Próxima Anterior Página 2 de 15 Próxima

1. Jogue o jogo

O IDLE tem duas janelas para trabalhar: o editor, contendo nosso código, e um shell, onde nosso jogo é jogado. Para iniciar o jogo, no editor, clique em 'Run' e, em seguida, em 'Run Module'.

A janela do shell aparece na frente de todas as outras janelas e o nosso jogo começa a ser jogado.

Anterior Página 3 de 15 Próxima Anterior Página 3 de 15 Próxima

2. Importar módulos

Módulos criados por outros codificadores podem ser importados para o seu código. Estamos importando dois módulos: Random, que contém código que nos permite usar a escolha aleatória para nosso personagem; e Time, que nos permite trabalhar com o tempo e pausar o jogo.

Anterior Página 4 de 15 Próxima Anterior Página 4 de 15 Próxima

3. Crie funções

Você pode agrupar vários códigos em uma função. Para criar um, usamos def name (): - isso cria uma função chamada name, e podemos chamar a função como quisermos.

Pressionamos [Enter] e o Python recua nosso código por quatro espaços e aguarda o código a ser executado nesta função.

Anterior Página 5 de 15 Próxima Anterior Página 5 de 15 Próxima

4. Use variáveis

Usamos variáveis ​​para armazenar informações que podemos usar mais tarde. Por exemplo, salvamos nossa narrativa e a reutilizamos muitas vezes. Pense em variáveis ​​como caixas vazias - podemos colocar qualquer coisa nelas e escrever seu nome ao lado.

Você verá o termo 'global' usado com alguns nomes de variáveis; isso nos permite usá-los dentro e fora das funções.

Anterior Página 6 de 15 Próxima Anterior Página 6 de 15 Próxima

5. Obter entrada

Entrada bruta é a maneira do Python de pedir informações do jogador. Usamos para capturar o nome do jogador e capturar suas decisões no jogo..

A entrada bruta captura a entrada do teclado como uma string de texto, portanto, qualquer número capturado precisa ser convertido em um inteiro ou float, e isso pode ser feito usando as funções auxiliares int () e float ().

Anterior Página 7 de 15 Próxima Anterior Página 7 de 15 Próxima

6. Faça escolhas

Declarações condicionais são escolhas lógicas; nós os usamos para controlar o fluxo do jogo - por exemplo, em qual direção você vai?

Nós armazenamos a direção que o jogador deseja ir como uma variável chamada move, então compare o valor armazenado na variável com a tecla que pedimos ao usuário para pressionar. Se os dois corresponderem, o código relacionado será executado.

Anterior Página 8 de 15 Próxima Anterior Página 8 de 15 Próxima

7. Else e mais se

Se… elif… mais são outras instruções condicionais e funcionam da seguinte maneira: a primeira condição é examinada e, se isso estiver correto (ou verdadeiro em Python), o código sob essa condição será executado. Else if (elif) esta condição é verdadeira, o código é executado para esta declaração.

Outra é todas as condições acima são falsas, então isso deve ser verdade, então este código é executado.

Anterior Página 9 de 15 Próxima Anterior Página 9 de 15 Próxima

8. Use listas

Listas são grandes contêineres que podem conter muitos dados. Pense neles como um arquivo cheio de documentos. Em nosso jogo, usamos uma lista para armazenar nosso estoque de itens (nossa espada e escudo).

Em primeiro lugar, criamos uma lista vazia usando:

"weapons = []"

Assim como variáveis, podemos dar à nossa lista qualquer nome que desejarmos. Para adicionar à nossa lista, usamos:

weapons.append ("espada")

Página 10 de 15 Próxima Página 10 de 15 Próxima

9. Escolha um número

Números aleatórios ajudam nosso herói a ser completamente único. Para selecionar aleatoriamente esses números, usamos o módulo aleatório, em particular uma função chamada randint ou inteiro aleatório.

Para usar o randint, devemos informar qual o intervalo de números com o qual trabalhar, e isso é feito da seguinte maneira:

randint (5,20)

Isso cria um intervalo entre 5 e 20 e solicita que o randint escolha um número aleatório nesse intervalo.

Anterior Página 11 de 15 Próxima Anterior Página 11 de 15 Próxima

10. Apresente pessoas

Nosso jogo precisa de pessoas interessantes para falar, então vamos criar um. Você verá na linha 57 do código que temos uma nova função que manipula um aldeão aleatório.

Seu nome é aleatório e é escolhido de uma lista, mas primeiro nós misturamos a lista e então selecionamos o primeiro item da lista, que em Python é sempre 0 (zero) ou npcnamechoice [0].

Anterior Página 12 de 15 Próxima Anterior Página 12 de 15 Próxima

11. Expanda a história

Adicionar novo conteúdo ao seu jogo é fácil. Se você deseja adicionar novos personagens ou aldeões, a melhor maneira é criar uma nova função. Dessa forma, o código para cada nova entrada está contido em sua própria função, mas pode ser facilmente usado em seu jogo..

Sua narrativa deve reunir essas funções e fornecer uma história linear para o jogador seguir.

Anterior Página 13 de 15 Próxima Anterior Página 13 de 15 Próxima

12. Escolha uma briga

E quanto ao combate? Inimigos podem ser criados da mesma forma que os aldeões, mas talvez você gostaria de dar a eles pontos aleatórios de saúde e magia (HP e MP em fala de aventura), assim como você deu ao seu herói.

Crie uma nova função que contenha um inimigo e coloque-o em seu código em um ponto de ajuste, depois teste seu código.

Anterior Página 14 de 15 Próxima Anterior Página 14 de 15 Próxima

13. Junte strings e números

Ao trabalhar com texto ou, no Python speak, strings, podemos querer unir uma string e um número juntos. Se tentarmos fazer assim:

imprimir "Olá" + 1

Python produz um erro dizendo que os dois não podem ser unidos. Mas se envolvermos o inteiro em uma função auxiliar chamada str (), podemos juntar os dois juntos da seguinte forma:

imprimir "Olá" + str (1)

  • Apreciamos este artigo? Expanda seu conhecimento de Linux, obtenha mais de seu código e descubra os mais recentes desenvolvimentos de código aberto no formato Linux. Leia nosso sampler hoje e aproveite a oferta dentro.
Anterior Página 15 de 15 Próxima Anterior Página 15 de 15 Próxima
Ações