Schéma de la boucle de jeu : phase drones, mise à jour de la grille, phase tempêtes et gestion des collisions

Programmation · 3/10

Jeu de sauvetage par drones

Projet réalisé en binôme avec Ilyane Haida : un jeu de sauvetage sur une grille de 12x12 cases, où des drones doivent localiser des survivants et les acheminer vers un hôpital tout en évitant les tempêtes et les bâtiments, sous contrainte d'autonomie de batterie.

Jouez directement dans le navigateur : ce module exécute réellement le script Python ci-dessous (inchangé, téléchargé en direct), grâce à Pyodide (CPython compilé en WebAssembly), sans rien installer. Les déplacements se saisissent dans le champ qui apparaît sous la grille, qui reste visible pendant que vous répondez.

Règles du jeu :

  • Grille 12×12 : colonnes A à L, lignes 0 à 11.
  • Symboles : B bâtiment, H hôpital, S survivant, T tempête, D drone.
  • Chaque tour, déplacez jusqu'à 3 drones d'une case (diagonales incluses) pour récupérer les survivants et les ramener à l'hôpital.
  • Chaque déplacement coûte 1 point de batterie (+2 pour récupérer un survivant) ; la batterie se recharge sur l'hôpital.
  • Une tempête désactive pendant 2 tours tout drone actif qu'elle touche en se déplaçant.
  • +1 point par survivant déposé à l'hôpital. Fin de partie : tous les survivants sauvés, tous les drones hors service, ou 40 tours écoulés.
  • Pour jouer : entrez l'identifiant du drone à déplacer (ou f pour finir le tour), puis sa destination au format colonne ligne (ex. C 5).

Architecture

Le programme est structuré en cinq parties : chargement de la configuration (JSON), placement aléatoire des entités, fonctions d'affichage, moteur de déplacement et de règles, et système de score, documentées en détail dans le rapport de projet.

Documents

Voir les projets