Correction erreur de conception

This commit is contained in:
Paul Gross
2020-04-23 11:00:11 +02:00
parent 92980baac4
commit 95fbe16a19
10 changed files with 123 additions and 52 deletions

View File

@ -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;
}

View File

@ -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) {

View File

@ -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;
}

View File

@ -44,18 +44,60 @@ 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() {
int nbJoueurs = this.joueurs.size()-1;

View File

@ -30,6 +30,7 @@ public class Allie extends Unique{
Condition winCondition = new ConditionMultiple(conditions);
this.setCondition(winCondition);
this.setEquipe(CartePersonnage.Equipe.NEUTRE);
}
/**

View File

@ -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;
}
}

View File

@ -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

View File

@ -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);
}
/**