Session 10 : Mon jeu

Cette session est la tienne. Pas d’étapes fixes, pas de mécaniques obligatoires. C’est toi qui décides ce que tu construis, et aujourd’hui tu le fais.

Ton jeu, tes règles

En neuf sessions, tu as appris :

  • Les variables, les fonctions et les boucles de jeu
  • Le clavier et la souris
  • Les sprites, la détection de collision et le score
  • Le son et l’animation
  • Les classes et l’héritage
  • Les arrière-plans qui défilent, le spawn et la difficulté qui augmente
  • Les barres de HP, les state machines et l’IA du boss

Toutes ces briques sont prêtes. Aujourd’hui, tu les combines dans ton propre jeu.

Choisis ton concept

Pas encore d’idée ? Voilà quelques genres pour commencer :

Dodge game : esquive des objets qui arrivent de plus en plus vite. Simple mais accrocheur.

Platformer : saute de plateforme en plateforme, ramasse des items, évite les ennemis.

Shooter : descends les ennemis qui arrivent d’en haut ou sur le côté.

Jeu de puzzle : fais glisser des blocs, relie des points, ou résous un motif.

Jeu de course : dessine un parcours et fonce vers l’arrivée le plus vite possible.

Raconte une histoire : pas de score, pas de vies. Laisse le joueur cliquer et faire des choix.

Tu peux aussi combiner : un shooter avec des éléments de puzzle, un platformer avec un boss à la fin. Tout est permis.

Planifie ton jeu

Avant d’écrire du code, réponds à ces trois questions :

  1. Que fait le joueur ? (se déplacer, tirer, sauter, cliquer, …)
  2. Quel est le but ? (faire un score, battre le boss, atteindre la fin, …)
  3. Qu’est-ce qui rend le jeu difficile ? (des ennemis, des obstacles, un timer, …)

Écris tes réponses sur une feuille ou dans un commentaire en haut de ton code. Ça t’aide à rester concentré quand tu bloques.

Animation : changer de sprite à chaque frame

Tu veux une animation en boucle, une explosion ou un objet qui clignote ? Fais une liste de noms d’images et change actor.image toutes les N millisecondes. La démo ci-dessous montre comment ça marche : utilise le curseur pour changer la vitesse et le bouton pour mettre en pause :

En Python, tu utilises alors une liste de noms d’images et un timer :

frames = ['lopen_1', 'lopen_2', 'lopen_3', 'lopen_4']
anim_timer = 0
FRAME_DUUR = 10   # frames (à 60 fps = ~167 ms)

def update():
    global anim_timer
    anim_timer += 1
    speler.image = frames[(anim_timer // FRAME_DUUR) % len(frames)]

À toi de jouer

Télécharge le starter via ce lien. Le starter a :

  • Une game loop pygame qui fonctionne
  • Une section draw() et update() vide
  • Des constantes de couleur et une variable de police prêtes
  • Des commentaires qui indiquent où mettre quoi

Ouvre main.py et commence par l’étape 1 de ton propre plan. Le cheatsheet de cette page a tous les patrons des sessions précédentes sous la main.

Bloqué ? Demande à un coach. Décris ce que tu veux obtenir, pas seulement ce qui ne marche pas. Comme ça, on peut chercher ensemble la meilleure approche.

Fini trop vite ? Ajoute du son, fais un écran de démarrage, ou ajoute un deuxième joueur.

Showcase

À la fin de la session, chacun présente son jeu. Tu ne dois pas l’avoir terminé. Montre ce que tu as fait et raconte :

  • Quel est le concept de ton jeu ?
  • Quelle technique d’une session précédente as-tu utilisée ?
  • Qu’est-ce que tu aimerais encore ajouter si tu avais plus de temps ?

Et maintenant ?

CoderDojo s’arrête après dix sessions. Construire toi-même, ça ne s’arrête pas.

Continue à construire. Les petits projets t’apprennent plus que les gros cours. Fais un jeu pour ton frère ou ta sœur, pour ton animal, ou juste pour toi.

Besoin d’inspiration ?

CoderDojo revient. Toi aussi ?

Continue à construire !

En dix sessions, tu as construit un platformer, un shooter, un boss battle et plus encore. Emporte ce code à la maison, rouvre-le la semaine prochaine et ajoute juste une chose. C’est comme ça que travaillent les programmeurs.

Regarde le cheatsheet de cette session