Ajout LieuZJ
This commit is contained in:
parent
df54f21dfd
commit
b595503b7b
@ -1,20 +1,23 @@
|
|||||||
package effet;
|
package effet;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import main.Joueur;
|
import main.Joueur;
|
||||||
|
|
||||||
public class EffetChoisirEffet extends Effet{
|
public class EffetChoisirEffet extends Effet{
|
||||||
|
|
||||||
private Effet[] effets;
|
private List<Effet> effets;
|
||||||
|
|
||||||
public EffetChoisirEffet(Effet ...effets) {
|
public EffetChoisirEffet(Effet ...effets) {
|
||||||
super(null);
|
super(null);
|
||||||
this.effets = effets;
|
this.effets = Arrays.asList(effets);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void utiliser(Joueur joueur) {
|
public void utiliser(Joueur joueur) {
|
||||||
|
|
||||||
Effet effet = joueur.choisir(effets);
|
Effet effet = (Effet) joueur.choisir(effets);
|
||||||
|
|
||||||
effet.utiliser(joueur);
|
effet.utiliser(joueur);
|
||||||
}
|
}
|
||||||
|
@ -81,6 +81,7 @@ public class JoueurIHM {
|
|||||||
AnchorPane.setLeftAnchor(p,0.0);
|
AnchorPane.setLeftAnchor(p,0.0);
|
||||||
AnchorPane.setRightAnchor(p,0.0);
|
AnchorPane.setRightAnchor(p,0.0);
|
||||||
AnchorPane.setTopAnchor(p,0.0);
|
AnchorPane.setTopAnchor(p,0.0);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
29
src/ihm/controller/LieuZJ.java
Normal file
29
src/ihm/controller/LieuZJ.java
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
package ihm.controller;
|
||||||
|
|
||||||
|
import java.net.URL;
|
||||||
|
import java.util.ResourceBundle;
|
||||||
|
|
||||||
|
import javafx.fxml.FXML;
|
||||||
|
import javafx.fxml.Initializable;
|
||||||
|
import javafx.scene.control.Button;
|
||||||
|
import javafx.scene.image.Image;
|
||||||
|
import javafx.scene.image.ImageView;
|
||||||
|
import main.GestionnaireJeu;
|
||||||
|
|
||||||
|
public class LieuZJ implements Initializable {
|
||||||
|
@FXML private Button okButton;
|
||||||
|
@FXML private ImageView imageView;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void initialize(URL arg0, ResourceBundle arg1) {
|
||||||
|
|
||||||
|
okButton.setOnAction(x -> {
|
||||||
|
GestionnaireJeu.notifyPlateau();
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setImageView(Image imageCarte) {
|
||||||
|
this.imageView.setImage(imageCarte);
|
||||||
|
}
|
||||||
|
}
|
@ -287,7 +287,6 @@ public class PlateauController implements Initializable {
|
|||||||
for(JoueurIHM joueurIHM : joueursIHM) {
|
for(JoueurIHM joueurIHM : joueursIHM) {
|
||||||
if(joueurIHM.getJoueur().equals(j)) return joueurIHM;
|
if(joueurIHM.getJoueur().equals(j)) return joueurIHM;
|
||||||
}
|
}
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -325,7 +324,6 @@ public class PlateauController implements Initializable {
|
|||||||
getPaneJoueur(i).getChildren().setAll();
|
getPaneJoueur(i).getChildren().setAll();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void rollDice(Joueur joueur, int typeDice, int[] rolls) {
|
public void rollDice(Joueur joueur, int typeDice, int[] rolls) {
|
||||||
@ -343,6 +341,19 @@ public class PlateauController implements Initializable {
|
|||||||
jihm.setZoneJoueur(root);
|
jihm.setZoneJoueur(root);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void afficherLieu(Joueur j) throws IOException {
|
||||||
|
|
||||||
|
final URL fxmlURL = getClass().getResource("/ihm/ressources/LieuZJ.fxml");
|
||||||
|
final ResourceBundle bundle = ResourceBundle.getBundle("domaine.properties.langue", Locale.FRANCE);
|
||||||
|
final FXMLLoader fxmlLoader = new FXMLLoader(fxmlURL, bundle);
|
||||||
|
Pane root = (Pane)fxmlLoader.load();
|
||||||
|
LieuZJ lzj = fxmlLoader.getController();
|
||||||
|
lzj.setImageView(this.getImageCarte(j.getCarteLieu()));
|
||||||
|
JoueurIHM jihm = getJoueurIHM(j);
|
||||||
|
jihm.setZoneJoueur(root);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
public boolean getChoix(Joueur joueur) {
|
public boolean getChoix(Joueur joueur) {
|
||||||
JoueurIHM jihm = getJoueurIHM(joueur);
|
JoueurIHM jihm = getJoueurIHM(joueur);
|
||||||
boolean result = this.cb.getResult();
|
boolean result = this.cb.getResult();
|
||||||
@ -384,4 +395,7 @@ public class PlateauController implements Initializable {
|
|||||||
BufferedImage bi = this.mapRessourcesCartes.get(carte);
|
BufferedImage bi = this.mapRessourcesCartes.get(carte);
|
||||||
return RessourceLoader.toJavaFX(bi);
|
return RessourceLoader.toJavaFX(bi);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
38
src/ihm/ressources/LieuZJ.fxml
Normal file
38
src/ihm/ressources/LieuZJ.fxml
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
|
||||||
|
<?import javafx.scene.control.Button?>
|
||||||
|
<?import javafx.scene.control.Label?>
|
||||||
|
<?import javafx.scene.control.SplitPane?>
|
||||||
|
<?import javafx.scene.image.ImageView?>
|
||||||
|
<?import javafx.scene.layout.AnchorPane?>
|
||||||
|
<?import javafx.scene.layout.VBox?>
|
||||||
|
<?import javafx.scene.text.Font?>
|
||||||
|
|
||||||
|
|
||||||
|
<AnchorPane xmlns="http://javafx.com/javafx/11.0.1" xmlns:fx="http://javafx.com/fxml/1" fx:controller="ihm.controller.LieuZJ">
|
||||||
|
<children>
|
||||||
|
<SplitPane dividerPositions="0.6212121212121212" styleClass="background" stylesheets="@style/plateau.css" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
|
||||||
|
<items>
|
||||||
|
<AnchorPane>
|
||||||
|
<children>
|
||||||
|
<VBox prefHeight="200.0" prefWidth="100.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
|
||||||
|
<children>
|
||||||
|
<Label styleClass="text" text="Vous arrivez sur cette Carte Lieu" textOverrun="CLIP" wrapText="true">
|
||||||
|
<font>
|
||||||
|
<Font size="14.0" />
|
||||||
|
</font>
|
||||||
|
</Label>
|
||||||
|
<Button fx:id="okButton" mnemonicParsing="false" styleClass="bouton" text="Ok" />
|
||||||
|
</children>
|
||||||
|
</VBox>
|
||||||
|
</children>
|
||||||
|
</AnchorPane>
|
||||||
|
<AnchorPane>
|
||||||
|
<children>
|
||||||
|
<ImageView fx:id="imageView" fitHeight="158.0" fitWidth="132.0" pickOnBounds="true" preserveRatio="true" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0" />
|
||||||
|
</children>
|
||||||
|
</AnchorPane>
|
||||||
|
</items>
|
||||||
|
</SplitPane>
|
||||||
|
</children>
|
||||||
|
</AnchorPane>
|
@ -3,16 +3,26 @@
|
|||||||
<?import javafx.scene.control.Button?>
|
<?import javafx.scene.control.Button?>
|
||||||
<?import javafx.scene.control.Label?>
|
<?import javafx.scene.control.Label?>
|
||||||
<?import javafx.scene.layout.AnchorPane?>
|
<?import javafx.scene.layout.AnchorPane?>
|
||||||
|
<?import javafx.scene.layout.HBox?>
|
||||||
|
<?import javafx.scene.layout.VBox?>
|
||||||
<?import javafx.scene.text.Font?>
|
<?import javafx.scene.text.Font?>
|
||||||
|
|
||||||
<AnchorPane fx:id="root" minHeight="0.0" minWidth="0.0" prefHeight="129.0" prefWidth="201.0" style="-fx-background-color: white;" xmlns="http://javafx.com/javafx/11.0.1" xmlns:fx="http://javafx.com/fxml/1" fx:controller="ihm.controller.ChoisirBoolean">
|
<AnchorPane fx:id="root" minHeight="0.0" minWidth="0.0" prefHeight="289.0" prefWidth="450.0" styleClass="background" stylesheets="@style/plateau.css" xmlns="http://javafx.com/javafx/11.0.1" xmlns:fx="http://javafx.com/fxml/1" fx:controller="ihm.controller.ChoisirBoolean">
|
||||||
<children>
|
<children>
|
||||||
<Label fx:id="titre" layoutX="8.0" layoutY="-11.0" prefHeight="26.0" prefWidth="128.0" text="Voulez vous faire cette action ?" AnchorPane.bottomAnchor="77.0" AnchorPane.leftAnchor="8.0" AnchorPane.rightAnchor="7.0" AnchorPane.topAnchor="-11.0">
|
<VBox alignment="CENTER" layoutX="37.0" layoutY="14.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
|
||||||
|
<children>
|
||||||
|
<Label fx:id="titre" alignment="CENTER" prefHeight="88.0" prefWidth="158.0" styleClass="text" text="Voulez vous faire cette action ?" wrapText="true">
|
||||||
<font>
|
<font>
|
||||||
<Font size="13.0" />
|
<Font size="13.0" />
|
||||||
</font>
|
</font>
|
||||||
</Label>
|
</Label>
|
||||||
<Button fx:id="ouiButton" layoutX="34.0" layoutY="85.0" mnemonicParsing="false" prefHeight="30.0" prefWidth="45.0" text="Oui" AnchorPane.bottomAnchor="14.0" AnchorPane.leftAnchor="34.0" AnchorPane.rightAnchor="122.0" AnchorPane.topAnchor="85.0" />
|
<HBox alignment="CENTER">
|
||||||
<Button fx:id="nonButton" layoutX="126.0" layoutY="85.0" mnemonicParsing="false" prefHeight="30.0" prefWidth="45.0" text="Non" AnchorPane.bottomAnchor="14.0" AnchorPane.leftAnchor="126.0" AnchorPane.rightAnchor="30.0" AnchorPane.topAnchor="85.0" />
|
<children>
|
||||||
|
<Button fx:id="ouiButton" mnemonicParsing="false" prefHeight="30.0" prefWidth="45.0" styleClass="bouton" text="Oui" />
|
||||||
|
<Button fx:id="nonButton" mnemonicParsing="false" prefHeight="30.0" prefWidth="45.0" styleClass="bouton" text="Non" />
|
||||||
|
</children>
|
||||||
|
</HBox>
|
||||||
|
</children>
|
||||||
|
</VBox>
|
||||||
</children>
|
</children>
|
||||||
</AnchorPane>
|
</AnchorPane>
|
||||||
|
@ -43,7 +43,7 @@ public class GestionnaireJeu {
|
|||||||
plateau.start();
|
plateau.start();
|
||||||
}
|
}
|
||||||
|
|
||||||
public Joueur choisirParmisTous(Joueur joueur, List<Joueur> joueurs) {
|
public Joueur choisirParmisListe(Joueur joueur, List<Joueur> joueurs) {
|
||||||
return joueurs.get(0);
|
return joueurs.get(0);
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -52,9 +52,6 @@ public class GestionnaireJeu {
|
|||||||
return effets[0];
|
return effets[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
public Joueur choisirAdjacents(Joueur joueur, List<Joueur> joueurs) {
|
|
||||||
return joueurs.get(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void deplacer(Joueur currentJoueur) {
|
public void deplacer(Joueur currentJoueur) {
|
||||||
|
|
||||||
@ -63,6 +60,17 @@ public class GestionnaireJeu {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void afficherLieu(Joueur currentJoueur) {
|
||||||
|
Platform.runLater(() -> {
|
||||||
|
try {
|
||||||
|
pc.afficherLieu(currentJoueur);
|
||||||
|
} catch (IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
this.waitPlateau();
|
||||||
|
}
|
||||||
|
|
||||||
public void updateVieJoueur(Joueur joueur, int damage) {
|
public void updateVieJoueur(Joueur joueur, int damage) {
|
||||||
|
|
||||||
Platform.runLater(() -> {
|
Platform.runLater(() -> {
|
||||||
@ -71,6 +79,7 @@ public class GestionnaireJeu {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public boolean choisir(Joueur joueur) {
|
public boolean choisir(Joueur joueur) {
|
||||||
|
|
||||||
Platform.runLater(() -> {
|
Platform.runLater(() -> {
|
||||||
try {
|
try {
|
||||||
pc.afficherChoisir(joueur);
|
pc.afficherChoisir(joueur);
|
||||||
@ -93,7 +102,6 @@ public class GestionnaireJeu {
|
|||||||
try {
|
try {
|
||||||
return query.get().booleanValue();
|
return query.get().booleanValue();
|
||||||
} catch (InterruptedException | ExecutionException e) {
|
} catch (InterruptedException | ExecutionException e) {
|
||||||
|
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -169,4 +177,6 @@ public class GestionnaireJeu {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -134,9 +134,7 @@ public class Joueur {
|
|||||||
j2.gestionnaireEquipements.retirer(equipement);
|
j2.gestionnaireEquipements.retirer(equipement);
|
||||||
this.gestionnaireEquipements.ajouter(equipement); }
|
this.gestionnaireEquipements.ajouter(equipement); }
|
||||||
|
|
||||||
public Object choisir(List<?> list) {
|
|
||||||
return list.get(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void attaquer(Joueur j2, int attaqueDice) {
|
public void attaquer(Joueur j2, int attaqueDice) {
|
||||||
|
|
||||||
@ -171,22 +169,6 @@ public class Joueur {
|
|||||||
return this.plateau;
|
return this.plateau;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean choisir() {
|
|
||||||
return this.plateau.choisir(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
public Joueur choisirAdjacents() {
|
|
||||||
return this.plateau.choisirAdjacents(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
public Effet choisir(Effet[] effets) {
|
|
||||||
return this.plateau.choisirEffet(this,effets);
|
|
||||||
}
|
|
||||||
|
|
||||||
public Joueur choisiParmisTous() {
|
|
||||||
return this.plateau.choisirParmisTous(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean getRevele() {
|
public boolean getRevele() {
|
||||||
return this.revele;
|
return this.revele;
|
||||||
}
|
}
|
||||||
@ -220,8 +202,6 @@ public class Joueur {
|
|||||||
cl.ajouterJoueur(this);
|
cl.ajouterJoueur(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public CarteLieu getCarteLieu() {
|
public CarteLieu getCarteLieu() {
|
||||||
return this.carteLieu;
|
return this.carteLieu;
|
||||||
}
|
}
|
||||||
@ -256,4 +236,22 @@ public class Joueur {
|
|||||||
return !joueurs.isEmpty();
|
return !joueurs.isEmpty();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public boolean choisir() {
|
||||||
|
return this.plateau.choisir(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
public Object choisir(List<?> list) {
|
||||||
|
return list.get(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
public Joueur choisirAdjacents() {
|
||||||
|
return this.plateau.choisirAdjacents(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
public Joueur choisiParmisTous() {
|
||||||
|
return this.plateau.choisirParmisTous(this);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -269,10 +269,11 @@ public class Plateau extends Thread{
|
|||||||
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.");
|
||||||
deplacer(currentJoueur);
|
deplacer(currentJoueur);
|
||||||
System.out.println("OUI");
|
|
||||||
if(isPartieTerminee()) break;
|
if(isPartieTerminee()) break;
|
||||||
System.out.println("Vous êtes désormais sur le lieu "+currentJoueur.getCarteLieu().getNom());
|
System.out.println("Vous êtes désormais sur le lieu "+currentJoueur.getCarteLieu().getNom());
|
||||||
System.out.println("Voulez vous activer l'effet du lieu ?");
|
System.out.println("Voulez vous activer l'effet du lieu ?");
|
||||||
|
gj.afficherLieu(currentJoueur);
|
||||||
|
|
||||||
if(currentJoueur.choisir()) {
|
if(currentJoueur.choisir()) {
|
||||||
System.out.println("Vous activez l'effet du lieu.");
|
System.out.println("Vous activez l'effet du lieu.");
|
||||||
System.out.println("Vous avez "+currentJoueur.getStat(Joueur.PLAYER_HP)+" pv");
|
System.out.println("Vous avez "+currentJoueur.getStat(Joueur.PLAYER_HP)+" pv");
|
||||||
@ -286,7 +287,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()) {
|
||||||
Joueur cible = currentJoueur.choisirAdjacents();
|
List<Joueur> adjacents = currentJoueur.getJoueursAdjacents();
|
||||||
|
Joueur cible = (Joueur) currentJoueur.choisir(adjacents);
|
||||||
attaquer(currentJoueur,cible);
|
attaquer(currentJoueur,cible);
|
||||||
if(isPartieTerminee()) break;
|
if(isPartieTerminee()) break;
|
||||||
}else {
|
}else {
|
||||||
@ -439,7 +441,7 @@ public class Plateau extends Thread{
|
|||||||
joueurs.remove(joueur);
|
joueurs.remove(joueur);
|
||||||
joueurs.addAll(cl.getJoueursAdjacents());
|
joueurs.addAll(cl.getJoueursAdjacents());
|
||||||
|
|
||||||
return gj.choisirAdjacents(joueur, joueurs);
|
return gj.choisirParmisListe(joueur, joueurs);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -449,7 +451,7 @@ public class Plateau extends Thread{
|
|||||||
|
|
||||||
public Joueur choisirParmisTous(Joueur joueur) {
|
public Joueur choisirParmisTous(Joueur joueur) {
|
||||||
List<Joueur> joueurs = this.getJoueurs();
|
List<Joueur> joueurs = this.getJoueurs();
|
||||||
return gj.choisirParmisTous(joueur,joueurs);
|
return gj.choisirParmisListe(joueur,joueurs);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user