Bloc d'apprentissage · Détail
Bomberman light: Bombes sur grille
Ce bloc d’apprentissage introduit les concepts centraux du développement de jeux basés sur une grille en Python 2, en utilisant frameCraft. L’accent est mis sur la modélisation étape par étape du champ de jeu, du déplacement, de la logique des bombes, des explosions et des états de jeu dans un projet Bomberman-light volontairement réduit.

Développement de projet avec support IA
Programmation structurée avec Codage-IA et ProtoTypeFirst
Ce cours a été spécifiquement conçu pour les apprenants qui souhaitent programmer de manière structurée avec un soutien IA, et développer davantage le code existant.
Codage-IA dans l’état du projet
Le Codage-IA intègre une IA contextuelle directement dans CodeRoom. Elle étend le code existant, explique les erreurs, propose des modifications ciblées et soutient le développement ultérieur dans l’état actuel du projet.
Développement de code transparent
Ce cours met l’accent sur un soutien didactiquement intégré, des modifications transparentes et des résultats immédiatement testables. Les prompts, les changements et les versions restent transparents pour la guidance pédagogique.
Format ProtoTypeFirst
Tout le contenu commence par un prototype fonctionnel qui est progressivement développé grâce au codage assisté par IA, de sorte que chaque extension débute à partir d'un point de départ visible.
Introduction
L'extrait suivant montre l'entrée du module de leçon sous forme abrégée.
Vous ne commencez pas avec un jeu terminé, mais avec un chantier préparé. La scène est déjà en cours d’exécution, affichant un titre, un simple champ de jeu rectangulaire, une figure placeholder et un marqueur. Le jeu Bomberman réel n’est créé que grâce à vos modifications utilisant le Programmation structurée avec codage assisté par IA et ProtoTypeFirst.
Classification pédagogique
Le module est compactement classifié en termes de contenu et d’approche pédagogique.
Objectif subjectif
Le module rend la création d’un jeu basé sur une grille visible grâce à des étapes de modélisation petites et testables. Les concepts centraux sont la conversion grille-pixels, la logique de jeu basée sur les états, les listes de données pour les objets du jeu, ainsi que la séparation des règles d’initialisation et des règles en cours d’exécution.
Développement des compétences
- Modélisation : Les champs de grille, les figures du jeu, les bombes et les blocs sont représentés sous forme de données structurées dans le projet.
- Algorithmisation : Le déplacement, le blocage, le compte à rebours, l’explosion et les conditions de victoire découlent de vérifications claires des règles.
- Abstraction : Une fonction d’aide pour la conversion grille-pixels réduit les répétitions et rend la logique des coordonnées compréhensible.
- Test : Chaque extension peut être vérifiée et évaluée selon son effet sur le prototype visible.
Valeur ajoutée par l'enseignant
- Le prototype de départ fonctionnel fournit un point de départ clair pour les extensions étape par étape.
- La séquence des tâches décompose un système de jeu en sous-mécanismes gérables.
- Les tâches d'extension permettent la différenciation grâce aux ennemis, aux états cibles, aux redémarrages et aux points.
Séquence de l’unité pédagogique
Les tâches sont présentées dans l'ordre du JSON et résumées comme des étapes de développement du projet.
Rendre visibles les lignes de grille
L’aire existante du champ de jeu est complétée par des lignes de grille simples. Cela transforme le placeholder en une surface de jeu clairement structurée, sans encore construire de règles ou de collisions.
Concevoir le joueur comme une figure Bomberman
La figure placeholder est développée graphiquement en une petite figure semblable à Bomberman. La position et la logique restent inchangées, permettant ainsi de travailler séparément sur la représentation et le comportement.
Sauvegarder la position raster du joueur
Des valeurs propres pour colonne et ligne sont créées pour le joueur. Cette structure de données prépare à l'avance les déplacements case par case sans encore déplacer automatiquement la figure.
Aligner le joueur avec le champ raster
La position initiale de la figure est calculée à partir de la colonne de grille, de la ligne de grille et de la taille du champ. Cela rend visible pour la première fois la pièce de jeu sur le modèle de grille du plateau.
Convertir la position raster en position pixel
Une fonction d'aide calcule le centre pixel d'une cellule de grille à partir de la colonne et de la ligne. Cette conversion centrale est ensuite utilisée pour la position du joueur et constitue la base pour les objets suivants.
Implémenter un déplacement sur grille à une étape
Les actions de direction modifient la position raster stockée chaque fois d'un champ. La figure est ensuite repositionnée via la fonction de conversion, sans vérification des murs ni animation pour l'instant.
Débloquer le déplacement
Un simple verrouillage de mouvement empêche un bouton de direction maintenu d'activer davantage de pas à chaque frame. Un nouveau pas unique ne sera possible qu’après avoir relâché.
Préparer des murs fixes
Une liste de champs de murs fixes est créée et affichée sur la grille. Les murs n'empêchent pas encore le déplacement, mais sont introduits en tant qu’objets de jeu distincts.
Verrouiller le mouvement contre les murs
La règle du mouvement vérifie avant chaque étape si le champ cible se trouve dans la liste des murs. Le joueur ne peut alors que se déplacer sur les champs libres.
Afficher des blocs destructibles
En plus des murs fixes, une liste de blocs destructibles est ajoutée. Ces champs reçoivent leur propre affichage, mais manquent encore de logique d’explosion ou de suppression.
Placer la bombe en tant qu'objet de données
Lorsque l’on place une bombe, une entrée avec la position actuelle du joueur est stockée. Initialement, seule une bombe est autorisée à la fois ; la visibilité, le compteur et l’explosion suivront plus tard.
Placer une bombe une seule fois par pression de touche
Un verrouillage de bombe empêche un bouton de bombe maintenu d’en créer plusieurs entrées successives. Le placement n’est libéré qu’après avoir relâché l’action.
Rendre la bombe visible pendant le jeu
Les entrées existantes de bombes sont rendues comme caractères pendant le gameplay. La tâche montre clairement qu’on ne peut pas uniquement configurer les objets dynamiques au démarrage de la scène.
Ajouter un compteur de bombes
Chaque bombe reçoit un compteur temporaire qui diminue avec le temps d'encadrement. Après expiration, elle est marquée pour exploser sans encore dessiner l'explosion.
Afficher l’explosion croisée
À partir d’une bombe préparée, une forme croisée brève des champs d’explosion apparaît. La suppression de blocs et les dégâts sont encore exclus afin que la géométrie de l'explosion puisse être affichée isolément.
Supprimer les blocs par explosion
Les champs d’explosion sont comparés aux blocs destructibles. Seuls les blocs affectés sont supprimés de la liste ; les murs solides restent inchangés.
Afficher les points pour les blocs détruits
Une valeur de point et une affichage HUD sont ajoutés. Les points augmentent lorsque un bloc destructible disparaît par explosion.
Vérifier les dommages au joueur
La logique du jeu vérifie si la position du joueur se trouve sur un champ d’explosion. Dans ce cas, l’état de perte est défini et un message simple « Game Over » est affiché.
Ajouter des ennemis simples
Un ennemi est ajouté comme son propre champ de grille et affiché dans le champ du jeu. Il ne se déplace pas encore et n’inflige aucun dommage, mais étend initialement le modèle d’objets du jeu.
Ajouter l'objectif de niveau et la condition de victoire
Un objectif simple est défini : si tous les blocs amovibles sont supprimés, l’état du jeu passe à « gagné ». Un message visible de victoire rend la fin du niveau reconnaissable.
Redémarrer par touche et toucher
Une action de démarrage ou de redémarrage est liée au clavier et au toucher. Après un état gagné ou perdu, une pression sur la touche démarre la scène en toute sécurité.
Extrait de code
Le fragment montre la structure d’état préparée et l’endroit où les mouvements, les bombes et les règles seront ajoutés étape par étape ultérieurement.
| |
Le bloc de construction soutient une organisation pédagogique claire, car chaque extension repose sur un projet en cours et produit des résultats vérifiables. La différenciation est possible grâce à des adversaires supplémentaires, des conditions cibles, des points ou une logique de reprise.
Demandez un accès démo et testez le bloc de construction dans votre propre contexte de cours.