1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109
|
public class exp {
public static void main( String[] args ) {
Etre alpha = new Etre( "Alpha", 100 ); // création être Alpha
Chamane inca = new Chamane( "Inca", 20, 10 ); // création d'un Chamane
Vampire vlad = new Vampire( "Vlad", 40, 5 ); // création d'un vampire
System.out.println( "vie ALpha " + alpha.vie ); // affichage vie Alpha
// avant action
vlad.beatPeople( alpha ); // attaque de alpha par vlad
System.out.println( "vie ALpha " + alpha.vie ); // affichage de vie
// après attaque
inca.healPeople( alpha ); // soin de alpha par inca
System.out.println( "vie ALpha " + alpha.vie ); // affichage des vie de
// alpha après soin
}
}
class Etre {
String nom;
float vie;
// Constructeur
Etre( String n, float v ) {
this.nom = n;
this.vie = v;
}
String getName() {
return this.nom;
}
float getLife() {
return this.vie;
}
boolean isALive() {
return this.vie > 0;
}
boolean isDead() {
return this.vie == 0;
}
void increaseLife( float life ) {
this.vie += life;
}
void decreaseLife( float life ) {
this.vie -= life;
}
float killPeople() {
float lifeAfterDead = this.vie;
this.vie = 0;
return lifeAfterDead;
}
}
class Chamane extends Etre {
float force;
// constructeur
Chamane( String n, float v, float f ) {
super( n, v );
this.force = f;
}
void healPeople( Etre autre ) {
if ( autre.vie > 0 ) { // si la cible est en vie
float porCent = this.force / 100; // le chamane lui rajoute force%
// de la vie du soigné
autre.vie += autre.vie * porCent;
}
else { // Si la cible est morte
autre.vie = 1; // le chaman donne de sa vie au soigné
this.vie -= 1;
}
}
}
class Vampire extends Etre {
float toxicite;
// constructeur
Vampire( String n, float v, float t ) {
super( n, v );
this.toxicite = t;
}
void beatPeople( Etre autre ) {
if ( this.vie == 0 ) { // si la vie du vampire est vide il ne se passe
// rien
autre.vie = autre.vie;
}
else if ( autre.vie > this.vie ) { // si la personne attaqué a plus de
// vie que le vampire
this.vie += toxicite; // le vampire lui aspire autant de vie qu'il a
// de toxicité
autre.vie -= toxicite;
}
else if ( autre.vie < toxicite ) { // si la personne attaqué à moins de
// vie que le vampire a de
this.vie += autre.vie; // toxicité alors il lui aspire tout ce qu'il
// lui reste
autre.vie = 0;
}
}
} |
Partager