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
|
* @param j Appel la méthode utiliser de effet sur le joueur j
|
||||||
*/
|
*/
|
||||||
public void utiliser(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(pioches+ " "+p);
|
||||||
System.out.println(p.getStack());
|
System.out.println(p.getStack());
|
||||||
Carte c = p.piocher();
|
Carte c = p.piocher();
|
||||||
|
@ -17,8 +17,7 @@ public class EffetChoisirEffet extends Effet{
|
|||||||
@Override
|
@Override
|
||||||
public void utiliser(Joueur joueur) {
|
public void utiliser(Joueur joueur) {
|
||||||
|
|
||||||
Effet effet = (Effet) joueur.choisir(effets);
|
Effet effet = (Effet) joueur.choisir(effets,Effet.class);
|
||||||
|
|
||||||
effet.utiliser(joueur);
|
effet.utiliser(joueur);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -32,22 +32,18 @@ public class ActionVoler extends Action{
|
|||||||
@Override
|
@Override
|
||||||
public void affecte(Joueur j1, Joueur j2) {
|
public void affecte(Joueur j1, Joueur j2) {
|
||||||
|
|
||||||
|
|
||||||
if(this.choix) {
|
if(this.choix) {
|
||||||
|
|
||||||
List<CarteEquipement> equipements = j2.getEquipements();
|
List<CarteEquipement> equipements = j2.getEquipements();
|
||||||
|
|
||||||
// J1 choisit quel équipement voler
|
// J1 choisit quel équipement voler
|
||||||
CarteEquipement equipement = (CarteEquipement) j1.choisir(equipements);
|
CarteEquipement equipement = (CarteEquipement) j1.choisir(equipements, CarteEquipement.class);
|
||||||
|
|
||||||
j1.voler(j2,equipement);
|
j1.voler(j2,equipement);
|
||||||
}else {
|
}else {
|
||||||
|
|
||||||
List<CarteEquipement> equipements = j1.getEquipements();
|
List<CarteEquipement> equipements = j1.getEquipements();
|
||||||
|
|
||||||
// J1 choisit quel équipement voler
|
// J1 choisit quel équipement voler
|
||||||
CarteEquipement equipement = (CarteEquipement) j1.choisir(equipements);
|
CarteEquipement equipement = (CarteEquipement) j1.choisir(equipements,CarteEquipement.class);
|
||||||
|
|
||||||
j2.voler(j1,equipement);
|
j2.voler(j1,equipement);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -109,7 +109,18 @@ public class GestionnaireJeu {
|
|||||||
return false;
|
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(() -> {
|
Platform.runLater(() -> {
|
||||||
try {
|
try {
|
||||||
pc.afficherChoisirEquipementVole(joueur);
|
pc.afficherChoisirEquipementVole(joueur);
|
||||||
@ -140,7 +151,6 @@ public class GestionnaireJeu {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void waitPlateau() {
|
public void waitPlateau() {
|
||||||
|
|
||||||
synchronized(plateau) {
|
synchronized(plateau) {
|
||||||
try {
|
try {
|
||||||
plateau.wait();
|
plateau.wait();
|
||||||
@ -204,10 +214,5 @@ public class GestionnaireJeu {
|
|||||||
|
|
||||||
public RessourceLoader getRessourceLoader() {
|
public RessourceLoader getRessourceLoader() {
|
||||||
return this.ressourceLoader;
|
return this.ressourceLoader;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -4,7 +4,6 @@ import java.util.HashMap;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import carte.Carte;
|
|
||||||
import carte.CarteEquipement;
|
import carte.CarteEquipement;
|
||||||
import carte.CarteLieu;
|
import carte.CarteLieu;
|
||||||
import effet.Effet;
|
import effet.Effet;
|
||||||
@ -226,24 +225,25 @@ public class Joueur {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public boolean hasOpponents() {
|
public boolean hasOpponents() {
|
||||||
|
List<Joueur> joueursRange = this.getJoueursRange();
|
||||||
|
return !joueursRange.isEmpty();
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<Joueur> getJoueursRange() {
|
||||||
CarteLieu cl = this.carteLieu;
|
CarteLieu cl = this.carteLieu;
|
||||||
List<Joueur> joueurs = new ArrayList<Joueur>();
|
List<Joueur> joueurs = new ArrayList<Joueur>();
|
||||||
|
|
||||||
joueurs.addAll(cl.getJoueurs());
|
joueurs.addAll(cl.getJoueurs());
|
||||||
joueurs.addAll(cl.getJoueursAdjacents());
|
joueurs.addAll(cl.getJoueursAdjacents());
|
||||||
joueurs.remove(this);
|
joueurs.remove(this);
|
||||||
|
return joueurs;
|
||||||
return !joueurs.isEmpty();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public boolean choisir() {
|
public boolean choisir() {
|
||||||
return this.plateau.choisir(this);
|
return this.plateau.choisir(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Object choisir(List<?> list) {
|
public Object choisir(List<?> adjacents,Class cls) {
|
||||||
return list.get(0);
|
return this.plateau.choisir(this,adjacents, cls);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Joueur choisirAdjacents() {
|
public Joueur choisirAdjacents() {
|
||||||
@ -254,4 +254,5 @@ public class Joueur {
|
|||||||
return this.plateau.choisirParmisTous(this);
|
return this.plateau.choisirParmisTous(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -8,6 +8,7 @@ import java.util.List;
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import carte.Carte;
|
import carte.Carte;
|
||||||
|
import carte.CarteEquipement;
|
||||||
import carte.CarteLieu;
|
import carte.CarteLieu;
|
||||||
import carte.CarteLieuMultiple;
|
import carte.CarteLieuMultiple;
|
||||||
import carte.CarteLieuType;
|
import carte.CarteLieuType;
|
||||||
@ -265,6 +266,7 @@ public class Plateau extends Thread{
|
|||||||
while(true) {
|
while(true) {
|
||||||
|
|
||||||
Joueur currentJoueur = this.joueurs.get(i % nbJoueurs);
|
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("\n\n\n\n\n");
|
||||||
System.out.println("Au tour de "+currentJoueur.getNom());
|
System.out.println("Au tour de "+currentJoueur.getNom());
|
||||||
System.out.println("Lancement des dés.");
|
System.out.println("Lancement des dés.");
|
||||||
@ -287,8 +289,8 @@ public class Plateau extends Thread{
|
|||||||
System.out.println("Souhaitez vous attaquer quelqu'un ?");
|
System.out.println("Souhaitez vous attaquer quelqu'un ?");
|
||||||
if(currentJoueur.choisir()){
|
if(currentJoueur.choisir()){
|
||||||
if(currentJoueur.hasOpponents()) {
|
if(currentJoueur.hasOpponents()) {
|
||||||
List<Joueur> adjacents = currentJoueur.getJoueursAdjacents();
|
List<Joueur> adjacents = currentJoueur.getJoueursRange();
|
||||||
Joueur cible = (Joueur) currentJoueur.choisir(adjacents);
|
Joueur cible = (Joueur) currentJoueur.choisir(adjacents,Joueur.class);
|
||||||
attaquer(currentJoueur,cible);
|
attaquer(currentJoueur,cible);
|
||||||
if(isPartieTerminee()) break;
|
if(isPartieTerminee()) break;
|
||||||
}else {
|
}else {
|
||||||
@ -459,4 +461,8 @@ public class Plateau extends Thread{
|
|||||||
gj.updateVieJoueur(joueur,damage);
|
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
|
@Test
|
||||||
public void conditionClass_ListClassVide_RenvoieFalse() throws Exception {
|
public void conditionClass_ListClassVide_RenvoieFalse() throws Exception {
|
||||||
|
|
||||||
|
|
||||||
List<Class<? extends CartePersonnage>> classes = new ArrayList<Class<? extends CartePersonnage>>();
|
List<Class<? extends CartePersonnage>> classes = new ArrayList<Class<? extends CartePersonnage>>();
|
||||||
|
|
||||||
ConditionClassPersonnage cc = new ConditionClassPersonnage(classes);
|
ConditionClassPersonnage cc = new ConditionClassPersonnage(classes);
|
||||||
@ -54,7 +53,4 @@ class ConditionClassPersonnageTest {
|
|||||||
assertFalse(cc.isTrue(j));
|
assertFalse(cc.isTrue(j));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user