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