Aprende Python creando un juego
La mayoría de principiantes abandonan Python porque los ejercicios parecen sin sentido: imprimir una frase, sumar dos números, olvidarlo todo. Un proyecto cambia eso, porque cada idea nueva hace algo que puedes ver. En Python DailyDrills empiezas con Pip, un robot con todos los sistemas fuera de línea, y cada capítulo termina con una misión en la que tu propio código da vida a una parte más del juego.
Tu primera línea le da voz a Pip
En la primera lección Pip no puede hablar. Lo arreglas con print(). Cuando abres el juego, Pip dice lo que imprimió tu código. La idea es que el juego no es decoración: ejecuta tu código.
print("Hello, I am Pip!")Salida:
Hello, I am Pip!
Los condicionales dan piernas a Pip
Pip sigue caminando hacia el mar hasta que escribas can_move(). El juego llama a tu función en cada paso: el agua y los muros dicen que no, y todo lo demás dice que sí. Así es como las sentencias if y los valores devueltos dejan de ser abstractos.
def can_move(tile):
return tile not in ("water", "wall")
print(can_move("grass"))
print(can_move("water"))Salida:
True False
Los diccionarios permiten que las máquinas hablen
Las máquinas de la isla dicen lo que contenga tu diccionario de diálogos. Si cambias una línea de texto en tu código, cambia lo que dicen en el juego.
dialogue = {"villager": "Welcome!", "mechanic": "Bring me scrap."}
print(dialogue["mechanic"])Salida:
Bring me scrap.
Las clases crean el glitch que Pip combate
En el capítulo de clases escribes la clase Glitch que usa el combate: puntos de vida, recibir daño y saber cuándo está muerto. Cada Attack del juego llama a tu 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)Salida:
8
Conserva el juego que construiste
Al final puedes descargar el juego como un zip. Contiene tu propio código en un archivo por misión, además de un pequeño motor para ejecutarlo: python play.py en una terminal, o abrir play.html en un navegador. La descarga se genera en tu navegador, y tu código nunca llega a un servidor.
Preguntas frecuentes
- ¿Necesito alguna experiencia para empezar?
- No. La primera lección empieza con print(), y cada concepto se presenta con ejercicios breves antes de la misión que lo usa.
- ¿Es un juego de verdad o solo un rompecabezas?
- Es un pequeño juego visto desde arriba: llevas a Pip por una isla con las flechas del teclado, reparas máquinas, escaneas sensores y combates contra un glitch. Cada habilidad existe solo porque escribiste el Python para ella.
- ¿Mi código se ejecuta en los servidores del sitio?
- No. Python se ejecuta dentro de tu navegador, y el código de tus misiones se guarda solo en tu navegador. El juego descargable también se genera en tu ordenador.