mise au point des tests IA

This commit is contained in:
Kruss 2020-05-06 10:03:37 +02:00
parent 17f5d37c5e
commit 624e12135f
4 changed files with 69 additions and 29 deletions

View File

@ -0,0 +1,23 @@
package carte;
import main.Joueur;
import main.Type;
public class CarteEquipementEffet<T extends Type> extends CarteEquipement<Type> {
public CarteEquipementEffet(String nom, String description) {
super(nom, description);
}
/**
*
*/
private static final long serialVersionUID = -7036514419711836673L;
@Override
public void reverse(Joueur j) {
// TODO Auto-generated method stub
}
}

View File

@ -3,7 +3,7 @@ package ihm.controller;
import java.net.URL; import java.net.URL;
import java.util.ResourceBundle; import java.util.ResourceBundle;
import carte.Equipement; import carte.CarteEquipement;
import javafx.fxml.FXML; import javafx.fxml.FXML;
import javafx.fxml.Initializable; import javafx.fxml.Initializable;
import javafx.scene.layout.GridPane; import javafx.scene.layout.GridPane;
@ -13,7 +13,7 @@ public class ChoisirEquipement implements Initializable{
@FXML private GridPane equipement; @FXML private GridPane equipement;
private Joueur joueurVole; private Joueur joueurVole;
private Equipement equipementVole; private CarteEquipement equipementVole;
@Override @Override
public void initialize(URL arg0, ResourceBundle arg1) { public void initialize(URL arg0, ResourceBundle arg1) {

View File

@ -70,6 +70,20 @@ public class Joueur {
updateVie(); updateVie();
} }
//pour tests IA
public void setHP(int val) {
this.stats.put("HP", val);
}
//pour tests IA
public void setNbEquip(int val) {
this.stats.put("nb_equipements", val);
}
//pour tests IA
public void setDamage(int val) {
this.stats.put("DAMAGE", val);
}
private void updateVie() { private void updateVie() {
int damage = damageTaken(); int damage = damageTaken();
this.plateau.updateVieJoueur(this, damage); this.plateau.updateVieJoueur(this, damage);

View File

@ -10,10 +10,10 @@ import java.util.List;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import carte.CarteEquipement; import carte.CarteEquipement;
import carte.CarteEquipementEffet;
import carte.CarteEquipementStat;
import personnage.Allie; import personnage.Allie;
import personnage.CartePersonnage.Equipe;
import personnage.Franklin; import personnage.Franklin;
import personnage.LoupGarou;
import personnage.Vampire; import personnage.Vampire;
public class IATest { public class IATest {
@ -87,14 +87,14 @@ public class IATest {
j2.setCartePersonnage(new Vampire(j2)); j2.setCartePersonnage(new Vampire(j2));
//test 1 : joueur ami, on ne se devoile pas //test 1 : joueur ami, on ne se devoile pas
jIA.setStat("HP", 10); jIA.setHP(10);
assertFalse(cIA.devoilerIAVampire(jIA, j2)); assertFalse(cIA.devoilerIAVampire(jIA, j2));
//test 2 : joueur ennemi et peu de HP, on se devoile //test 2 : joueur ennemi et peu de HP, on se devoile
assertTrue(cIA.devoilerIAVampire(jIA, j1)); assertTrue(cIA.devoilerIAVampire(jIA, j1));
//test 3 : joueur ennemi et beaucoup de HP, on se devoile pas //test 3 : joueur ennemi et beaucoup de HP, on se devoile pas
jIA.setStat("HP", 12); jIA.setHP(12);
assertFalse(cIA.devoilerIAVampire(jIA, j1)); assertFalse(cIA.devoilerIAVampire(jIA, j1));
} }
@ -107,16 +107,15 @@ public class IATest {
jIA.setCartePersonnage(new Franklin(jIA)); jIA.setCartePersonnage(new Franklin(jIA));
j1.setCartePersonnage(new Franklin(j1)); j1.setCartePersonnage(new Franklin(j1));
j2.setCartePersonnage(new Vampire(j2)); j2.setCartePersonnage(new Vampire(j2));
joueurs.add(j1); joueurs.add(j1);
joueurs.add(j2); joueurs.add(j2);
//test 1 : ennemi avec moins de 4 hp, on se devoile //test 1 : ennemi avec moins de 4 hp, on se devoile
j2.setStat("HP", 4); j2.setHP(4);
assertTrue(cIA.devoilerIAGeorges(jIA, joueurs)); assertTrue(cIA.devoilerIAGeorges(jIA, joueurs));
//test 2 : pas d'ennemi avec moins de 4 hp, on se devoile pas //test 2 : pas d'ennemi avec moins de 4 hp, on se devoile pas
j2.setStat("HP", 6); j2.setHP(6);
assertFalse(cIA.devoilerIAGeorges(jIA, joueurs)); assertFalse(cIA.devoilerIAGeorges(jIA, joueurs));
} }
@ -132,11 +131,11 @@ public class IATest {
joueurs.add(j2); joueurs.add(j2);
//test 1 : ennemi avec moins de 6 hp, on se devoile //test 1 : ennemi avec moins de 6 hp, on se devoile
j2.setStat("HP", 6); j2.setHP(6);
assertTrue(cIA.devoilerIAFranklin(jIA, joueurs)); assertTrue(cIA.devoilerIAFranklin(jIA, joueurs));
//test 2 : pas d'ennemi avec moins de 6 hp, on se devoile pas //test 2 : pas d'ennemi avec moins de 6 hp, on se devoile pas
j2.setStat("HP", 8); j2.setHP(8);
assertFalse(cIA.devoilerIAFranklin(jIA, joueurs)); assertFalse(cIA.devoilerIAFranklin(jIA, joueurs));
} }
@ -147,11 +146,11 @@ public class IATest {
cIA.setSeed(59); cIA.setSeed(59);
//test 1 : pas beaucoup de hp, on se devoile //test 1 : pas beaucoup de hp, on se devoile
jIA.setStat("HP", 5); jIA.setHP(5);
assertTrue(cIA.devoilerIAAllie(jIA)); assertTrue(cIA.devoilerIAAllie(jIA));
//test 2 : beaucoup de hp, on se devoile pas //test 2 : beaucoup de hp, on se devoile pas
jIA.setStat("HP", 6); jIA.setHP(6);
assertFalse(cIA.devoilerIAAllie(jIA)); assertFalse(cIA.devoilerIAAllie(jIA));
} }
@ -160,20 +159,20 @@ public class IATest {
public void devoilerCharlesTest() { public void devoilerCharlesTest() {
//setup //setup
cIA.setSeed(84); cIA.setSeed(84);
j2.setStat("HP", 4); j2.setHP(4);
//test 1 : ennemi affaibli, on se devoile //test 1 : ennemi affaibli, on se devoile
jIA.setStat("HP", 10); jIA.setHP(10);
jIA.setStat("DAMAGE", 4); jIA.setDamage(4);
assertTrue(cIA.devoilerIACharles(jIA, j2)); assertTrue(cIA.devoilerIACharles(jIA, j2));
//test 2 : ennemi affaibli mais pas assez de dmg pour le tuer, on se devoile pas //test 2 : ennemi affaibli mais pas assez de dmg pour le tuer, on se devoile pas
jIA.setStat("DAMAGE", 3); jIA.setDamage(3);
assertFalse(cIA.devoilerIACharles(jIA, j2)); assertFalse(cIA.devoilerIACharles(jIA, j2));
//test 3 : charles n'a pas beaucoup de hp, on se devoile pas //test 3 : charles n'a pas beaucoup de hp, on se devoile pas
jIA.setStat("DAMAGE", 4); jIA.setDamage(4);
jIA.setStat("HP", 1); jIA.setHP(1);
assertFalse(cIA.devoilerIACharles(jIA, j2)); assertFalse(cIA.devoilerIACharles(jIA, j2));
} }
@ -202,9 +201,9 @@ public class IATest {
joueurs.add(j3); joueurs.add(j3);
joueurs.add(j2); joueurs.add(j2);
joueurs.add(j1); joueurs.add(j1);
j1.setStat("HP", 4); j1.setHP(4);
j2.setStat("HP", 5); j2.setHP(5);
j3.setStat("HP", 3); j3.setHP(3);
assertEquals(jIA.choisirJoueur(joueurs,Contexte.ATTAQUER).getStat("HP"),4); assertEquals(jIA.choisirJoueur(joueurs,Contexte.ATTAQUER).getStat("HP"),4);
} }
@ -215,11 +214,10 @@ public class IATest {
j1.setCartePersonnage(new Franklin(j1)); j1.setCartePersonnage(new Franklin(j1));
j2.setCartePersonnage(new Allie(j2)); j2.setCartePersonnage(new Allie(j2));
j3.setCartePersonnage(new Vampire(j3)); j3.setCartePersonnage(new Vampire(j3));
j1.setStat("nb_equipements", 1); j1.setNbEquip(1);
j2.setStat("nb_equipements", 2); j2.setNbEquip(2);
j3.setStat("nb_equipements", 4); j3.setNbEquip(4);
jIA.setStat("nb_equipements", 3); jIA.setNbEquip(3);
//test 1 : on renvoit un joueur pas du meme camp avec le plus d'equipements //test 1 : on renvoit un joueur pas du meme camp avec le plus d'equipements
joueurs.add(j3); joueurs.add(j3);
@ -239,7 +237,12 @@ public class IATest {
public void choixEquipementTest() { public void choixEquipementTest() {
//setup //setup
List<CarteEquipement> equips = new ArrayList<>(); List<CarteEquipement> equips = new ArrayList<>();
//TODO : pas possible d'instancier des Equipements apart des EquipementStat equips.add(new CarteEquipementEffet("lol","mdr"));
equips.add(new CarteEquipementEffet("lol1","mdr1"));
equips.add(new CarteEquipementStat("lol2","mdr2"));
//on choisit l'equipement avec les stat en priorite
assertTrue(jIA.choisirEquipement(equips) instanceof CarteEquipementStat);
} }
//TODO : devoilement emi et devoilement bob //TODO : devoilement emi et devoilement bob