RPG Textuel
Presentation
Objectif principal : Un RPG a l'ancienne dans le terminal. Tu crees ton perso, tu explores des salles, tu combats des monstres, tu ramasses du loot. Tout en texte avec des choix a faire.
Technologies utilisees : Python avec de la POO bien poussee. Chaque monstre, objet, salle est une classe. Les sauvegardes utilisent pickle pour serialiser l'etat du jeu.
Fonctionnalites cles : Creation de personnage avec stats, systeme de combat au tour par tour, inventaire avec equipement, plusieurs classes (guerrier, mage, voleur), et une petite histoire avec plusieurs fins.
Livrables attendus : Un jeu jouable pendant au moins 30 minutes avec une fin. Systeme de sauvegarde/chargement. Documentation des commandes.
Calendrier previsionnel : Trois semaines. J'ai passe beaucoup de temps sur l'equilibrage des combats et la redaction des textes.
Parties prenantes & criteres de succes : Projet pour le cours de POO. Le prof voulait voir heritage, polymorphisme, et encapsulation bien utilises.
Le Defi
Gerer l'etat du jeu et les sauvegardes. Le joueur peut avoir plein d'objets, etre dans n'importe quelle salle, avoir tue certains monstres... Faut tout stocker proprement pour pouvoir reprendre la partie plus tard.
La Solution
J'ai cree une classe GameState qui contient tout : le joueur, la carte, les monstres battus, etc. Cette classe se serialise avec pickle. Quand on sauvegarde, je dump le GameState dans un fichier. Au chargement, je le reload et c'est reparti.
Architecture Technique
Classe abstraite Character dont heritent Player et Monster. Classe Item avec sous-classes Weapon, Armor, Potion. Classe Room qui contient des liens vers d'autres Room (graphe). Le combat utilise des formules avec stats + random pour le damage. Les classes de perso modifient les stats de base.
Points Cles
- POO avancee avec heritage et polymorphisme
- Systeme de sauvegarde avec pickle
- Combat equilibre avec plusieurs classes
Apercu
Resultats & Apprentissages
Le jeu est completable et plutot fun. J'ai vraiment compris la POO grace a ce projet, surtout l'heritage et le polymorphisme. Genre un Skeleton et un Dragon sont tous les deux des Monster mais ont des comportements differents. Le prof a bien aime.
Evolutions Futures
Ajouter plus de contenu (donjons, boss, objets). Un systeme de quetes annexes. Peut-etre une version graphique avec une carte ASCII art. Un mode multijoueur en reseau serait cool aussi.