@ -66,7 +66,7 @@ On aimerait réaliser quelque chose comme suit :
1. Quand une créature atteint un nombre de point de vie inférieur ou égal à zéro, cette dernière pousse un cri d'agonie (`cri_agonie`) en direction de la compagnie.
2. Quand un cri d'agonie est entendu, la compagnie laisse de corps de l'aventurier en arrière. Et les autres aventuriers se décalent pour prendre sa place dans la file indienne.
**On va réaliser cette implémentation des les étapes ci-dessous.**
**On va réaliser cette implémentation dans les étapes ci-dessous.**
### Expulsion de la compagnie
@ -76,7 +76,8 @@ Exemple : Si la compagnie contient `[Gruk, Grok, Zak, Zog]` et que Zak meurt, la
### Devenir un mortel
* On va implémenter un module `MortelObservable` qu'on incluera dans la classe `Creature`, mais dans le fichier qui définit le module `MortelObservable`. Pour bien vous montrer qu'on peut réouvrir et améliorer une classe depuis un autre fichier.
* On va implémenter un module `MortelObservable` qu'on incluera dans la classe `Creature`. Mais pour bien vous montrer qu'on peut réouvrir et améliorer une classe depuis un autre fichier. On va ici considérer que c'est la `Compagnie` qui vient avec son "extension" de `Creature`.
Ça veut dire qu'on ajoutera un bout de code qui fait l'include de `MortelObservable` dans la classe `Creature` dans le fichier de `Compagnie` comme ceci.
* Ce module `MortelObservable` définira une méthode `acceptee_dans(coompagnie)` pour que la créature se souvienne de la compagnie dont elle fait partie dans un attribut `@compagnie`.
@ -84,11 +85,11 @@ Exemple : Si la compagnie contient `[Gruk, Grok, Zak, Zog]` et que Zak meurt, la
* Ce module surchargera la méthode `encaisser(degats)` pour appeler la méthode originelle, puis réaliser un `cri_agonie` si les `@pv` sont inférieurs ou égals à zéro.
### Notifier l'ajout
### Notifier l'ajout dans la compagnie
Maintenant, on va partir du principe que toutes les creatures ajoutées à la compagnie sont des mortels observables. Donc, on va pouvoir les notifier via leur méthode `acceptee_dans(compagnie)` qu'ils sont acceptés dans la compagnie.
On pourra appeler cette méthode dans lorsqu'il n'y a pas eu de cas d'homonymie et que la créature est ajoutée dans la compagnie.
On pourra appeler cette méthode dans la méthode d'ajout de membre lorsqu'il n'y a pas eu de cas d'homonymie et que la créature est ajoutée dans la compagnie.