TP4: jeu de rôle (POO)🔗
Dans ce T.P., vous coderez un jeu vidéo textuel simulant une bataille entre deux joueurs, à travers leur personnage respectif.
Personnages🔗
Il faudra créer une classe Personnage comportant les attributs et méthodes
communs à tous les personnages. Ensuite, pour chaque type de personnage, vous
utiliserez l'héritage depuis la classe Personnage pour créer leur classe
spécifique. Vous êtes libres du choix des différents personnages
(guerrier/archer, abeille/papillon, Link/Mario/Pikachu, etc.), mais ferez au
moins deux classes différentes.
Les personnages ont chacun des attributs:
nom : à choisir par le joueur en début de partie,
point de vie (PV) : tout le monde commence à 500 PV,
attaque (ATT) : entier entre 0 (aucune attaque), et 100 (attaque maximale),
défense (DEF) : entier entre 0 (défense nulle), et 100 (défense totale, aucune attaque ne peut enlever de PV),
agilité (AGI) : entier entre 0 (agilité nulle) et 100.
Les différences entre les différents personnages résideront dans leur point d'attaque et de défense, ainsi que dans leur type d'attaque. Essayez de ne pas créer des personnages trop déséquilibrés dans leurs statistiques.
Jeu🔗
La progression du jeu sera gérée par une classe Jeu.
Initialisation du jeu
Au début du jeu, les joueurs choisissent le type de personnage qu'ils souhaitent incarner, et leur nom.
Combat
Les personnages se battent l'un après l'autre. Celui qui commence est choisi de
manière aléatoire. Pour chaque action, le joueur aura le choix entre attaquer
(a) et fuir (f), et donnera son choix dans la console. Ces différentes
actions doivent faire partie de la classe Personnage.
Lorsqu'un personnage en attaque un autre, la cible perd alors de la vie en
proportion de sa valeur de défense et de la valeur d'attaque de l'assaillant :
vie ennemie -= point d'attaque - point défense/5. Cependant, il y a
également une chance que l'adversaire esquive le coup donné qui dépend de
l'agilité de celui-ci : la probabilité d'une esquive de l'ennemie est Agilité
de l'ennemi/100/4, soit égale à 25% du score d'agilité.
Si le personnage choisit de fuir, la probabilité de succès de cette fuite dépendra de son score d'agilité : si le score est de 40, il y aura 20% de succès, soit deux fois moins que le score.
À chaque étape du combat, les PV restant de chaque combattant seront affichés.
Fin du jeu
Le jeu se termine lorsque l'un des personnages est mort, c-à-d. lorsque ses PV sont à 0, ou s'est enfuit.
Pour aller plus loin :
On pourra créer une ou plusieurs attaques spéciales, qui infligeraient de nombreux dégâts, mais avec une probabilité de réussite assez faible.
Vous pouvez ajouter des possibilités de se soigner, de contrer, etc.