Voler équipements
This commit is contained in:
parent
4d0d06de12
commit
77f7f3e0d9
@ -24,7 +24,7 @@ public class CarteLieuMultiple extends CarteLieu{
|
||||
* @param j Appel la méthode utiliser de effet sur le joueur j
|
||||
*/
|
||||
public void utiliser(Joueur j) {
|
||||
Pioche p = (Pioche) j.choisir(pioches);
|
||||
Pioche p = (Pioche) j.choisir(pioches, Pioche.class);
|
||||
System.out.println(pioches+ " "+p);
|
||||
System.out.println(p.getStack());
|
||||
Carte c = p.piocher();
|
||||
|
@ -17,8 +17,7 @@ public class EffetChoisirEffet extends Effet{
|
||||
@Override
|
||||
public void utiliser(Joueur joueur) {
|
||||
|
||||
Effet effet = (Effet) joueur.choisir(effets);
|
||||
|
||||
Effet effet = (Effet) joueur.choisir(effets,Effet.class);
|
||||
effet.utiliser(joueur);
|
||||
}
|
||||
|
||||
|
@ -32,22 +32,18 @@ public class ActionVoler extends Action{
|
||||
@Override
|
||||
public void affecte(Joueur j1, Joueur j2) {
|
||||
|
||||
|
||||
if(this.choix) {
|
||||
|
||||
List<CarteEquipement> equipements = j2.getEquipements();
|
||||
|
||||
// J1 choisit quel équipement voler
|
||||
CarteEquipement equipement = (CarteEquipement) j1.choisir(equipements);
|
||||
|
||||
CarteEquipement equipement = (CarteEquipement) j1.choisir(equipements, CarteEquipement.class);
|
||||
j1.voler(j2,equipement);
|
||||
}else {
|
||||
|
||||
List<CarteEquipement> equipements = j1.getEquipements();
|
||||
|
||||
// J1 choisit quel équipement voler
|
||||
CarteEquipement equipement = (CarteEquipement) j1.choisir(equipements);
|
||||
|
||||
CarteEquipement equipement = (CarteEquipement) j1.choisir(equipements,CarteEquipement.class);
|
||||
j2.voler(j1,equipement);
|
||||
|
||||
}
|
||||
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
@ -43,8 +43,7 @@ class ConditionClassPersonnageTest {
|
||||
|
||||
@Test
|
||||
public void conditionClass_ListClassVide_RenvoieFalse() throws Exception {
|
||||
|
||||
|
||||
|
||||
List<Class<? extends CartePersonnage>> classes = new ArrayList<Class<? extends CartePersonnage>>();
|
||||
|
||||
ConditionClassPersonnage cc = new ConditionClassPersonnage(classes);
|
||||
@ -54,7 +53,4 @@ class ConditionClassPersonnageTest {
|
||||
assertFalse(cc.isTrue(j));
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user