Algo. et prog. 2 en
Logo de Python
Arnaud COUTURIER - Python 3.10

✏️ TP 4 - Prog. objets niv.2

Ce TP est la suite directe du TD 2, la partie sur les personnages.

Question 1

Ajouter un attribut points_de_vie qui vaut 50 initialement pour tous les personnages.

La méthode saluer doit afficher "Bonjour, je suis <nom>. Ma vie est <points_de_vie>". Par exemple "Bonjour, je suis Toto. Ma vie est 50"

Exécuter votre programme et vérifier qu'il affiche bien le bon résultat, c'est-à-dire chacun dit bonjour avec un nom différent, et affiche la même vie.

Question 2

Ajouter une méthode blesser, qui prend en paramètre le nombre de points de dégâts, et les soustrait à la vie du personnage. Quand un personnage a une vie de zéro il est considéré mort, alors sa salutation devient "<nom> est mort", par exemple "Toto est mort".

Quand elle est exécutée, la méthode affiche dans la console "<nom> subit <x> dégâts", par exemple "Toto subit 10 dégâts".

Veiller à ce que:

  • un personnage ne peut avoir une vie négative
  • un personnage ne peut se soigner par cette méthode

Tenter de blesser un de vos personnages, avec comme dégâts 20, puis -20, puis 100, puis -200.

Question 3

Ajouter une méthode soigner, qui prend en paramètre le nombre de points de soin, et les ajoute à la vie du personnage.

Quand elle est exécutée, la méthode affiche dans la console "<nom> est soigné de <x> points", par exemple "Toto est soigné de 10 points".

Veiller à ce que:

  • un personnage mort (vie à zéro) ne peut plus être soigné
  • un personnage ne peut être blessé par cette méthode

Tentez de soigner un de vos personnages, avec comme soins 20, puis -20, puis 100, puis -200.

Blessez un de vos personnages avec 100 points de dégâts, puis tentez de le soigner de 100 points de vie et vérifiez que c'est impossible car il est mort.

Question 4

Ajouter un attribut points_de_vie_max, dont la valeur initiale est spécifiée en paramètre dans le constructeur. Ainsi l'attribut points_de_vie est la vie actuelle du personnage, tandis que points_de_vie_max est la vie maximale du personnage. Le personnage doit avoir sa vie actuelle au maximum lors de sa création.

Afficher la vie max dans la salutation du personnage, sous la forme qui vous convient.

Veiller à ce qu'un personnage ne peut être soigné au-delà de sa vie maximale. Blessez un de vos personnages, sans le tuer, puis soignez-le plus qu'il n'a été blessé. Vérifiez qu'il est impossible de le soigner au-delà de sa vie maximale.

Question 5

Faire en sorte qu'un personnage puisse attaquer un autre. Pour cela ajouter la méthode attaquer, qui prend en paramètre le personnage cible. Chaque attaque d'un personnage provoque toujours 25 points de dégâts.

Lors d'une attaque, on veut lire dans la console un message qui dit que le personnage attaquant attaque le personnage cible pour 25 dégâts, par exemple "Toto attaque Titi pour 25 dégâts". Puis sur une seconde ligne on doit lire "Titi subit 25 dégâts".