This commit is contained in:
Paul Gross
2020-04-24 10:09:30 +02:00
parent d368228aab
commit 51b6e80e45
14 changed files with 386 additions and 72 deletions

View File

@ -21,6 +21,4 @@ public class Main extends Application{
public static void main(String[] args) {
launch(args);
}
}

View File

@ -1,11 +1,6 @@
package ihm;
import java.awt.Window.Type;
import javax.swing.JFrame;
import javafx.embed.swing.JFXPanel;
import javafx.event.EventHandler;
import javafx.scene.Parent;
import javafx.scene.Scene;
@ -65,11 +60,7 @@ public class PopUp{
popup.hide();
}
});
});
}
public void display() {
@ -78,8 +69,6 @@ public class PopUp{
popup.showAndWait();
}
}

75
src/ihm/PopUpBoolean.java Normal file
View File

@ -0,0 +1,75 @@
package ihm;
import javafx.event.EventHandler;
import javafx.fxml.FXML;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.input.MouseEvent;
import javafx.scene.layout.Pane;
import javafx.stage.Modality;
import javafx.stage.Stage;
import javafx.stage.StageStyle;
public class PopUpBoolean {
@FXML private Pane rootPane;
private Scene scene;
private Stage popup;
public static boolean result;
private double xOffSet = 0;
private double yOffSet = 0;
public PopUpBoolean (Parent p, String titre) {
popup = new Stage();
popup.initModality(Modality.WINDOW_MODAL);
popup.initStyle(StageStyle.UNDECORATED);
popup.setTitle(titre);
scene = new Scene(p);
p.setOnMousePressed(new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent event){
xOffSet = event.getSceneX();
yOffSet = event.getSceneY();
}
});
p.setOnMouseDragged(new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent event){
popup.setX(event.getScreenX() - xOffSet);
popup.setY(event.getScreenY() - yOffSet);
}
});
}
public boolean display() {
popup.setScene(scene);
popup.showAndWait();
return result;
}
}

View File

@ -0,0 +1,45 @@
package ihm.controller;
import java.io.IOException;
import java.net.URL;
import java.util.ResourceBundle;
import ihm.PopUpBoolean;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.Node;
import javafx.scene.control.Button;
import javafx.scene.input.MouseEvent;
import javafx.scene.layout.Pane;
import javafx.stage.Stage;
public class ChoisirBoolean implements Initializable{
@FXML private Pane rootPane;
@FXML private Button ouiButton;
@FXML private Button nonButton;
@Override
public void initialize(URL arg0, ResourceBundle arg1) {
}
@FXML
public void choixOui(MouseEvent mouseEvent) throws IOException{
PopUpBoolean.result = true;
final Node source = (Node) mouseEvent.getSource();
final Stage stage = (Stage) source.getScene().getWindow();
stage.close();
return;
}
@FXML
public void choixNon(MouseEvent mouseEvent) throws IOException{
PopUpBoolean.result = false;
final Node source = (Node) mouseEvent.getSource();
final Stage stage = (Stage) source.getScene().getWindow();
stage.close();
return;
}
}

View File

@ -28,6 +28,7 @@ public class MenuController implements Initializable{
input = new FileInputStream("src\\ihm\\ressources\\img\\logo.png");
Image image = new Image(input);
titre.setImage(image);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
@ -35,7 +36,7 @@ public class MenuController implements Initializable{
@FXML
public void commencerPartie(MouseEvent mouseEvent) throws IOException{
System.out.println("Passage <20><EFBFBD> l'<27>cran de choix des joueurs");
System.out.println("Passage <20> l'<27>cran de choix des joueurs");
AnchorPane pane = FXMLLoader.load(getClass().getResource("../ressources/Choix_joueur.fxml"));
Scene scene = new Scene(pane);
Stage appStage = (Stage) ((Node) mouseEvent.getSource()).getScene().getWindow();

View File

@ -4,20 +4,21 @@ package ihm.controller;
import java.io.IOException;
import java.net.URL;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.ResourceBundle;
import ihm.Couple;
import ihm.PopUp;
import ihm.PopUpBoolean;
import javafx.fxml.FXML;
import javafx.fxml.FXMLLoader;
import javafx.fxml.Initializable;
import javafx.scene.Parent;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.layout.VBox;
import javafx.scene.layout.HBox;
import javafx.scene.layout.VBox;
import main.GestionnaireJeu;
import main.Joueur;
import main.View;
@ -45,6 +46,11 @@ public class PlateauController implements Initializable {
@Override
public void initialize(URL arg0, ResourceBundle arg1) {
//initialisation des attributs des joueurs
this.vboxJoueur.add(joueur1);
this.vboxJoueur.add(joueur2);
this.vboxJoueur.add(joueur3);
@ -105,6 +111,17 @@ public class PlateauController implements Initializable {
popup.display();
}
public boolean choisir(Joueur j) throws IOException {
FXMLLoader loader = new FXMLLoader(getClass().getResource("../ressources/choisirBoolean.fxml"));
Parent root = loader.load();
PopUpBoolean popup = new PopUpBoolean(root, "Consulter sa carte");
return popup.display();
}
/**
* Permet de consulter sa carte perssonage en cas d'oublie
*
@ -122,8 +139,9 @@ public class PlateauController implements Initializable {
popup.display();
}
public void showInformation(HashMap<Integer, Couple> j) {
public void showInformation(Map<Integer, Joueur> j) {
System.out.println("\tplacement des joueurs");
for (int i=0; i<this.vboxJoueur.size(); i++) {
if (j.get(i) != null)
nomJoueur.get(i).setText(j.get(i).getNom());

View File

@ -5,6 +5,7 @@ import java.net.URL;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.ResourceBundle;
import ihm.Couple;
@ -21,9 +22,11 @@ import javafx.scene.control.CheckBox;
import javafx.scene.control.TextField;
import javafx.scene.input.MouseEvent;
import javafx.scene.layout.AnchorPane;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.HBox;
import javafx.stage.Stage;
import main.Configuration;
import main.GestionnaireJeu;
import main.Joueur;
public class PlayersController implements Initializable{
@ -114,12 +117,20 @@ public class PlayersController implements Initializable{
FXMLLoader loader = new FXMLLoader(getClass().getResource("../ressources/Plateau.fxml"));
Parent root = loader.load();
PlateauController pc = loader.getController();
pc.showInformation(joueurs);
GestionnaireJeu.setPlateauController(pc);
GestionnaireJeu.setConfiguration(new Configuration(this.joueurs));
Map<Integer, Joueur> map = GestionnaireJeu.getJoueursMap(new Configuration(this.joueurs));
pc.showInformation(map);
Scene scene = new Scene(root);
Stage appStage = (Stage) ((Node) mouseEvent.getSource()).getScene().getWindow();
appStage.setScene(scene);
appStage.show();
GestionnaireJeu.lancerPartie();
}
}

View File

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.layout.Pane?>
<?import javafx.scene.text.Font?>
<Pane fx:id="rootPane" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="414.0" prefWidth="535.0" xmlns="http://javafx.com/javafx/11.0.1" xmlns:fx="http://javafx.com/fxml/1" fx:controller="ihm.controller.ChoisirBoolean">
<children>
<Label layoutX="21.0" layoutY="39.0" text="Voulez vous faire cette action ?">
<font>
<Font size="36.0" />
</font>
</Label>
<Button fx:id="ouiButton" layoutX="45.0" layoutY="257.0" mnemonicParsing="false" onMouseClicked="#choixOui" prefHeight="82.0" prefWidth="157.0" text="Oui" />
<Label layoutX="202.0" layoutY="99.0">
<font>
<Font size="36.0" />
</font>
</Label>
<Button fx:id="nonButton" layoutX="333.0" layoutY="257.0" mnemonicParsing="false" onMouseClicked="#choixNon" prefHeight="82.0" prefWidth="157.0" text="Non" />
</children>
</Pane>