Aller au contenu principal

🧙‍♂️ Héros et Compétences

🎯 Objectif pédagogique​

Les objectifs de cet exercice sont :

  • Comprendre l’hĂ©ritage multiple en Python.
  • Comprendre l’appel direct aux constructeurs des classes parentes.
  • Manipuler des attributs et mĂ©thodes venant de plusieurs sources.
  • Structurer du code orientĂ© objet avec plusieurs responsabilitĂ©s.

📜 Énoncé​

Vous travaillez sur un petit jeu de rôle où chaque personnage peut avoir plusieurs types de capacités. On veut créer une classe Hero qui hérite de deux classes indépendantes :

1. Personnage​

Cette classe a :

  • un attribut nom (chaĂ®ne de caractères),
  • un attribut pv (points de vie, entier),
  • une mĂ©thode afficher_statut() qui affiche le nom et les points de vie.

2. Traits​

Cette classe a :

  • un attribut competences (liste de chaĂ®nes de caractères),
  • une mĂ©thode ajouter_competence(nom) qui ajoute une compĂ©tence Ă  la liste,
  • une mĂ©thode lister_competences() qui affiche les compĂ©tences.

3. Hero​

Cette classe hérite à la fois de Personnage et de Traits. Son constructeur doit :

  • appeler explicitement les deux constructeurs des classes parentes (ne pas utiliser super()),
  • permettre d’initialiser nom, pv et la liste initiale de compĂ©tences.

Vous devez également ajouter une méthode presentation() qui appelle afficher_statut() et lister_competences().

🧪 Exemple attendu​

h = Hero("Aragorn", 100, ["épée", "stratégie"])
h.presentation()
h.ajouter_competence("leadership")
h.lister_competences()

Sortie attendue :​

Nom : Aragorn
PV : 100
Compétences : épée, stratégie
Compétences : épée, stratégie, leadership