diff --git a/pokemon.ts b/pokemon.ts index 699ffb960e193594e9a27993c22a11345de928e5..b66d42820ba6ec9a4d44566ab3b8ad90a9ef83a6 100644 --- a/pokemon.ts +++ b/pokemon.ts @@ -11,15 +11,28 @@ export interface Pokemon { * Affiche le nom d'un pokémon avec ses points de vie */ export function display(p : Pokemon) : string{ - return p.name + ' ('+p.health+')'; + return p.name + ' ('+p.health+')' + ' -> ' + p.type; } /* Joue une attaque du pokemon p1 vers le pokemon p2 * retourne le pokemon p2 mis à jour après l'attaque */ export function attack(p1 : Pokemon, p2 : Pokemon) : Pokemon { - console.log(display(p1)+ " attaque " + display(p2)); - //TODO Compléter cette fonction + let coefModifier : number + + if (p2.type == 'fire') { + coefModifier = p1.type == "water" ? 2 : 0.5 + } + else if (p2.type == 'water') { + coefModifier = p1.type == "grass" ? 2 : 0.5 + } + else { // (p2.type == 'grass') + coefModifier = p1.type == "fire" ? 2 : 0.5 + } + + let damages : number = ((p1.force / p2.armor)*5 +2) * coefModifier + p2.health -= damages > p2.health ? p2.health : damages + console.log(display(p1)+ " attaque " + display(p2)); return p2; } \ No newline at end of file