From d858b1bcb90f6559bee1cc8760b8254a2d321922 Mon Sep 17 00:00:00 2001 From: Kruss Date: Thu, 14 May 2020 08:21:42 +0200 Subject: [PATCH] prise en compte ia --- src/ihm/Main.java | 1 - src/ihm/controller/ChoisirBoolean.java | 73 +++++++++++-- src/ihm/controller/ChoisirJoueur.java | 118 ++++++++++++++++------ src/ihm/controller/LancerDes.java | 34 ++++--- src/ihm/controller/LieuZJ.java | 22 +++- src/ihm/controller/PlateauController.java | 21 +++- src/ihm/controller/RecevoirCarte.java | 35 +++++-- src/main/ControleurIA.java | 2 + src/main/GestionnaireJeu.java | 7 +- src/main/Joueur.java | 4 + src/main/JoueurVirtuel.java | 4 + src/main/Plateau.java | 10 +- 12 files changed, 253 insertions(+), 78 deletions(-) diff --git a/src/ihm/Main.java b/src/ihm/Main.java index 598e43c..2415910 100644 --- a/src/ihm/Main.java +++ b/src/ihm/Main.java @@ -49,7 +49,6 @@ public class Main extends Application { RessourceLoader rl = new RessourceLoader(); rl.loadRessources(); gj.setRessourceLoader(rl); - launch(args); } } \ No newline at end of file diff --git a/src/ihm/controller/ChoisirBoolean.java b/src/ihm/controller/ChoisirBoolean.java index 33dd2d1..a3d6bea 100644 --- a/src/ihm/controller/ChoisirBoolean.java +++ b/src/ihm/controller/ChoisirBoolean.java @@ -1,33 +1,45 @@ package ihm.controller; import java.net.URL; +import java.util.List; import java.util.ResourceBundle; +import javafx.animation.KeyFrame; +import javafx.animation.Timeline; import javafx.fxml.FXML; import javafx.fxml.Initializable; import javafx.scene.control.Button; import javafx.scene.control.Label; +import javafx.util.Duration; +import main.Contexte; +import main.ControleurIA; import main.GestionnaireJeu; +import main.Joueur; +import main.JoueurVirtuel; public class ChoisirBoolean implements Initializable { - @FXML private Button ouiButton; - @FXML private Button nonButton; - @FXML private Label titre; + @FXML + private Button ouiButton; + @FXML + private Button nonButton; + @FXML + private Label titre; private boolean result; + @Override public void initialize(URL arg0, ResourceBundle arg1) { - + ouiButton.setOnAction(x -> { - + this.result = true; GestionnaireJeu.notifyPlateau(); }); - + nonButton.setOnAction(x -> { this.result = false; GestionnaireJeu.notifyPlateau(); - }); + }); } public boolean getResult() { @@ -49,12 +61,53 @@ public class ChoisirBoolean implements Initializable { public void setNonButton(Button nonButton) { this.nonButton = nonButton; } - + public Label getTitre() { return titre; } - public void setTitre(Label titre) { - this.titre = titre; + public void setTitre(Contexte c) { + switch(c) { + case ATTAQUER: + titre.setText("Souhaitez-vous attaquer quelqu'un?"); + break; + case ACTIVER_EFFET_LIEU : + titre.setText("Souhaitez-vous activer l'effet du lieu?"); + break; + default: + } + + } + + public void fireBtnIAEffetLieu() { + ControleurIA cIA = new ControleurIA(); + ouiButton.setDisable(true); + nonButton.setDisable(true); + Timeline timeline = new Timeline(new KeyFrame(Duration.millis(2000), ae -> { + if (cIA.choixUtiliserPouvoirLieu()) { + ouiButton.setDisable(false); + ouiButton.fire(); + } else { + nonButton.setDisable(false); + nonButton.fire(); + } + })); + timeline.play(); + } + + public void fireBtnIAattaquer(JoueurVirtuel jIA, List joueursLieu) { + ControleurIA cIA = new ControleurIA(); + ouiButton.setDisable(true); + nonButton.setDisable(true); + Timeline timeline = new Timeline(new KeyFrame(Duration.millis(2000), ae -> { + if (cIA.choixSiAttaquer(jIA, joueursLieu)) { + ouiButton.setDisable(false); + ouiButton.fire(); + } else { + nonButton.setDisable(false); + nonButton.fire(); + } + })); + timeline.play(); } } diff --git a/src/ihm/controller/ChoisirJoueur.java b/src/ihm/controller/ChoisirJoueur.java index e912457..a2fd0e4 100644 --- a/src/ihm/controller/ChoisirJoueur.java +++ b/src/ihm/controller/ChoisirJoueur.java @@ -5,50 +5,67 @@ import java.util.ArrayList; import java.util.List; import java.util.ResourceBundle; +import javafx.animation.KeyFrame; +import javafx.animation.Timeline; import javafx.fxml.FXML; import javafx.fxml.Initializable; import javafx.scene.control.Button; import javafx.scene.control.Label; import javafx.scene.layout.HBox; +import javafx.util.Duration; +import main.Contexte; import main.GestionnaireJeu; +import main.Joueur; +import main.JoueurVirtuel; -public class ChoisirJoueur implements Initializable{ - @FXML private HBox joueurHaut; - @FXML private HBox joueurBas; - @FXML private Label titre; - @FXML private Button btn1; - @FXML private Button btn2; - @FXML private Button btn3; - @FXML private Button btn4; - @FXML private Button btn5; - @FXML private Button btn6; - @FXML private Button btn7; - @FXML private Button btn8; +public class ChoisirJoueur implements Initializable { + @FXML + private HBox joueurHaut; + @FXML + private HBox joueurBas; + @FXML + private Label titre; + @FXML + private Button btn1; + @FXML + private Button btn2; + @FXML + private Button btn3; + @FXML + private Button btn4; + @FXML + private Button btn5; + @FXML + private Button btn6; + @FXML + private Button btn7; + @FXML + private Button btn8; private JoueurIHM joueurSelected; private List listJoueursIHM; private List