Apprendre Python en créant un jeu
La plupart des débutants abandonnent Python parce que les exercices semblent inutiles : afficher une phrase, additionner deux nombres, puis tout oublier. Un projet change cela, car chaque nouvelle notion fait quelque chose que vous voyez. Dans Python DailyDrills, vous commencez avec Pip, un robot dont tous les systèmes sont hors service, et chaque chapitre se termine par une mission où votre propre code ramène une pièce de plus du jeu à la vie.
Votre première ligne donne une voix à Pip
Dans la première leçon, Pip ne peut pas parler. Vous le réparez avec print(). Quand vous ouvrez le jeu, Pip dit ce que votre code a affiché. L'idée est que le jeu n'est pas un décor : il exécute votre code.
print("Hello, I am Pip!")Sortie :
Hello, I am Pip!
Les conditions donnent des jambes à Pip
Pip continue de marcher vers la mer jusqu'à ce que vous écriviez can_move(). Le jeu appelle votre fonction à chaque pas : l'eau et les murs répondent non, tout le reste répond oui. C'est ainsi que les instructions if et les valeurs renvoyées cessent d'être abstraites.
def can_move(tile):
return tile not in ("water", "wall")
print(can_move("grass"))
print(can_move("water"))Sortie :
True False
Les dictionnaires permettent aux machines de parler
Les machines de l'île disent ce que contient votre dictionnaire de dialogues. Modifier une ligne de texte dans votre code change ce qu'elles disent dans le jeu.
dialogue = {"villager": "Welcome!", "mechanic": "Bring me scrap."}
print(dialogue["mechanic"])Sortie :
Bring me scrap.
Les classes construisent le glitch que Pip combat
Dans le chapitre sur les classes, vous écrivez la classe Glitch utilisée par le combat : points de vie, dégâts subis, et savoir quand il est mort. Chaque Attack du jeu appelle votre méthode.
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)Sortie :
8
Gardez le jeu que vous avez construit
À la fin, vous pouvez télécharger le jeu sous forme de fichier zip. Il contient votre propre code, un fichier par mission, plus un petit moteur pour l'exécuter : python play.py dans un terminal, ou ouvrez play.html dans un navigateur. Le téléchargement est créé dans votre navigateur, et votre code ne part jamais sur un serveur.
Questions fréquentes
- Faut-il une expérience préalable pour commencer ?
- Non. La première leçon part de print(), et chaque notion est présentée par de petits exercices avant la mission qui l'utilise.
- Est-ce un vrai jeu ou seulement un casse-tête ?
- C'est un petit jeu en vue de dessus : vous déplacez Pip sur une île avec les flèches du clavier, réparez des machines, analysez des capteurs et combattez un glitch. Chaque capacité n'existe que parce que vous avez écrit le Python qui la fait fonctionner.
- Mon code tourne-t-il sur vos serveurs ?
- Non. Python s'exécute dans votre navigateur, et le code de vos missions n'est stocké que dans votre navigateur. Le jeu téléchargeable est lui aussi construit sur votre ordinateur.