Skip to content

Commit

Permalink
session 24: Fight simulator
Browse files Browse the repository at this point in the history
  • Loading branch information
Jeeppy committed Apr 22, 2023
1 parent 2b5791d commit 6e16069
Showing 1 changed file with 75 additions and 0 deletions.
75 changes: 75 additions & 0 deletions session24/script.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
class Personnage {
constructor(pseudo, classe, sante, attaque) {
this.pseudo = pseudo;
this.classe = classe;
this.sante = sante;
this.attaque = attaque;
this.niveau = 1;
}

evoluer() {
this.niveau++;
console.log(this.pseudo + " passe au niveau " + this.niveau);
}

verifierSante() {
if (this.sante <= 0) {
this.sante = 0;
console.log(this.pseudo + " a perdu !");
}
}

get informations() {
return this.pseudo + " (" + this.classe + ") a " + this.sante + " points de vie est au niveau " + this.niveau;
}
}

class Magicien extends Personnage {
constructor(pseudo) {
super(pseudo, "magicien", 170, 90);
}

attaquer(personnage) {
personnage.sante -= this.attaque;
console.log(this.pseudo + " attaque " + personnage.pseudo + " en lançant un sort (" + this.attaque + " dégâts)");
this.evoluer();
personnage.verifierSante();
}

coupSpecial(personnage) {
personnage.sante -= this.attaque * 5;
console.log(this.pseudo + " attaque avec son coup spécial puissance des arcanes " + personnage.pseudo + " (" + this.attaque*5 + " dégâts)");
this.evoluer();
personnage.verifierSante();
}
}

class Guerrier extends Personnage {
constructor(pseudo) {
super(pseudo, "guerrier", 350, 50);
}

attaquer(personnage) {
personnage.sante -= this.attaque;
console.log(this.pseudo + " attaque " + personnage.pseudo + " son épée (" + this.attaque + " dégâts)");
this.evoluer();
personnage.verifierSante();
}

coupSpecial(personnage) {
personnage.sante -= this.attaque * 5;
console.log(this.pseudo + " attaque son coup spécial haches de guerre " + personnage.pseudo + " (" + this.attaque*5 + " dégâts)");
this.evoluer();
personnage.verifierSante();
}
}

var gandalf = new Magicien('Gandalf');
var thor = new Guerrier('Thor');
console.log(thor.informations);
console.log(gandalf.informations);
gandalf.attaquer(thor);
console.log(thor.informations);
thor.attaquer(gandalf);
console.log(gandalf.informations);
gandalf.coupSpecial(thor);

0 comments on commit 6e16069

Please sign in to comment.