Traduction dans les controller fin

This commit is contained in:
nawfe 2020-05-14 20:41:28 +02:00
commit d024829cec
6 changed files with 221 additions and 20 deletions

View File

@ -1,22 +1,133 @@
package ihm.controller;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
import java.util.ResourceBundle;
import ihm.EffetSonore;
import javafx.fxml.FXML;
import javafx.fxml.FXMLLoader;
import javafx.fxml.Initializable;
import javafx.geometry.Pos;
import javafx.scene.Node;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.input.MouseEvent;
import javafx.scene.layout.AnchorPane;
import javafx.scene.layout.HBox;
import javafx.scene.layout.Pane;
import javafx.scene.layout.VBox;
import javafx.scene.text.Font;
import javafx.stage.Stage;
import main.Joueur;
public class FinDePartieControlleur implements Initializable {
@FXML private Pane rootPane;
@FXML private Label labelWinner;
@FXML private VBox vbListeWinner;
public static List<Joueur> listeWinner = new ArrayList<Joueur>();
//public static List<Image> listeImageCarte = new ArrayList<Image>();
/*
//initialise pour faire des test (a supprimer)
private Joueur j1 = new Joueur("Joueur1");
private Joueur j2 = new Joueur("Joueur2");
private Joueur j3 = new Joueur("Joueur3");
private Joueur j4 = new Joueur("Joueur4");
private Joueur j5 = new Joueur("Joueur5");
private Joueur j6 = new Joueur("Joueur6");
*/
@Override
public void initialize(URL arg0, ResourceBundle arg1) {
labelWinner.setText("ceci est un test d'affichage");
/*
//initialise pour faire des test (a supprimer)
listeWinner.add(j1);
listeWinner.add(j2);
listeWinner.add(j3);
listeWinner.add(j4);
listeWinner.add(j5);
listeWinner.add(j6);
listeImageCarte.add(PlateauController.getImageDosCarte(RessourceLoader.DOS_LUMIERE));
listeImageCarte.add(PlateauController.getImageDosCarte(RessourceLoader.CARTES_TENEBRE));
listeImageCarte.add(PlateauController.getImageDosCarte(RessourceLoader.DOS_VISION));
*/
for(int i = 0 ; i<listeWinner.size(); i++) {
HBox JVainqueur = new HBox();
JVainqueur.setAlignment(Pos.CENTER);
/*
//pour mettre une image de la carte perso du joueur :
ImageView ivJoueur = new ImageView();
Image im = listeImageCarte.get(i);
ivJoueur.setImage(im);
JVainqueur.getChildren().add(ivJoueur);
*/
Label nomJoueurGagant = new Label();
nomJoueurGagant.setText(listeWinner.get(i).getNom() + "qui était "+ listeWinner.get(i).getCartePersonnage().getNom() + " ("+listeWinner.get(i).getCartePersonnage().getEquipe()+ ")");
nomJoueurGagant.setFont(new Font("Arial", 36));
nomJoueurGagant.setStyle("-fx-text-fill: white");
JVainqueur.getChildren().add(nomJoueurGagant);
vbListeWinner.getChildren().add(JVainqueur);
}
vbListeWinner.setSpacing(30);
}
@FXML
public void retourMenu(MouseEvent mouseEvent) throws IOException {
InputStream fileSound1 = getClass().getResourceAsStream("/ihm/ressources/musique/BEEP1.wav");
EffetSonore.playSoundEffect(fileSound1);
System.out.println("Retour au Menu");
final URL fxmlURL = getClass().getResource("/ihm/ressources/Menu.fxml");
final ResourceBundle bundle = ResourceBundle.getBundle("domaine.properties.langue", ParametreController.LaLangue);
final FXMLLoader fxmlLoader = new FXMLLoader(fxmlURL, bundle);
AnchorPane pane = fxmlLoader.load();
Scene scene = new Scene(pane);
Stage appStage = (Stage) ((Node) mouseEvent.getSource()).getScene().getWindow();
appStage.setScene(scene);
appStage.show();
}
public List<Joueur> getListeWinner() {
return listeWinner;
}
public void setListeWinner(List<Joueur> listeWinner) {
FinDePartieControlleur.listeWinner = listeWinner;
}
/*
public static List<Image> getListeImageCarte() {
return listeImageCarte;
}
public static void setListeImageCarte(List<Image> listeImageCarte) {
FinDePartieControlleur.listeImageCarte = listeImageCarte;
}
*/
}

View File

@ -409,6 +409,17 @@ public class PlateauController implements Initializable {
JoueurIHM jihm = getJoueurIHM(j);
jihm.setZoneJoueur(root);
}
public void afficherFinDePartie(List<Joueur> listeJoueursGagnants /*, List<Image> listeImagesGagnant*/) throws IOException {
final URL fxmlURL = getClass().getResource("/ihm/ressources/Fin_De_Partie.fxml");
final ResourceBundle bundle = ResourceBundle.getBundle("domaine.properties.langue", Locale.FRANCE);
final FXMLLoader fxmlLoader = new FXMLLoader(fxmlURL, bundle);
Pane root = (Pane)fxmlLoader.load();
FinDePartieControlleur.listeWinner = listeJoueursGagnants;
//FinDePartieControlleur.listeImageCarte = listeImagesGagnant;
}
public CarteEquipement getChoixEquipementVole(Joueur joueur) {
JoueurIHM jihm = getJoueurIHM(joueur);

View File

@ -1,6 +1,7 @@
package ihm.controller;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.util.ArrayList;
@ -9,6 +10,7 @@ import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.ResourceBundle;
import java.util.regex.Pattern;
import ihm.Couple;
import ihm.EffetSonore;
@ -46,7 +48,6 @@ public class PlayersController implements Initializable{
@FXML private HBox hb7;
@FXML private HBox hb8;
//pour les radios boutons
@FXML private HBox hbr1;
@FXML private HBox hbr2;
@ -101,6 +102,7 @@ public class PlayersController implements Initializable{
ligne.add(hb7);
ligne.add(hb8);
listeHbIA.add(hbr1);
listeHbIA.add(hbr2);
listeHbIA.add(hbr3);
@ -121,7 +123,6 @@ public class PlayersController implements Initializable{
listeToggleRbIa.add(tg8);
for (HBox hb : ligne) {
txt.add((TextField) hb.getChildren().get(0));
plus.add((Button) hb.getChildren().get(1));
@ -149,6 +150,7 @@ public class PlayersController implements Initializable{
for (TextField tf : txt) {
tf.setEditable(false);
tf.setStyle("-fx-background-color: silver;");
}
int j=0;
@ -165,6 +167,9 @@ public class PlayersController implements Initializable{
@FXML
public void commencerJeux(MouseEvent mouseEvent) throws IOException{
if (nbJoueursH + nbJoueursV >= 4) {
if(textVide()==false && memeNom()==false) {
//ajout des joueurs finalement selectionner
int i = 0;
for (HBox hb : ligne) {
@ -207,7 +212,11 @@ public class PlayersController implements Initializable{
appStage.setScene(scene);
appStage.show();
gj.lancerPartie();
}
else {
System.out.println("On ne peut pas prendre un nom vide ou prendre le même nom qu'un autre joueur");
}
}
else {
@ -249,7 +258,7 @@ public class PlayersController implements Initializable{
nbJoueursH++;
}
if (nbJoueursH + nbJoueursV >= 4) {
if (nbJoueursH + nbJoueursV >= 4 && memeNom()==false && textVide()==false) {
btnCommencer.setStyle("-fx-background-color: #1d1d1d; -fx-text-fill: #d8d8d8;");
}
}
@ -315,11 +324,72 @@ public class PlayersController implements Initializable{
public void mettreNomDefaut(int indice) {
if (ia.get(indice).isSelected()) {
txt.get(indice).setText("Joueur" + indice);
ajoutJoueur(indice);
txt.get(indice).setText(bundle.getString("joueur") + indice);
}else
enleverJoueur(indice);
}
public boolean textVide() {
for(int i=0;i<txt.size();i++) {
if(txt.get(i).isEditable() && txt.get(i).getText().equals("") || txt.get(i).isEditable() && txt.get(i).getText().isBlank()) {
return true;
}
}
return false;
}
@FXML
public void couleurBtnCommencerJeu() {
if (nbJoueursH + nbJoueursV >= 4 && memeNom()==false && textVide()==false) {
btnCommencer.setStyle("-fx-background-color: #1d1d1d; -fx-text-fill: #d8d8d8;");
}
else
{
btnCommencer.setStyle("-fx-background-color: gray; -fx-text-fill: black;");
}
}
public boolean memeNom() {
int i=0;
while(i<txt.size()) {
for(int j=0;j<txt.size();j++) {
if(txt.get(i).getText().equals(txt.get(j).getText()) && txt.get(i).isEditable() && txt.get(j).isEditable() && !(j==i)){
return true;
}
}
i++;
}
return false;
}
/* public boolean nomAutorise() {
int i=0;
while(i<txt.size()) {
if(txt.get(i).isEditable() && txt.get(i).getText().isBlank()) {
return false;
}
i++;
}
return true;
}*/
@FXML
public void retour(MouseEvent me) throws IOException {
InputStream fileSound1 = getClass().getResourceAsStream("/ihm/ressources/musique/BEEP1.wav");

View File

@ -42,7 +42,7 @@
</HBox>
<HBox fx:id="hb8" alignment="CENTER" prefHeight="100.0" prefWidth="200.0">
<children>
<TextField prefHeight="51.0" prefWidth="149.0">
<TextField onKeyPressed="#couleurBtnCommencerJeu" onKeyReleased="#couleurBtnCommencerJeu" prefHeight="51.0" prefWidth="149.0">
<font>
<Font size="24.0" />
</font>
@ -90,7 +90,7 @@
</HBox>
<HBox fx:id="hb7" alignment="CENTER" prefHeight="100.0" prefWidth="200.0">
<children>
<TextField prefHeight="51.0" prefWidth="149.0">
<TextField onKeyPressed="#couleurBtnCommencerJeu" onKeyReleased="#couleurBtnCommencerJeu" prefHeight="51.0" prefWidth="149.0">
<font>
<Font size="24.0" />
</font>
@ -146,7 +146,7 @@
</HBox>
<HBox fx:id="hb4" alignment="CENTER" prefHeight="100.0" prefWidth="200.0">
<children>
<TextField prefHeight="51.0" prefWidth="149.0">
<TextField onKeyPressed="#couleurBtnCommencerJeu" onKeyReleased="#couleurBtnCommencerJeu" prefHeight="51.0" prefWidth="149.0">
<font>
<Font size="24.0" />
</font>
@ -194,7 +194,7 @@
</HBox>
<HBox fx:id="hb3" alignment="CENTER" prefHeight="100.0" prefWidth="200.0">
<children>
<TextField prefHeight="51.0" prefWidth="149.0">
<TextField onKeyPressed="#couleurBtnCommencerJeu" onKeyReleased="#couleurBtnCommencerJeu" prefHeight="51.0" prefWidth="149.0">
<font>
<Font size="24.0" />
</font>
@ -268,7 +268,7 @@
<children>
<HBox fx:id="hb6" alignment="CENTER" prefWidth="754.0" rotate="180.0">
<children>
<TextField>
<TextField onKeyPressed="#couleurBtnCommencerJeu" onKeyReleased="#couleurBtnCommencerJeu">
<font>
<Font size="24.0" />
</font>
@ -307,7 +307,7 @@
<children>
<HBox fx:id="hb5" alignment="CENTER" prefHeight="55.0" prefWidth="537.0" rotate="180.0">
<children>
<TextField accessibleRole="PARENT">
<TextField accessibleRole="PARENT" onKeyPressed="#couleurBtnCommencerJeu" onKeyReleased="#couleurBtnCommencerJeu">
<font>
<Font size="24.0" />
</font>
@ -376,7 +376,7 @@
</HBox>
<HBox fx:id="hb1" alignment="CENTER">
<children>
<TextField prefHeight="51.0" prefWidth="298.0">
<TextField onKeyPressed="#couleurBtnCommencerJeu" onKeyReleased="#couleurBtnCommencerJeu" prefHeight="51.0" prefWidth="298.0">
<font>
<Font size="24.0" />
</font>
@ -426,7 +426,7 @@
</HBox>
<HBox fx:id="hb2" alignment="CENTER" prefHeight="63.0" prefWidth="433.0">
<children>
<TextField prefHeight="51.0" prefWidth="310.0">
<TextField onKeyPressed="#couleurBtnCommencerJeu" onKeyReleased="#couleurBtnCommencerJeu" prefHeight="51.0" prefWidth="310.0">
<font>
<Font size="24.0" />
</font>
@ -461,4 +461,4 @@
</bottom>
</BorderPane>
</children>
</AnchorPane>
</AnchorPane>

View File

@ -1,13 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.geometry.Insets?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.layout.Pane?>
<?import javafx.scene.layout.VBox?>
<?import javafx.scene.text.Font?>
<?import javafx.scene.text.Text?>
<Pane fx:id="rootPane" onMouseClicked="#slideVolumeMusique" prefHeight="595.0" prefWidth="758.0" styleClass="background" stylesheets="@style/menu.css" xmlns="http://javafx.com/javafx/11.0.1" xmlns:fx="http://javafx.com/fxml/1" fx:controller="ihm.controller.ParametreController">
<Pane fx:id="rootPane" styleClass="background" stylesheets="@style/menu.css" xmlns="http://javafx.com/javafx/11.0.1" xmlns:fx="http://javafx.com/fxml/1" fx:controller="ihm.controller.FinDePartieControlleur">
<children>
<VBox alignment="TOP_CENTER" prefHeight="595.0" prefWidth="758.0">
<children>
@ -24,10 +24,18 @@
<Font size="36.0" />
</font>
<VBox.margin>
<Insets top="25.0" />
<Insets bottom="50.0" top="25.0" />
</VBox.margin>
</Label>
<Text fx:id="TextWinner" strokeType="OUTSIDE" strokeWidth="0.0" styleClass="titre" text="(nom des gagnants" />
<VBox fx:id="vbListeWinner" alignment="CENTER" prefHeight="221.0" prefWidth="758.0" />
<Button mnemonicParsing="false" onMouseClicked="#retourMenu" prefHeight="47.0" prefWidth="108.0" styleClass="bouton" text="Menu">
<font>
<Font size="18.0" />
</font>
<VBox.margin>
<Insets top="50.0" />
</VBox.margin>
</Button>
</children>
</VBox>
</children>

View File

@ -32,10 +32,11 @@ public class Allie extends Unique{
conditions.add(new ConditionStatistiques(ConditionStatistiques.PLATEAU, Plateau.PARTIE_FINIE, 1, ConditionStatistiques.EQUAL));
conditions.add(new ConditionStatistiques(ConditionStatistiques.JOUEUR, Joueur.PLAYER_HP, 0, ConditionStatistiques.LESS));
Condition winCondition = new ConditionMultiple(conditions);
this.setCondition(winCondition);
this.setEquipe(CartePersonnage.Equipe.NEUTRE);
this.setJoueur(joueur);
joueur.setCartePersonnage(this);