Projet réalisé en classe de Terminale NSI (Lycée Touchard-Washington) visant à concevoir un jeu de rôle tour par tour inspiré du jeu rétro Ultima I: The First Age of Darkness.
Le projet combine de la programmation orientée objet (POO) avancée et une interface graphique interactive développée avec Pygame.
- Programmation Orientée Objet : Implémentation de classes métiers (
Personnage,Guerrier,Magicien) exploitant l'héritage et le polymorphisme. - Gestion des statistiques : Suivi dynamique des points de vie, de la réserve de mana, du niveau d'expérience (XP) et de la montée en niveau.
- Système de combat : Simulation de duels en console avec calculs de dégâts aléatoires, consommation de ressources et bonus en cas de victoire.
- Interface graphique 2D : Déplacement de personnages, animations et gestion des collisions sur carte 2D via le module
pygame.sprite.
- Langage : Python
- Bibliothèque graphique : Pygame
- Notions NSI : POO, héritage, gestion des états, boucles d'événements, détection de collisions
.
└── jeu_de_role/
└── python/
├── carte/ # Fichiers de la carte 2D (Tiled)
│ ├── data/
│ ├── base.png # Image de fond de la carte
│ ├── carte.tmx # Structure de la carte au format TMX
│ └── tile_set.tsx # Jeu de tuiles pour la carte
├── code/ # Scripts Python principaux
│ ├── dialogue.py # Gestion du système de dialogue
│ ├── game.py # Moteur de jeu et boucle principale
│ ├── main.py # Point d'entrée de l'application
│ └── player.py # Gestion du joueur et des entités
├── dialogue/ # Ressources visuelles et polices des dialogues
│ ├── Blender-Pro-Bold.ttf
│ ├── dialog_box.png # Arrière-plan des boîtes de dialogue
│ └── dialog_font.ttf
├── sprites/ # Sprites et textures des personnages
└── jeu_de_role.pdf # Sujet et consignes du projet