Séance 4 · 1 heure · Fin du tronc officiel

Manipuler plusieurs objets

Fil rouge du chapitre : créer un jeu de rôle

Accroche Un vrai combat

À discuter — On sait faire attaquer Aria sur un Gobelin. Je veux maintenant un combat complet : les deux s'attaquent chacun leur tour, jusqu'à ce que l'un des deux soit à 0 pv. Qu'est-ce qu'il nous manque ?

Apport Notation pointée : lecture et écriture

notation.py
hero = Personnage("Aria", 100, 15)
print(hero.pv)          # lecture
hero.pv = 80             # écriture directe
À retenir — On peut modifier un attribut directement depuis l'extérieur de la classe, sans passer par une méthode. Ça pose un problème qu'on découvrira en séance 5 (encapsulation) — pour l'instant, retenez juste que c'est possible.

Exercice La boucle de combat

Écrire une boucle qui fait s'affronter hero et monstre à tour de rôle jusqu'à ce que l'un des deux ne soit plus vivant. Afficher le nom du vainqueur.

Exercice — Le duel

Réutiliser les méthodes attaquer et est_vivant déjà écrites en séance 3.

Voir la correction →

Point d'étape Quiz formatif — format bac

5 questions flash

  1. Parmi 4 propositions, laquelle crée correctement un personnage "Orc", 40 pv, force 8 ?
  2. Quelle instruction affiche les points de vie de orc ?
  3. Vrai ou faux : self doit être fourni explicitement à l'appel.
  4. Que représente cible dans attaquer(self, cible) ?
  5. Pourquoi utiliser est_vivant() plutôt que pv > 0 à chaque fois ?
Voir la correction →
Fin du tronc officiel — Tout ce qui peut tomber au bac sur la POO est désormais couvert. Les séances 5 et 6 sortent du programme officiel.