Aprenda Python criando um jogo
A maioria dos iniciantes desiste do Python porque os exercícios parecem sem sentido: imprimir uma frase, somar dois números, esquecer. Um projeto muda isso, porque cada ideia nova faz algo que você consegue ver. No Python DailyDrills você começa com o Pip, um robô com todos os sistemas offline, e cada capítulo termina com uma missão em que o seu próprio código traz de volta mais uma parte do jogo.
Sua primeira linha dá voz ao Pip
Na primeira lição o Pip não consegue falar. Você o conserta com print(). Quando você abre o jogo, o Pip diz o que o seu código imprimiu. A ideia é que o jogo não é decoração: ele executa o seu código.
print("Hello, I am Pip!")Saída:
Hello, I am Pip!
Condicionais dão pernas ao Pip
O Pip continua andando em direção ao mar até você escrever can_move(). O jogo chama a sua função a cada passo: água e paredes respondem não, e todo o resto responde sim. É assim que os comandos if e os valores de retorno deixam de ser abstratos.
def can_move(tile):
return tile not in ("water", "wall")
print(can_move("grass"))
print(can_move("water"))Saída:
True False
Dicionários fazem as máquinas falar
As máquinas da ilha dizem o que quer que o seu dicionário de diálogos contenha. Mudar uma linha de texto no seu código muda o que elas dizem no jogo.
dialogue = {"villager": "Welcome!", "mechanic": "Bring me scrap."}
print(dialogue["mechanic"])Saída:
Bring me scrap.
Classes constroem o glitch que o Pip enfrenta
No capítulo de classes você escreve a classe Glitch usada na batalha: pontos de vida, receber dano e saber quando ele morre. Cada ataque no jogo chama o seu método.
class Glitch:
def __init__(self, hp):
self.hp = hp
def take_hit(self, damage):
self.hp = max(0, self.hp - damage)
glitch = Glitch(12)
glitch.take_hit(4)
print(glitch.hp)Saída:
8
Guarde o jogo que você construiu
No final você pode baixar o jogo como um arquivo zip. Ele contém o seu próprio código, um arquivo por missão, mais um pequeno motor para executá-lo: python play.py em um terminal, ou abra play.html em um navegador. O download é montado no seu navegador, e o seu código nunca vai para um servidor.
Perguntas comuns
- Preciso de alguma experiência para começar?
- Não. A primeira lição começa em print(), e cada conceito é apresentado com pequenos exercícios antes da missão que o usa.
- É um jogo de verdade ou só um quebra-cabeça?
- É um pequeno jogo visto de cima: você leva o Pip pela ilha com as setas do teclado, conserta máquinas, escaneia sensores e enfrenta um glitch. Cada habilidade existe apenas porque você escreveu o Python para ela.
- Meu código roda nos servidores de vocês?
- Não. O Python roda dentro do seu navegador, e o código das suas missões fica guardado somente no seu navegador. O jogo para download também é montado no seu computador.