Le but de cette partie est de créer une classe Sort qui
représentera les sorts des sorciers. Mis à part le constructeur, elle est uniquement composée d'attributs. Ces attributs sont :
nom
degat
cout
Ouvrir le fichier sorts.py
Créer une classe nommée Sort
Le constructeur (__init__) de la classe Sort doit prendre en paramètre
dans cet ordre
:
nom
degat (avec pour valeur par défaut 100)
cout (avec pour valeur par défaut 5)
Remarque : Pour donner une va leur par défaut à un paramétre, il faut la lui attribuer lors de la déclaration.
Ces paramètres sont déclarés après les paramètres par défauts. Voir en fin de cette page
Quizz :
Quel instruction permet de crée une instance abracadrabra de la classe
Sort ayant le nom Abracadrabra avec une valeur de dégat de 150 et un
cout de 5
La listes des sortilèges sorts
Pour peupler la liste des sortilèges, on copier coller le code suivants :
Quels sont les dégâts infligés par le sort Prior_incanta ?
Quel le cout d'uilisation du sort Prior_incanta ?
2. Les sorciers
La classe Sorcier
Le but de cette partie est de créer une classe Sorcier qui
représentera les sorciers. Elle est composée d'attributs et de méthodes
Le constructeur
Ouvrir le fichier sorciers.py
Créer une classe nommée Sorciers
La classe Sorciers contient les attributs suivants :
nom : str
prenom : str
age : str
pv : int par défaut 1000
endurance : int par defaut 150
__sorts : list par defaut vide
Le constructeur (__init__) doit permettre de créer les sorciers avec leur attribut
et les valeurs par défaut.
Les méthodes
La classe Sorcier dispose de 3 méthodes :
apprendre : méthode qui est appelée pour ajouter un sort à un sorcier.
Cette méthode prend en paramètre un objet de type Sort et qui
l'ajoute à l'attribut sorts de l'instance.
Elle affiche "{Nom du sorcier} possède dorénavant le sort {nom du sort}"
lancer : méthode qui est appelée pour lancer un sort à un autre sorcier.
Cette méthode prend en paramètre un objet de type Sort et un objet
de type Sorcier.
Si le cout du sort est inférieur à l'endurance de l'instance sorcier lance le
sort sur le sorcier (en fait elle appelle la méthode maj_pv du
sorcier visé)
Elle affiche : "{Nom du sorcier} lance {nom du sort} sur {nom du socier visé}"
ou
"{Nom du sorcier} n'a plus assez d'endurance pour utiliser le sort {nom du
sort}"
set_pv : méthode qui est appelée quand un sorcier est visé par sortilège.
Cette méthode prend en paramètre sortilege un objet de type Sort
Elle enleve aux points de vie du sorcier les points de dégat infligés par le
sort.
S'il reste des points de vie au sorcier, elle affichera : "{nom du sorcier} est touché par {nom du sort}. Points de vie
restant {pv}"
S'il ne reste plus de points de vie, elle affichera : "{nom du sorcier} est mort !"
from sorts import sorts # importation de la listes des sortileges
from sorciers import sorciers # importation de la listes des sorciers
from random import choice, sample
Ajouter les sortileges aux sorciers
Pour chaque sorciers, choisir 5 sorts au hasard (utilisation du module random) et les
ajouter à la liste des sorts du sorciers.
Les maisons
Créer 2 listes gryffondor et serpentard
Pour chaque sorcier, l'ajouter à la liste correspondant à sa maison
4. L'affrontement
Déroulement
L'affrontement à lieu tour par tour.
A chaque tour on sélectionne 2 sorciers qui se lance mutuellement un sort choisi au hazard parmi les sorts qu'il possède
si l'un des sorciers n'a plus de points de vie après le duel, il ne fait plus parti de la maison
si une maison n'a plus de sorcier, elle est déclarée perdante