Voler équipements
This commit is contained in:
@@ -109,7 +109,18 @@ public class GestionnaireJeu {
|
||||
return false;
|
||||
}
|
||||
|
||||
public CarteEquipement choisirEquipementVole(Joueur joueur) {
|
||||
@SuppressWarnings("unchecked")
|
||||
public Object choisir(Joueur joueur, List<?> list, Class<?> cls) {
|
||||
|
||||
|
||||
|
||||
if(cls == CarteEquipement.class) {
|
||||
return choisirEquipementVole(joueur, (List<CarteEquipement>) list);
|
||||
}
|
||||
return list.get(0);
|
||||
}
|
||||
|
||||
public CarteEquipement choisirEquipementVole(Joueur joueur, List<CarteEquipement> lce) {
|
||||
Platform.runLater(() -> {
|
||||
try {
|
||||
pc.afficherChoisirEquipementVole(joueur);
|
||||
@@ -140,7 +151,6 @@ public class GestionnaireJeu {
|
||||
}
|
||||
|
||||
public void waitPlateau() {
|
||||
|
||||
synchronized(plateau) {
|
||||
try {
|
||||
plateau.wait();
|
||||
@@ -204,10 +214,5 @@ public class GestionnaireJeu {
|
||||
|
||||
public RessourceLoader getRessourceLoader() {
|
||||
return this.ressourceLoader;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,7 +4,6 @@ import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import carte.Carte;
|
||||
import carte.CarteEquipement;
|
||||
import carte.CarteLieu;
|
||||
import effet.Effet;
|
||||
@@ -226,24 +225,25 @@ public class Joueur {
|
||||
}
|
||||
|
||||
public boolean hasOpponents() {
|
||||
List<Joueur> joueursRange = this.getJoueursRange();
|
||||
return !joueursRange.isEmpty();
|
||||
}
|
||||
|
||||
public List<Joueur> getJoueursRange() {
|
||||
CarteLieu cl = this.carteLieu;
|
||||
List<Joueur> joueurs = new ArrayList<Joueur>();
|
||||
|
||||
joueurs.addAll(cl.getJoueurs());
|
||||
joueurs.addAll(cl.getJoueursAdjacents());
|
||||
joueurs.remove(this);
|
||||
|
||||
return !joueurs.isEmpty();
|
||||
return joueurs;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
public boolean choisir() {
|
||||
return this.plateau.choisir(this);
|
||||
}
|
||||
|
||||
public Object choisir(List<?> list) {
|
||||
return list.get(0);
|
||||
public Object choisir(List<?> adjacents,Class cls) {
|
||||
return this.plateau.choisir(this,adjacents, cls);
|
||||
}
|
||||
|
||||
public Joueur choisirAdjacents() {
|
||||
@@ -254,4 +254,5 @@ public class Joueur {
|
||||
return this.plateau.choisirParmisTous(this);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -8,6 +8,7 @@ import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import carte.Carte;
|
||||
import carte.CarteEquipement;
|
||||
import carte.CarteLieu;
|
||||
import carte.CarteLieuMultiple;
|
||||
import carte.CarteLieuType;
|
||||
@@ -265,6 +266,7 @@ public class Plateau extends Thread{
|
||||
while(true) {
|
||||
|
||||
Joueur currentJoueur = this.joueurs.get(i % nbJoueurs);
|
||||
currentJoueur.choisir(new ArrayList<CarteEquipement>(), CarteEquipement.class);
|
||||
System.out.println("\n\n\n\n\n");
|
||||
System.out.println("Au tour de "+currentJoueur.getNom());
|
||||
System.out.println("Lancement des dés.");
|
||||
@@ -287,8 +289,8 @@ public class Plateau extends Thread{
|
||||
System.out.println("Souhaitez vous attaquer quelqu'un ?");
|
||||
if(currentJoueur.choisir()){
|
||||
if(currentJoueur.hasOpponents()) {
|
||||
List<Joueur> adjacents = currentJoueur.getJoueursAdjacents();
|
||||
Joueur cible = (Joueur) currentJoueur.choisir(adjacents);
|
||||
List<Joueur> adjacents = currentJoueur.getJoueursRange();
|
||||
Joueur cible = (Joueur) currentJoueur.choisir(adjacents,Joueur.class);
|
||||
attaquer(currentJoueur,cible);
|
||||
if(isPartieTerminee()) break;
|
||||
}else {
|
||||
@@ -459,4 +461,8 @@ public class Plateau extends Thread{
|
||||
gj.updateVieJoueur(joueur,damage);
|
||||
|
||||
}
|
||||
|
||||
public Object choisir(Joueur joueur, List<?> list, Class cls) {
|
||||
return gj.choisir(joueur,list,cls);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user