Ajout des cartes visions + mensonge métamorphe

This commit is contained in:
Paul Gross 2020-05-13 16:06:00 +02:00
parent 3d059d5747
commit b69955273d
7 changed files with 46 additions and 7 deletions

View File

@ -5,6 +5,7 @@ import java.io.Serializable;
import condition.Condition; import condition.Condition;
import effet.EffetChoisirCible; import effet.EffetChoisirCible;
import effet.action.Action; import effet.action.Action;
import main.Contexte;
import main.GestionnaireJeu; import main.GestionnaireJeu;
import main.Joueur; import main.Joueur;
@ -31,10 +32,13 @@ public class CarteVision extends CartePiochable implements Serializable{
gj.piocher(j1,this); gj.piocher(j1,this);
Joueur j2 = j1.choisiParmisTous(); Joueur j2 = j1.choisiParmisTous();
boolean M = j2.isMetamorph();
boolean Co = this.getCondition().isTrue(j2);
gj.recevoirCarteVision(j2,this);
boolean C = j2.choisir(Contexte.CHOISIR_VISION);
if(this.getCondition().isTrue(j2)) { if((!(M) && Co) || (M && C)) {
this.getEffet().getAction().affecte(j1, j2); this.getEffet().getAction().affecte(j1, j2);
} }
} }
} }

View File

@ -8,7 +8,6 @@ import java.util.ResourceBundle;
import carte.CarteEquipement; import carte.CarteEquipement;
import javafx.fxml.FXML; import javafx.fxml.FXML;
import javafx.fxml.Initializable; import javafx.fxml.Initializable;
import javafx.scene.control.ScrollPane;
import javafx.scene.image.ImageView; import javafx.scene.image.ImageView;
import javafx.scene.layout.GridPane; import javafx.scene.layout.GridPane;
import javafx.scene.layout.HBox; import javafx.scene.layout.HBox;

View File

@ -407,13 +407,28 @@ public class PlateauController implements Initializable {
final ResourceBundle bundle = ResourceBundle.getBundle("domaine.properties.langue", Locale.FRANCE); final ResourceBundle bundle = ResourceBundle.getBundle("domaine.properties.langue", Locale.FRANCE);
final FXMLLoader fxmlLoader = new FXMLLoader(fxmlURL, bundle); final FXMLLoader fxmlLoader = new FXMLLoader(fxmlURL, bundle);
Pane root = (Pane)fxmlLoader.load(); Pane root = (Pane)fxmlLoader.load();
List<JoueurIHM> joueursIHM = toJoueursIHM(joueurs);
this.cj = fxmlLoader.getController(); this.cj = fxmlLoader.getController();
this.cj.setListJoueursIHM(this.joueursIHM); this.cj.setListJoueursIHM(joueursIHM);
this.cj.initButtons(); this.cj.initButtons();
JoueurIHM jihm = getJoueurIHM(j); JoueurIHM jihm = getJoueurIHM(j);
jihm.setZoneJoueur(root); jihm.setZoneJoueur(root);
} }
public void afficherPiocher(Joueur j) throws IOException { private List<JoueurIHM> toJoueursIHM(List<Joueur> joueurs) {
List<JoueurIHM> list = new ArrayList<JoueurIHM>();
for(Joueur j : joueurs) {
list.add(getJoueurIHM(j));
}
return list;
}
public void afficherPiocher(Joueur j) throws IOException {
final URL fxmlURL = getClass().getResource("/ihm/ressources/Jouer_tour(2b)piocher_carte.fxml"); final URL fxmlURL = getClass().getResource("/ihm/ressources/Jouer_tour(2b)piocher_carte.fxml");
final ResourceBundle bundle = ResourceBundle.getBundle("domaine.properties.langue", Locale.FRANCE); final ResourceBundle bundle = ResourceBundle.getBundle("domaine.properties.langue", Locale.FRANCE);

View File

@ -9,6 +9,6 @@ public enum Contexte {
ACTIVER_EFFET_LIEU, ACTIVER_EFFET_LIEU,
EFFET_BOB, EFFET_BOB,
LANCER_DES_4, LANCER_DES_4,
LANCER_DES_6 LANCER_DES_6, CHOISIR_VISION
} }

View File

@ -13,6 +13,7 @@ import carte.CarteEquipement;
import carte.CarteLieu; import carte.CarteLieu;
import carte.CartePiochable; import carte.CartePiochable;
import carte.CartePiochable.Type; import carte.CartePiochable.Type;
import carte.CarteVision;
import database.RessourceLoader; import database.RessourceLoader;
import effet.Effet; import effet.Effet;
import ihm.controller.PlateauController; import ihm.controller.PlateauController;
@ -328,5 +329,20 @@ public class GestionnaireJeu {
waitPlateau(); waitPlateau();
} }
public void recevoirCarteVision(Joueur j2, CarteVision carteVision) {
Platform.runLater(() -> {
try {
pc.afficherVision(j2, carteVision);
} catch (IOException e) {
e.printStackTrace();
}
});
waitPlateau();
}
} }

View File

@ -8,6 +8,7 @@ import carte.CarteEquipement;
import carte.CarteLieu; import carte.CarteLieu;
import effet.Effet; import effet.Effet;
import personnage.CartePersonnage; import personnage.CartePersonnage;
import personnage.Metamorphe;
import personnage.CartePersonnage.Equipe; import personnage.CartePersonnage.Equipe;
@ -267,4 +268,8 @@ public class Joueur {
this.cartePersonnage.utiliser(); this.cartePersonnage.utiliser();
} }
} }
public boolean isMetamorph() {
return this.cartePersonnage instanceof Metamorphe;
}
} }

View File

@ -385,7 +385,7 @@ public class Plateau extends Thread{
int roll6 = rollRandom(6); int roll6 = rollRandom(6);
int sum = Math.abs(roll4+roll6); int sum = Math.abs(roll4+roll6);
gj.rollDice(j, PlateauController.DICE_BOTH, roll4,roll6); gj.rollDice(j, PlateauController.DICE_BOTH, roll4,roll6);
return 8; return 3;
//return Math.abs(roll4+roll6); //return Math.abs(roll4+roll6);
} }