Correction erreur de conception
This commit is contained in:
parent
92980baac4
commit
95fbe16a19
@ -4,15 +4,16 @@ import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import main.Joueur;
|
||||
import personnage.CartePersonnage;
|
||||
|
||||
|
||||
public class ConditionType extends Condition{
|
||||
|
||||
private List<Joueur.Equipe> equipes;
|
||||
private List<CartePersonnage.Equipe> equipes;
|
||||
|
||||
public ConditionType(List<Joueur.Equipe> equipes){
|
||||
public ConditionType(List<CartePersonnage.Equipe> equipes){
|
||||
|
||||
this.equipes = new ArrayList<Joueur.Equipe>();
|
||||
this.equipes = new ArrayList<CartePersonnage.Equipe>();
|
||||
this.equipes.addAll(equipes);
|
||||
}
|
||||
|
||||
@ -34,9 +35,9 @@ public class ConditionType extends Condition{
|
||||
@Override
|
||||
public boolean isTrue(Joueur joueur)
|
||||
{
|
||||
Joueur.Equipe equipeJoueur = joueur.getEquipe();
|
||||
CartePersonnage.Equipe equipeJoueur = joueur.getEquipe();
|
||||
|
||||
for(Joueur.Equipe equipe : equipes) {
|
||||
for(CartePersonnage.Equipe equipe : equipes) {
|
||||
|
||||
if(equipeJoueur == equipe) return true;
|
||||
}
|
||||
|
@ -3,7 +3,8 @@ import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import carte.CarteLieu;
|
||||
import main.Joueur.Equipe;
|
||||
import personnage.CartePersonnage;
|
||||
import personnage.CartePersonnage.Equipe;
|
||||
|
||||
public class ControleurIA {
|
||||
int seed;
|
||||
@ -56,7 +57,7 @@ public class ControleurIA {
|
||||
public static List<Joueur> getEnnemisJoueurs(JoueurVirtuel jIA, List<Joueur> joueursLieu) {
|
||||
List<Joueur> res = new ArrayList<>();
|
||||
Equipe equipejIA = jIA.getEquipe();
|
||||
if (equipejIA == Joueur.Equipe.NEUTRE)
|
||||
if (equipejIA == CartePersonnage.Equipe.NEUTRE)
|
||||
res = joueursLieu;
|
||||
else {
|
||||
for (Joueur j : joueursLieu) {
|
||||
|
@ -5,9 +5,9 @@ import java.util.Map;
|
||||
|
||||
import carte.CarteLieu;
|
||||
import carte.Equipement;
|
||||
import carte.EquipementStat;
|
||||
import effet.Effet;
|
||||
import personnage.CartePersonnage;
|
||||
import personnage.CartePersonnage.Equipe;
|
||||
|
||||
|
||||
|
||||
@ -17,7 +17,7 @@ public class Joueur {
|
||||
private boolean revele;
|
||||
private Plateau plateau;
|
||||
private CartePersonnage cartePersonnage;
|
||||
private Equipe equipe;
|
||||
|
||||
private CarteLieu carteLieu;
|
||||
|
||||
|
||||
@ -32,11 +32,7 @@ public class Joueur {
|
||||
|
||||
private Map<String, Integer> stats;
|
||||
|
||||
public enum Equipe{
|
||||
NEUTRE,
|
||||
SHADOW,
|
||||
HUNTER
|
||||
}
|
||||
|
||||
|
||||
public Joueur(String nom) {
|
||||
this.nom = nom;
|
||||
@ -60,7 +56,7 @@ public class Joueur {
|
||||
|
||||
//shadows, hunters ou neutre
|
||||
public Equipe getEquipe() {
|
||||
return this.equipe;
|
||||
return this.cartePersonnage.getEquipe();
|
||||
}
|
||||
|
||||
public void setStat(String key, int valeur) {
|
||||
@ -162,11 +158,6 @@ public class Joueur {
|
||||
this.cartePersonnage = cp;
|
||||
}
|
||||
|
||||
public void setEquipe(Equipe equipe) {
|
||||
this.equipe = equipe;
|
||||
|
||||
}
|
||||
|
||||
public void setPlateau(Plateau plateau2) {
|
||||
this.plateau = plateau2;
|
||||
}
|
||||
|
@ -44,16 +44,58 @@ public class Plateau {
|
||||
this.stats.put(NB_MORTS_SHADOW, 0);
|
||||
this.stats.put(PARTIE_FINIE, 0);
|
||||
|
||||
initCartePersonnage();
|
||||
|
||||
// Initialisation plateau
|
||||
this.stats.put(NB_HUNTERS, 0);
|
||||
this.stats.put(NB_SHADOWS, 0);
|
||||
this.stats.put(NB_NEUTRES, 0);
|
||||
}
|
||||
|
||||
private void initCartePersonnage(List<CartePersonnage> cps, int nbJoueurs) throws Exception {
|
||||
|
||||
List<CartePersonnage> lcp = new ArrayList<>(nbJoueurs);
|
||||
|
||||
switch(nbJoueurs) {
|
||||
|
||||
case 4:
|
||||
lcp = getRandomListPersonnages(cps,2,0);
|
||||
break;
|
||||
case 5:
|
||||
lcp = getRandomListPersonnages(cps,2,1);
|
||||
break;
|
||||
case 6:
|
||||
lcp = getRandomListPersonnages(cps,2,2);
|
||||
break;
|
||||
case 7:
|
||||
lcp = getRandomListPersonnages(cps,2,3);
|
||||
break;
|
||||
case 8:
|
||||
lcp = getRandomListPersonnages(cps,3,2);
|
||||
break;
|
||||
default:
|
||||
throw new Exception();
|
||||
}
|
||||
|
||||
for(int i = 0; i< nbJoueurs; i++) {
|
||||
|
||||
this.joueurs.get(i).setCartePersonnage(lcp.get(i));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private List<CartePersonnage> getRandomListPersonnages(List<CartePersonnage> cps,int nbEquipeShadowHunter, int nbNeutres) {
|
||||
|
||||
List<CartePersonnage> lcp = new ArrayList<CartePersonnage>();
|
||||
|
||||
Collections.shuffle(lcp);
|
||||
|
||||
int nbShadow = nbEquipeShadowHunter;
|
||||
int nbHunter = nbEquipeShadowHunter;
|
||||
|
||||
for(CartePersonnage cp : cps) {
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
return cps;
|
||||
}
|
||||
|
||||
public void jeu() {
|
||||
|
@ -30,6 +30,7 @@ public class Allie extends Unique{
|
||||
Condition winCondition = new ConditionMultiple(conditions);
|
||||
|
||||
this.setCondition(winCondition);
|
||||
this.setEquipe(CartePersonnage.Equipe.NEUTRE);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -7,6 +7,13 @@ public abstract class CartePersonnage extends CarteCondition {
|
||||
|
||||
private int pv;
|
||||
private Joueur joueur;
|
||||
private Equipe equipe;
|
||||
|
||||
public enum Equipe{
|
||||
NEUTRE,
|
||||
SHADOW,
|
||||
HUNTER
|
||||
}
|
||||
|
||||
public CartePersonnage(String nom, String description, int pv, Joueur joueur) {
|
||||
super(nom, description);
|
||||
@ -42,6 +49,15 @@ public abstract class CartePersonnage extends CarteCondition {
|
||||
return pv;
|
||||
}
|
||||
|
||||
public Equipe getEquipe() {
|
||||
return this.equipe;
|
||||
}
|
||||
|
||||
protected void setEquipe(Equipe equipe) {
|
||||
this.equipe = equipe;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
@ -6,9 +6,10 @@ import main.Plateau;
|
||||
|
||||
public class Franklin extends Unique{
|
||||
|
||||
public Franklin(String nom, int hp, Joueur joueur) {
|
||||
super(nom, nom, hp, joueur);
|
||||
public Franklin(Joueur joueur) {
|
||||
super("Franklin", "desc", 12, joueur);
|
||||
this.setCondition(new WinConditionHunter());
|
||||
this.setEquipe(CartePersonnage.Equipe.HUNTER);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -18,6 +18,7 @@ public class Vampire extends CartePersonnage{
|
||||
Effet effet = new EffetSelf(action);
|
||||
this.setEffet(effet);
|
||||
this.setCondition(new WinConditionShadow());
|
||||
this.setEquipe(CartePersonnage.Equipe.SHADOW);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -9,6 +9,9 @@ import java.util.List;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import main.Joueur;
|
||||
import personnage.Allie;
|
||||
import personnage.CartePersonnage;
|
||||
import personnage.Vampire;
|
||||
|
||||
class ConditionTypeTest {
|
||||
|
||||
@ -18,18 +21,21 @@ class ConditionTypeTest {
|
||||
public void isTrue_RenvoieAppartenanceEquipe() {
|
||||
|
||||
|
||||
List<Joueur.Equipe> equipes = new ArrayList<Joueur.Equipe>();
|
||||
equipes.add(Joueur.Equipe.HUNTER);
|
||||
equipes.add(Joueur.Equipe.NEUTRE);
|
||||
List<CartePersonnage.Equipe> equipes = new ArrayList<CartePersonnage.Equipe>();
|
||||
equipes.add(CartePersonnage.Equipe.HUNTER);
|
||||
equipes.add(CartePersonnage.Equipe.NEUTRE);
|
||||
ConditionType ct = new ConditionType(equipes);
|
||||
|
||||
Joueur j = new Joueur(null);
|
||||
j.setEquipe(Joueur.Equipe.NEUTRE);
|
||||
|
||||
j.setCartePersonnage(new Allie(j));
|
||||
|
||||
|
||||
|
||||
assertTrue(ct.isTrue(j));
|
||||
|
||||
j.setEquipe(Joueur.Equipe.SHADOW);
|
||||
j.setCartePersonnage(new Vampire(j));
|
||||
|
||||
assertFalse(ct.isTrue(j));
|
||||
|
||||
}
|
||||
@ -38,10 +44,11 @@ class ConditionTypeTest {
|
||||
public void isTrue_ListTypeVide_False() {
|
||||
|
||||
|
||||
List<Joueur.Equipe> equipes = new ArrayList<Joueur.Equipe>();
|
||||
List<CartePersonnage.Equipe> equipes = new ArrayList<CartePersonnage.Equipe>();
|
||||
|
||||
ConditionType ct = new ConditionType(equipes);
|
||||
Joueur j = new Joueur(null);
|
||||
j.setCartePersonnage(new Allie(j));
|
||||
assertFalse(ct.isTrue(j));
|
||||
|
||||
}
|
||||
|
@ -1,13 +1,17 @@
|
||||
package main;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
import static org.junit.jupiter.api.Assertions.assertFalse;
|
||||
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import main.Joueur.Equipe;
|
||||
import personnage.Allie;
|
||||
import personnage.CartePersonnage.Equipe;
|
||||
import personnage.Franklin;
|
||||
import personnage.Vampire;
|
||||
|
||||
public class IATest {
|
||||
ControleurIA cIA = new ControleurIA();
|
||||
@ -19,9 +23,11 @@ public class IATest {
|
||||
@Test
|
||||
public void choixAttaquerTest() {
|
||||
//setup
|
||||
jIA.setEquipe(Equipe.SHADOW);
|
||||
j1.setEquipe(Equipe.HUNTER);
|
||||
j2.setEquipe(Equipe.SHADOW);
|
||||
|
||||
jIA.setCartePersonnage(new Vampire(jIA));
|
||||
j1.setCartePersonnage(new Franklin(j1));
|
||||
j2.setCartePersonnage(new Allie(j2));
|
||||
|
||||
jIA.setDifficulte(1);
|
||||
cIA.setSeed(24);
|
||||
|
||||
@ -54,9 +60,10 @@ public class IATest {
|
||||
public void devoilerLoupGarouTest() {
|
||||
//setup
|
||||
cIA.setSeed(59);
|
||||
jIA.setEquipe(Equipe.SHADOW);
|
||||
j1.setEquipe(Equipe.HUNTER);
|
||||
j2.setEquipe(Equipe.SHADOW);
|
||||
|
||||
jIA.setCartePersonnage(new Vampire(jIA));
|
||||
j1.setCartePersonnage(new Franklin(j1));
|
||||
j2.setCartePersonnage(new Vampire(j2));
|
||||
|
||||
//test 1 : joueur ami, on ne se devoile pas
|
||||
assertFalse(cIA.devoilerIALoupGarou(jIA, j2));
|
||||
@ -70,9 +77,10 @@ public class IATest {
|
||||
public void devoilerVampireTest() {
|
||||
//setup
|
||||
cIA.setSeed(59);
|
||||
jIA.setEquipe(Equipe.SHADOW);
|
||||
j1.setEquipe(Equipe.HUNTER);
|
||||
j2.setEquipe(Equipe.SHADOW);
|
||||
|
||||
jIA.setCartePersonnage(new Vampire(jIA));
|
||||
j1.setCartePersonnage(new Franklin(j1));
|
||||
j2.setCartePersonnage(new Vampire(j2));
|
||||
|
||||
//test 1 : joueur ami, on ne se devoile pas
|
||||
jIA.setStat("HP", 10);
|
||||
@ -91,9 +99,11 @@ public class IATest {
|
||||
public void devoilerGeorgesTest() {
|
||||
//setup
|
||||
cIA.setSeed(89);
|
||||
jIA.setEquipe(Equipe.HUNTER);
|
||||
j1.setEquipe(Equipe.HUNTER);
|
||||
j2.setEquipe(Equipe.SHADOW);
|
||||
|
||||
jIA.setCartePersonnage(new Franklin(jIA));
|
||||
j1.setCartePersonnage(new Franklin(j1));
|
||||
j2.setCartePersonnage(new Vampire(j2));
|
||||
|
||||
joueurs.add(j1);
|
||||
joueurs.add(j2);
|
||||
|
||||
@ -111,9 +121,9 @@ public class IATest {
|
||||
public void devoilerFranklinTest() {
|
||||
//setup
|
||||
cIA.setSeed(89);
|
||||
jIA.setEquipe(Equipe.HUNTER);
|
||||
j1.setEquipe(Equipe.HUNTER);
|
||||
j2.setEquipe(Equipe.SHADOW);
|
||||
jIA.setCartePersonnage(new Franklin(jIA));
|
||||
j1.setCartePersonnage(new Franklin(j1));
|
||||
j2.setCartePersonnage(new Vampire(j2));
|
||||
joueurs.add(j1);
|
||||
joueurs.add(j2);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user