2020-04-21 12:31:59 +02:00
|
|
|
package effet.action;
|
|
|
|
|
|
|
|
import static org.junit.Assert.assertTrue;
|
|
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
import java.util.List;
|
|
|
|
|
|
|
|
import org.junit.jupiter.api.BeforeEach;
|
|
|
|
import org.junit.jupiter.api.Test;
|
|
|
|
|
|
|
|
import main.Joueur;
|
|
|
|
import main.Plateau;
|
2020-04-21 18:01:24 +02:00
|
|
|
import personnage.Allie;
|
2020-04-21 12:31:59 +02:00
|
|
|
|
|
|
|
class ActionAttaquerTest {
|
|
|
|
|
|
|
|
Joueur j1;
|
|
|
|
Joueur j2;
|
|
|
|
Plateau p;
|
|
|
|
|
|
|
|
@BeforeEach
|
|
|
|
void init()
|
|
|
|
{
|
|
|
|
List<Joueur> joueurs = new ArrayList<Joueur>();
|
|
|
|
j1 = new Joueur("Michel");
|
|
|
|
j2 = new Joueur("Gérard");
|
|
|
|
|
2020-04-21 18:01:24 +02:00
|
|
|
Allie allie1 = new Allie(j1);
|
|
|
|
Allie allie2 = new Allie(j2);
|
|
|
|
|
2020-04-21 12:31:59 +02:00
|
|
|
joueurs.add(j1);
|
|
|
|
joueurs.add(j2);
|
|
|
|
|
|
|
|
p = new Plateau(joueurs);
|
|
|
|
|
|
|
|
j1.setPlateau(p);
|
|
|
|
j2.setPlateau(p);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
|
|
|
* L'attaque du plateau se base sur des tirages aléatoires de dés.
|
|
|
|
* La réussite moyenne d'une attaque est d'environ 80 %
|
2020-04-22 14:10:31 +02:00
|
|
|
* En autorisant une erreur d'environ 5 %
|
2020-04-21 12:31:59 +02:00
|
|
|
*
|
|
|
|
* On vérifie que la différence du nombre d'attaques réussie avec la moyenne
|
2020-04-22 14:10:31 +02:00
|
|
|
* des attaques réussie est bien inférieure à 5 %.
|
2020-04-21 12:31:59 +02:00
|
|
|
*/
|
|
|
|
@Test
|
|
|
|
void attaquer_BaissePV() {
|
|
|
|
|
2020-04-22 14:10:31 +02:00
|
|
|
int error = 5;
|
2020-04-21 12:31:59 +02:00
|
|
|
ActionAttaquer aa = new ActionAttaquer();
|
|
|
|
|
|
|
|
int pvBaseJ2 = 100;
|
|
|
|
|
2020-04-22 14:10:31 +02:00
|
|
|
for(int j = 0; j< 100; j++) {
|
2020-04-21 12:31:59 +02:00
|
|
|
|
|
|
|
int countNb = 0;
|
|
|
|
|
2020-04-22 14:10:31 +02:00
|
|
|
for(int i = 0; i < 2000; i++)
|
2020-04-21 12:31:59 +02:00
|
|
|
{
|
|
|
|
j2.setStat(Joueur.PLAYER_HP, pvBaseJ2);
|
|
|
|
aa.affecte(j1, j2);
|
|
|
|
|
|
|
|
if(j2.getStat(Joueur.PLAYER_HP) < pvBaseJ2) countNb++;
|
|
|
|
}
|
|
|
|
|
2020-04-22 14:10:31 +02:00
|
|
|
countNb /= 20;
|
2020-04-21 12:31:59 +02:00
|
|
|
assertTrue(Math.abs(countNb-80) <= error);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|