Test méthode initCartePersonnage

This commit is contained in:
Paul Gross 2020-04-23 11:46:37 +02:00
parent 95fbe16a19
commit 85ca30da0d
8 changed files with 149 additions and 24 deletions

View File

@ -48,8 +48,6 @@ public class GestionnaireJeu {
}
public static Configuration lancerConfiguration() {
//TODO
return null;
}

View File

@ -28,14 +28,14 @@ public class Plateau {
private Map<String, Integer> stats;
public Plateau(List<Joueur> joueurs) {
this.joueurs = joueurs;
this.lieux = new ArrayList<>();
this.stats = new HashMap<>();
joueurs.forEach(x -> x.setPlateau(this));
this.joueurs = joueurs;
this.stats.put(NB_MORTS, 0);
@ -49,10 +49,14 @@ public class Plateau {
this.stats.put(NB_NEUTRES, 0);
}
private void initCartePersonnage(List<CartePersonnage> cps, int nbJoueurs) throws Exception {
public void initCartePersonnage(List<CartePersonnage> cps) throws Exception {
int nbJoueurs = this.joueurs.size();
List<CartePersonnage> lcp = new ArrayList<>(nbJoueurs);
System.out.println(this.joueurs);
switch(nbJoueurs) {
case 4:
@ -76,26 +80,44 @@ public class Plateau {
for(int i = 0; i< nbJoueurs; i++) {
this.joueurs.get(i).setCartePersonnage(lcp.get(i));
Joueur j = joueurs.get(i);
j.setCartePersonnage(lcp.get(i));
}
}
private List<CartePersonnage> getRandomListPersonnages(List<CartePersonnage> cps,int nbEquipeShadowHunter, int nbNeutres) {
List<CartePersonnage> lcp = new ArrayList<CartePersonnage>();
Collections.shuffle(lcp);
Collections.shuffle(cps);
int nbShadow = nbEquipeShadowHunter;
int nbHunter = nbEquipeShadowHunter;
int nbNeutre = nbNeutres;
for(CartePersonnage cp : cps) {
if(nbHunter > 0 && cp.getEquipe() == CartePersonnage.Equipe.HUNTER) {
nbHunter--;
lcp.add(cp);
}
return cps;
if(nbNeutre > 0 && cp.getEquipe() == CartePersonnage.Equipe.NEUTRE) {
nbNeutre--;
lcp.add(cp);
}
if(nbShadow > 0 && cp.getEquipe() == CartePersonnage.Equipe.SHADOW) {
nbShadow--;
lcp.add(cp);
}
}
System.out.println(lcp);
return lcp;
}
public void jeu() {
@ -123,7 +145,6 @@ public class Plateau {
public void deplacer(Joueur currentJoueur) {
boolean attributed = false;
while(!attributed) {
@ -140,7 +161,6 @@ public class Plateau {
}
}
public void attaquer(Joueur joueur1, Joueur joueur2) {
int attaque = diffRolls();
@ -151,7 +171,6 @@ public class Plateau {
}
}
public Joueur selectionnerJoueur() {
return new Joueur("0");
}
@ -188,7 +207,6 @@ public class Plateau {
return this.stats.get(key);
}else {
//TODO Exception
return -1;
}
@ -234,7 +252,6 @@ public class Plateau {
}
public Effet choisirEffet(Joueur joueur, Effet[] effets) {
return gj.choisirEffet(joueur,effets);
}

View File

@ -29,6 +29,26 @@ public class Allie extends Unique{
Condition winCondition = new ConditionMultiple(conditions);
this.setCondition(winCondition);
this.setEquipe(CartePersonnage.Equipe.NEUTRE);
this.setJoueur(joueur);
joueur.setCartePersonnage(this);
}
public Allie() {
super("ALLIE","desc", 8, null);
Action action = new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP,this.getPv(),false);
Effet effet = new EffetSelf(action);
this.setEffet(effet);
List<Condition> conditions = new ArrayList<Condition>();
conditions.add(new ConditionStatistiques(ConditionStatistiques.PLATEAU, Plateau.PARTIE_FINIE, 1, ConditionStatistiques.EQUAL));
conditions.add(new ConditionStatistiques(ConditionStatistiques.JOUEUR, Joueur.PLAYER_HP, 0, ConditionStatistiques.LESS));
Condition winCondition = new ConditionMultiple(conditions);
this.setCondition(winCondition);
this.setEquipe(CartePersonnage.Equipe.NEUTRE);
}

View File

@ -19,7 +19,7 @@ public abstract class CartePersonnage extends CarteCondition {
super(nom, description);
this.pv = pv;
this.joueur = joueur;
joueur.setCartePersonnage(this);
}
public abstract void utiliser();

View File

@ -12,6 +12,12 @@ public class Franklin extends Unique{
this.setEquipe(CartePersonnage.Equipe.HUNTER);
}
public Franklin() {
super("Franklin", "desc", 12, null);
this.setCondition(new WinConditionHunter());
this.setEquipe(CartePersonnage.Equipe.HUNTER);
}
@Override
public void attaquer(Joueur j, int blessure) {
// TODO Auto-generated method stub

View File

@ -10,6 +10,18 @@ import main.Joueur;
public class Vampire extends CartePersonnage{
public Vampire() {
super("Vampire","desc", 13,null);
Action action = new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP,2,true);
Effet effet = new EffetSelf(action);
this.setEffet(effet);
this.setCondition(new WinConditionShadow());
this.setEquipe(CartePersonnage.Equipe.SHADOW);
}
public Vampire(Joueur joueur) {
super("Vampire","desc", 13, joueur);
@ -19,8 +31,13 @@ public class Vampire extends CartePersonnage{
this.setEffet(effet);
this.setCondition(new WinConditionShadow());
this.setEquipe(CartePersonnage.Equipe.SHADOW);
this.setJoueur(joueur);
joueur.setCartePersonnage(this);
}
/**
* Lance l'action d'attaquer de Vampire
* <br><br> Effet : Soin 2 PV

View File

@ -42,7 +42,6 @@ class GestionnaireEquipementsTest {
j1.setCartePersonnage(a1);
j2.setCartePersonnage(a2);
}
@Test
@ -56,13 +55,10 @@ class GestionnaireEquipementsTest {
es.setEffet(new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_DAMAGE, 2, true)));
es.setCondition(new Condition());
j1.ajouterEquipement(es);
}
assertEquals(nbEffets, j1.getStat(Joueur.PLAYER_NB_EQUIPEMENTS));
}
@Test
void ajouterEquipement_StackingStats() {

View File

@ -1,5 +1,6 @@
package main;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
import static org.junit.jupiter.api.Assertions.assertNotEquals;
@ -19,6 +20,9 @@ import effet.EffetSelf;
import effet.action.ActionAltererStatistiquesJoueur;
import effet.action.ActionVoler;
import personnage.Allie;
import personnage.CartePersonnage;
import personnage.Franklin;
import personnage.Vampire;
class PlateauTest {
@ -133,4 +137,71 @@ class PlateauTest {
}
}
@Test
void initCartePersonnage() throws Exception {
Joueur j;
for(int k = 4 ; k < 9 ;k++) {
int nbJoueurs = k;
List<Joueur> joueurs = new ArrayList<Joueur>();
List<CartePersonnage> personnages = new ArrayList<CartePersonnage>(5);
int nbShadowHunters = 0;
int nbNeutres = 0;
switch(nbJoueurs) {
case 4:
nbShadowHunters = 2;
nbNeutres = 0;
break;
case 5:
nbShadowHunters = 2;
nbNeutres = 1;
break;
case 6:
nbShadowHunters = 2;
nbNeutres = 2;
break;
case 7:
nbShadowHunters = 2;
nbNeutres = 3;
break;
case 8:
nbShadowHunters = 3;
nbNeutres = 2;
break;}
for (int i = 0; i < nbJoueurs; i++) {
j = new Joueur("Michel");
joueurs.add(new Joueur("Michel"));
}
for(int i = 0 ; i <nbShadowHunters ; i++) {
personnages.add(new Franklin());
personnages.add(new Vampire());
}
for(int i = 0; i < nbNeutres; i++) {
personnages.add(new Allie());
}
Plateau plateau = new Plateau(joueurs);
plateau.initCartePersonnage(personnages);
for(Joueur js : joueurs) {
assertNotNull(js.getCartePersonnage());
}
}}
}