Plateau test

This commit is contained in:
Paul Gross 2020-04-21 16:02:01 +02:00
parent e53ab04aaf
commit 307b6f7143
6 changed files with 50 additions and 7 deletions

View File

@ -50,6 +50,11 @@ public class CarteLieu extends CarteEffet{
this.voisin = cl; this.voisin = cl;
} }
public Point getCoordinates() {
return this.coordinates;
}
} }

View File

@ -109,7 +109,7 @@ public class Joueur {
if(blessure > 0) if(blessure > 0)
{ {
j2.addStat(PLAYER_HP, -blessure); j2.addStat(PLAYER_HP, -blessure);
this.cartePersonnage.attaquer(j2); //this.cartePersonnage.attaquer(j2);
} }
} }

View File

@ -72,12 +72,15 @@ public class Plateau {
public void deplacer(Joueur currentJoueur) { public void deplacer(Joueur currentJoueur) {
int roll = sumRolls();
boolean attributed = false; boolean attributed = false;
while(!attributed) { while(!attributed) {
int roll = sumRolls();
for(CarteLieu cl : lieux) { for(CarteLieu cl : lieux) {
if(cl.coordinatesContains(roll) && currentJoueur.getCarteLieu() != cl){ if(cl.coordinatesContains(roll) && currentJoueur.getCarteLieu() != cl){
currentJoueur.deplacer(cl); currentJoueur.deplacer(cl);
attributed = true; attributed = true;
break; break;

View File

@ -13,7 +13,7 @@ public class Charles extends CartePersonnage{
public Charles(String nom, int hp, Joueur joueur) { public Charles(String nom, int hp, Joueur joueur) {
super(nom, nom, hp, joueur); super(nom, nom, hp, joueur);
Action action = new ActionAltererStatistiquesJoueur("HP",2,true); Action action = new ActionAltererStatistiquesJoueur("HP",-2,true);
Effet effet = new EffetSelf(action); Effet effet = new EffetSelf(action);
this.setEffet(effet); this.setEffet(effet);
@ -31,7 +31,6 @@ public class Charles extends CartePersonnage{
@Override @Override
public void utiliser() { public void utiliser() {
// TODO Auto-generated method stub
this.getEffet().utiliser(this.getJoueur()); this.getEffet().utiliser(this.getJoueur());
} }
} }

View File

@ -50,8 +50,6 @@ class ActionAttaquerTest {
ActionAttaquer aa = new ActionAttaquer(); ActionAttaquer aa = new ActionAttaquer();
int pvBaseJ2 = 100; int pvBaseJ2 = 100;
j2.setStat(Joueur.PLAYER_HP, pvBaseJ2);
aa.affecte(j1, j2);
for(int j = 0; j< 1000; j++) { for(int j = 0; j< 1000; j++) {

View File

@ -1,7 +1,7 @@
package main; package main;
import static org.junit.Assert.assertTrue;
import static org.junit.jupiter.api.Assertions.assertNotEquals; import static org.junit.jupiter.api.Assertions.assertNotEquals;
import static org.junit.jupiter.api.Assertions.fail;
import java.awt.Point; import java.awt.Point;
import java.util.ArrayList; import java.util.ArrayList;
@ -18,6 +18,7 @@ import effet.EffetChoisirEffet;
import effet.EffetSelf; import effet.EffetSelf;
import effet.action.ActionAltererStatistiquesJoueur; import effet.action.ActionAltererStatistiquesJoueur;
import effet.action.ActionVoler; import effet.action.ActionVoler;
import personnage.Allie;
class PlateauTest { class PlateauTest {
@ -37,6 +38,12 @@ class PlateauTest {
j1 = new Joueur("Mohamed"); j1 = new Joueur("Mohamed");
j2 = new Joueur("Pierrot"); j2 = new Joueur("Pierrot");
Allie allie1 = new Allie(j1);
Allie allie2 = new Allie(j2);
j1.setCartePersonnage(allie1);
j2.setCartePersonnage(allie2);
List<Joueur> joueurs = new ArrayList<Joueur>(); List<Joueur> joueurs = new ArrayList<Joueur>();
joueurs.add(j2); joueurs.add(j2);
joueurs.add(j1); joueurs.add(j1);
@ -95,4 +102,35 @@ class PlateauTest {
assertNotEquals(lieuDepart, j1.getCarteLieu()); assertNotEquals(lieuDepart, j1.getCarteLieu());
} }
/*
* 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 %
* En autorisant une erreur d'environ 2 %
*
* ,on vérifie que la différence du nombre d'attaques réussie avec la moyenne
* des attaques réussie est bien inférieure à 2 %.
*/
@Test
void attaquer_attaqueBienEnvoyee() {
int error = 2;
int pvBaseJ2 = 100;
for(int j = 0; j< 1000; j++) {
int countNb = 0;
for(int i = 0; i < 10000; i++)
{
j2.setStat(Joueur.PLAYER_HP, pvBaseJ2);
p.attaquer(j1, j2);
if(j2.getStat(Joueur.PLAYER_HP) < 100) countNb++;
}
countNb /= 100;
assertTrue(Math.abs(countNb-80) <= error);
}
}
} }