Petit hotfix

pull/1/head
Karim Bogtob 2 years ago
parent 85b2e9ed0a
commit 5e432b3971

@ -66,6 +66,8 @@ 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.**
### Expulsion de la compagnie
Pour cela, on va déjà implémenter une méthode `observer_mort(creature)` sur la compagnie. Quand une créature sera entendue comme morte, elle sera supprimée de la liste d'aventuriers.
@ -76,12 +78,18 @@ Exemple : Si la compagnie contient `[Gruk, Grok, Zak, Zog]` et que Zak meurt, la
* 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.
* Ce module `MortelObservable` définira une méthode `acceptee_dans` pour que la créature se souvienne de la compagnie dont elle fait partie dans un attribut `@compagnie`.
* 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`.
* Ce module introduira aussi une méthode `cri_agonie` pour que la créature prévienne la compagnie qu'elle est morte (via `observer_mort(self)`), si elle fait partie d'une compagnie.
* 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
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.
## L'exploration
Pour la suite des questions, dotez votre compagnie d'une méthode `exploration`, appelant éventuellement d'autres méthodes, qui simule les actions suivantes. Votre code doit être court et joli. Ça veut dire qu'il faut ouvrir la doc d'`Enumerable` et `Array` et se forcer à utiliser les méthodes les plus spécifiques.

Loading…
Cancel
Save