Traduction dans les controller fin

This commit is contained in:
nawfe 2020-05-14 20:32:33 +02:00
parent cee8e76215
commit d32233e61e
42 changed files with 1040 additions and 37 deletions

13
src/carte/Equipement.java Normal file
View File

@ -0,0 +1,13 @@
package carte;
import main.Joueur;
import main.Type;
public class Equipement extends CartePiochable<Type>{
public void utiliser(Joueur j) {
}
}

View File

@ -0,0 +1,46 @@
package condition;
import java.util.ArrayList;
import java.util.List;
import main.Joueur;
public class ConditionType extends Condition{
private List<Joueur.Equipe> equipes;
public ConditionType(List<Joueur.Equipe> equipes){
this.equipes = new ArrayList<Joueur.Equipe>();
this.equipes.addAll(equipes);
}
/**
* Vérifie qu'il existe au moins une classe qui correspond à l'équipe du Joueur.
* <br><br>
* exemple :
*
* classes = { NEUTRE,SHADOW,HUNTER }
* <br>
* Si l'équipe du joueur correspond à un des élements dans la liste des équipes alors on renvoie vrai.
*
* @param joueur Le joueur sur lequel on vérifie les conditions.
* @return boolean
*/
@Override
public boolean isTrue(Joueur joueur)
{
Joueur.Equipe equipeJoueur = joueur.getEquipe();
for(Joueur.Equipe equipe : equipes) {
if(equipeJoueur == equipe) return true;
}
return false;
}
}

View File

@ -92,3 +92,20 @@ glisser.barre=Glissez la barre
page.precedente=Page précédente
page.suivante=Page suivante
menu=Menu
vous.avez.obtenu=Vous avez obtenu
souhaiter.vous.attaquer=Souhaitez vous attaquer ?
souhaiter.vous.activer.effet.lieu=Souhaitez vous activer l'effet du lieu ?
utilier.effet=Utiliser Effet
va.user.de.son.pouvoir=va user de son pouvoir
a.reussi.a.utiliser.son.pouvoir=a réussi à utiliser son pouvoir
cacher.carte.vision=Cachez la carte vision
consulter.sa.carte=Consulter sa carte
manque.joueur=Il manque des joueurs pour lancer une partie.
ajout.joueur=Ajout du joueur
desistement=Desistement du joueur
ia.facile=ia facile
ia.moyenne=ia moyenne
ia.difficile=ia difficile
erreur.difficulte=erreur choix difficulté de l'ia
retour.menu=Retour au Menu
retour.jeu=Retour au jeu

View File

@ -13,7 +13,7 @@ rien.faire=Do nothing
effet.carte=Card effect
choisir.joueur.soigner=Choose a player you want to care for
joueur1.soigne.joueur2=Player 1 heals Player 2
lancer.de.des=roll the dice
lancer.de.des=Roll the dice
choisr.joueur=Choose a player
joueur=Player
choisir.joueur.infliger.blessures=Choose a player to inflict 2 injuries
@ -93,3 +93,20 @@ glisser.barre=Slide the bar
page.precedente=Previous page
page.suivante=Next page
menu=Menu
vous.avez.obtenu=You obtained
souhaiter.vous.attaquer=Do you want to attack?
souhaiter.vous.activer.effet.lieu=Do you want to activate the effect of the place?
utilier.effet=Use Effect
va.user.de.son.pouvoir=will use his power
a.reussi.a.utiliser.son.pouvoir=managed to use his power
cacher.carte.vision=Hide the vision card
consulter.sa.carte=Consult your card
manque.joueur=There are missing players to start a game.
ajout.joueur=Adding the player
desistement=Player's disclaimer
ia.facile=ai easy
ia.moyenne=ai average
ia.difficile=ai difficult
erreur.difficulte=error choice difficulty of the ai
retour.menu=Return to Menu
retour.jeu=Back to the game

View File

@ -92,3 +92,20 @@ glisser.barre=Glissez la barre
page.precedente=Page précédente
page.suivante=Page suivante
menu=Menu
vous.avez.obtenu=Vous avez obtenu
souhaiter.vous.attaquer=Souhaitez vous attaquer ?
souhaiter.vous.activer.effet.lieu=Souhaitez vous activer l'effet du lieu ?
utilier.effet=Utiliser Effet
va.user.de.son.pouvoir=va user de son pouvoir
a.reussi.a.utiliser.son.pouvoir=a réussi à utiliser son pouvoir
cacher.carte.vision=Cachez la carte vision
consulter.sa.carte=Consulter sa carte
manque.joueur=Il manque des joueurs pour lancer une partie.
ajout.joueur=Ajout du joueur
desistement=Desistement du joueur
ia.facile=ia facile
ia.moyenne=ia moyenne
ia.difficile=ia difficile
erreur.difficulte=erreur choix difficulté de l'ia
retour.menu=Retour au Menu
retour.jeu=Retour au jeu

View File

@ -92,3 +92,20 @@ glisser.barre=Glissez la barre
page.precedente=Page précédente
page.suivante=Page suivante
menu=Menu
vous.avez.obtenu=Vous avez obtenu
souhaiter.vous.attaquer=Souhaitez vous attaquer ?
souhaiter.vous.activer.effet.lieu=Souhaitez vous activer l'effet du lieu ?
utilier.effet=Utiliser Effet
va.user.de.son.pouvoir=va user de son pouvoir
a.reussi.a.utiliser.son.pouvoir=a réussi à utiliser son pouvoir
cacher.carte.vision=Cachez la carte vision
consulter.sa.carte=Consulter sa carte
manque.joueur=Il manque des joueurs pour lancer une partie.
ajout.joueur=Ajout du joueur
desistement=Desistement du joueur
ia.facile=ia facile
ia.moyenne=ia moyenne
ia.difficile=ia difficile
erreur.difficulte=erreur choix difficulté de l'ia
retour.menu=Retour au Menu
retour.jeu=Retour au jeu

9
src/effet/Action.java Normal file
View File

@ -0,0 +1,9 @@
package effet;
import main.Joueur;
public abstract class Action {
public abstract void affecte(Joueur j1, Joueur j2);
}

View File

@ -0,0 +1,53 @@
package effet;
import main.Joueur;
public class ActionAltererStatistiquesJoueur extends Action{
private String key;
private int valeur;
private boolean ajouter;
/**
* Constructeur ActionAltererStatistiquesJoueur
* @param key Le clé qui correspond à la valeur à modifier
* @param valeur La valeur
* @param ajouter Permet d'ajouter ou non "valeur" à la valeur précendente
* <br><br>
* Exemple :
* <br><br>
* ActionAltererStatistiquesJoueur("PV", -2, true)
* <br>
* Fait subir 2 PV's de dégâts au joueur
* <br><br>
* ActionAltererStatistiquesJoueur("PV", 2, false)
* <br>
* Change les PV's du joueur à 2
*
*/
public ActionAltererStatistiquesJoueur(String key, int valeur, boolean ajouter)
{
this.key = key;
this.valeur = valeur;
this.ajouter = ajouter;
}
/**
* Lance l'action de modification de statistiques
* @param j1 Le joueur qui modifie
* @param j2 Le joueur dont les statistiques sont modifiées
* @return void
*/
public void affecte(Joueur j1, Joueur j2)
{
if(ajouter)
{
j2.setStat(key, j2.getStat(key)+valeur);
}else {
j2.setStat(key, valeur);
}
}
}

View File

@ -0,0 +1,18 @@
package effet;
import main.Joueur;
public class ActionAttaquer extends Action {
/**
* Lance l'action d'attaquer
* @param j1 Le joueur qui attaque
* @param j2 Le joueur qui subit l'attaque
* @return void
*/
@Override
public void affecte(Joueur j1, Joueur j2) {
j1.attaquer(j2);
}
}

View File

@ -0,0 +1,33 @@
package effet;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import main.Joueur;
public class ActionMultiple extends Action{
private List<Action> actions;
public ActionMultiple(Action...actions)
{
super();
this.actions = new ArrayList<Action>(Arrays.asList(actions));
}
/**
* Lance l'action d'activer toutes les actions contenues dans ActionMultiple.
* @param j1 Le joueur qui lance l'action
* @param j2 Le joueur qui subit l'action
* @return void
*/
@Override
public void affecte(Joueur j1, Joueur j2) {
for(Action action : actions) {
action.affecte(j1, j2);
}
}
}

View File

@ -0,0 +1,22 @@
package effet;
import main.Joueur;
public class ActionPiocher extends Action{
public ActionPiocher() {
super();
}
/**
* Lance l'action de piocher une carte.
* @param j1 Le joueur qui lance l'action
* @param j2 Le joueur qui subit l'action
* @return void
*/
@Override
public void affecte(Joueur j1, Joueur j2) {
j2.piocher();
}
}

View File

@ -0,0 +1,26 @@
package effet;
import main.Equipement;
import main.Joueur;
public class ActionVoler extends Action{
/**
* Lance l'action de voler une carte équipement.
* @param j1 Le joueur qui vol
* @param j2 Le joueur volé
* @return void
*/
@Override
public void affecte(Joueur j1, Joueur j2) {
Equipement[] equipements = j2.getEquipements();
// J1 choisit quel équipement voler
Equipement equipement = j1.choisir(equipements);
j1.voler(j2,equipement);
}
}

0
src/ihm/.gitkeep Normal file
View File

View File

@ -1,5 +1,7 @@
package ihm.controller;
import java.util.ResourceBundle;
import javafx.scene.control.Label;
import javafx.scene.layout.Pane;
import main.Contexte;
@ -8,16 +10,18 @@ public abstract class ContexteInterpreter {
public static void setContexteToPane(Contexte contexte, Pane root) {
ResourceBundle bundle1 = ResourceBundle.getBundle("domaine.properties.langue", ParametreController.LaLangue);
if(contexte.equals(Contexte.ATTAQUER)) {
Label l = (Label) root.getChildren().get(0);
l.setText("Souhaitez vous attaquer ?");
l.setText(bundle1.getString("souhaiter.vous.attaquer"));
}
if(contexte.equals(Contexte.ACTIVER_EFFET_LIEU)) {
Label l = (Label) root.getChildren().get(0);
l.setText("Souhaitez vous activer l'effet du lieu ?");
l.setText(bundle1.getString("souhaiter.vous.activer.effet.lieu"));
}
}

View File

@ -4,6 +4,7 @@ import java.io.InputStream;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.ResourceBundle;
import carte.CarteEquipement;
import database.RessourceLoader;
@ -37,6 +38,8 @@ public class JoueurIHM {
private Color color;
private PlateauController pc;
private boolean estRevele = false;
ResourceBundle bundle1 = ResourceBundle.getBundle("domaine.properties.langue", ParametreController.LaLangue);
public JoueurIHM(int i, Joueur joueur, Pane zoneJoueur, Color color, GridPane gridPaneVie, GridPane gridPaneLieux,
PlateauController pc /* , boolean carteVisible */ ) {
@ -90,7 +93,7 @@ public class JoueurIHM {
iv.setImage(im);
iv.fitHeightProperty().bind(gp.heightProperty());
initButtonEffect(btn);
btn.setText("Utiliser Effet");
btn.setText(bundle1.getString("utilier.effet"));
estRevele = true;
}
@ -137,9 +140,9 @@ public class JoueurIHM {
public void initButtonEffect(Button btn) {
btn.setOnAction(click -> {
System.out.println(this.joueur.getCartePersonnage().getNom() + " va user de son pouvoir");
System.out.println(this.joueur.getCartePersonnage().getNom() + bundle1.getString("va.user.de.son.pouvoir"));
threadUtiliserCapacite();
System.out.println(this.joueur.getCartePersonnage().getNom() + " a réussi à utiliser son pouvoir");
System.out.println(this.joueur.getCartePersonnage().getNom() + bundle1.getString("a.reussi.a.utiliser.son.pouvoir"));
btn.setDisable(true);
});
}

View File

@ -1,6 +1,7 @@
package ihm.controller;
import java.util.Random;
import java.util.ResourceBundle;
import effet.action.Action;
import ihm.Die;
@ -32,7 +33,7 @@ public class LancerDes {
private final static int LANCER_DE_4 = 0;
private final static int LANCER_DE_6 = 1;
private final static int LANCER_DES = 2;
public ResourceBundle bundle1 = ResourceBundle.getBundle("domaine.properties.langue", ParametreController.LaLangue);
public LancerDes(int typeDe, int[] rolls, Contexte c) {
this.typeDe = typeDe;
this.rolls = rolls;
@ -69,8 +70,8 @@ public class LancerDes {
ImageView stackpane = die.getdieFace();
stackpane.setFitHeight(100);
stackpane.setFitWidth(100);
Button btn = interpret("Lancer dé");
Text txt = new Text("Lancez le dé");
Button btn = interpret(bundle1.getString("lancer.de.des"));
Text txt = new Text(bundle1.getString("lancer.de.des"));
txt.setFont(Font.font(null, null, null, 12));
txt.setFill(Color.WHITE);
btn.setOnAction((ActionEvent event) -> {
@ -86,7 +87,7 @@ public class LancerDes {
timeline.setOnFinished(actionEvent -> {
die.setDieFace(rolls[0]);
txt.setText("Vous avez obtenu " + rolls[0]);
txt.setText(bundle1.getString("vous.avez.obtenu") + " " + rolls[0]);
Timeline timeline2 = new Timeline(new KeyFrame(Duration.millis(2000), ae -> {
GestionnaireJeu.notifyPlateau();
@ -111,8 +112,8 @@ public class LancerDes {
ImageView stackpane = die.getdieFace();
stackpane.setFitHeight(100);
stackpane.setFitWidth(100);
Button btn = interpret("Lancer dé");
Text txt = new Text("Lancez le dé");
Button btn = interpret(bundle1.getString("lancer.de.des"));
Text txt = new Text(bundle1.getString("lancer.de.des"));
txt.setFont(Font.font(null, null, null, 12));
txt.setFill(Color.WHITE);
btn.setOnAction((ActionEvent event) -> {
@ -128,7 +129,7 @@ public class LancerDes {
timeline.setOnFinished(actionEvent -> {
die.setDieFace(rolls[0]);
txt.setText("Vous avez obtenu " + rolls[0]);
txt.setText(bundle1.getString("vous.avez.obtenu") + " " + rolls[0]);
Timeline timeline2 = new Timeline(new KeyFrame(Duration.millis(2000), ae -> {
GestionnaireJeu.notifyPlateau();
}));
@ -157,8 +158,8 @@ public class LancerDes {
stackpane2.setFitHeight(100);
stackpane.setFitWidth(100);
stackpane2.setFitWidth(100);
Button btn = interpret("Lancer dés");
Text txt = new Text("Lancez les dés");
Button btn = interpret(bundle1.getString("lancer.de.des"));
Text txt = new Text(bundle1.getString("lancer.de.des"));
txt.setFont(Font.font(null, null, null, 12));
txt.setFill(Color.WHITE);
btn.setOnAction((ActionEvent event) -> {
@ -181,7 +182,7 @@ public class LancerDes {
int result = rolls[0] + rolls[1];
txt.setText("Vous avez obtenu " + result);
txt.setText(bundle1.getString("vous.avez.obtenu")+ " " + result);
Timeline timeline2 = new Timeline(new KeyFrame(Duration.millis(2000), ae -> {
GestionnaireJeu.notifyPlateau();

View File

@ -211,7 +211,7 @@ public class PlateauController implements Initializable {
RevelationController rc = fxmlLoader.getController();
rc.showInformation(listJoueur.get(numJoueur));
PopUp popup = new PopUp(root, "Consulter sa carte");
PopUp popup = new PopUp(root, bundle.getString("consulter.sa.carte"));
popup.display();
}
@ -239,7 +239,7 @@ public class PlateauController implements Initializable {
AfficherCarteController acc = fxmlLoader.getController();
acc.showInformation(listJoueur.get(numJoueur));
PopUp popup = new PopUp(root, "Consulter sa carte");
PopUp popup = new PopUp(root, bundle.getString("consulter.sa.carte"));
popup.display();
}
@ -465,7 +465,7 @@ public class PlateauController implements Initializable {
final FXMLLoader fxmlLoader = new FXMLLoader(fxmlURL, bundle);
Pane root = (Pane) fxmlLoader.load();
PopUp pu = new PopUp(root, "Pause");
PopUp pu = new PopUp(root, bundle.getString("cacher.carte.vision"));
pu.display();
}
@ -528,7 +528,7 @@ public class PlateauController implements Initializable {
RecevoirCarte lzj = fxmlLoader.getController();
Image im = getImageCarte(cartePiochable);
lzj.setImageView(im);
lzj.setText("Cachez la carte vision");
lzj.setText(bundle.getString("cacher.carte.vision"));
if (j instanceof JoueurVirtuel)
lzj.fireBtnIA();
JoueurIHM jihm = getJoueurIHM(j);

View File

@ -170,7 +170,7 @@ public class PlateauControllerTest implements Initializable {
Parent root = fxmlLoader.load();
PopUpBoolean popup = new PopUpBoolean(root, "Consulter sa carte");
PopUpBoolean popup = new PopUpBoolean(root, bundle.getString("consulter.sa.carte"));
return popup.display();

View File

@ -30,6 +30,7 @@ import javafx.stage.Stage;
import main.Configuration;
import main.GestionnaireJeu;
import main.Joueur;
import sun.util.resources.Bundles;
public class PlayersController implements Initializable{
@ -81,6 +82,7 @@ public class PlayersController implements Initializable{
private HashMap<Integer, Couple> joueurs = new HashMap<Integer, Couple>();
private ResourceBundle bundle = ResourceBundle.getBundle("domaine.properties.langue", ParametreController.LaLangue);
private int nbJoueursH = 0;
private int nbJoueursV = 0;
@ -211,7 +213,7 @@ public class PlayersController implements Initializable{
else {
InputStream fileSound2 = getClass().getResourceAsStream("/ihm/ressources/musique/BeepError.wav");
EffetSonore.playSoundEffect(fileSound2);
System.out.println("Il manque des joueurs pour lancer une partie.");
System.out.println(bundle.getString("manque.joueur"));
}
}
@ -223,7 +225,7 @@ public class PlayersController implements Initializable{
* @param indice : pour savoir quel bouton a <EFBFBD>t<EFBFBD> cliqu<EFBFBD>
*/
public void ajoutJoueur(int indice){
System.out.println("Ajout du joueur " + (indice+1));
System.out.println(bundle.getString("ajout.joueur") + (indice+1));
InputStream fileSound3 = getClass().getResourceAsStream("/ihm/ressources/musique/Beep2.wav");
EffetSonore.playSoundEffect(fileSound3);
@ -258,7 +260,7 @@ public class PlayersController implements Initializable{
* @param indice : pour savoir quel bouton a <EFBFBD>t<EFBFBD> cliqu<EFBFBD>
*/
public void enleverJoueur(int indice) {
System.out.println("Desistement du joueur " + (indice+1));
System.out.println(bundle.getString("desistement") + (indice+1));
InputStream fileSound3 = getClass().getResourceAsStream("/ihm/ressources/musique/Beep2.wav");
EffetSonore.playSoundEffect(fileSound3);
@ -291,22 +293,22 @@ public class PlayersController implements Initializable{
public int choixDifficulte(ToggleGroup tog) {
if(tog.getSelectedToggle() == tog.getToggles().get(0)) {
System.out.println("ia facile");
System.out.println(bundle.getString("ia.facile"));
return 1;
}
else if (tog.getSelectedToggle() == tog.getToggles().get(1)) {
System.out.println("ia moyenne");
System.out.println(bundle.getString("ia.moyenne"));
return 2;
}
else if (tog.getSelectedToggle() == tog.getToggles().get(2)) {
System.out.println("ia difficile");
System.out.println(bundle.getString("ia.difficile"));
return 3;
}
else {
System.out.println("erreur choix difficulté de l'ia");
System.out.println(bundle.getString("erreur.difficulte"));
return -1;
}
}
@ -314,7 +316,7 @@ public class PlayersController implements Initializable{
public void mettreNomDefaut(int indice) {
if (ia.get(indice).isSelected()) {
ajoutJoueur(indice);
txt.get(indice).setText("Joueur" + indice);
txt.get(indice).setText(bundle.getString("joueur") + indice);
}else
enleverJoueur(indice);
}

View File

@ -18,6 +18,7 @@ import javafx.scene.image.ImageView;
import javafx.scene.input.MouseEvent;
import javafx.scene.layout.AnchorPane;
import javafx.stage.Stage;
import sun.util.resources.Bundles;
public class ReglesControlleur implements Initializable {
@ -32,6 +33,8 @@ public class ReglesControlleur implements Initializable {
private int index = 1;
private ResourceBundle bundle = ResourceBundle.getBundle("domaine.properties.langue", ParametreController.LaLangue);
@Override
public void initialize(URL arg0, ResourceBundle arg1) {
@ -58,7 +61,7 @@ public class ReglesControlleur implements Initializable {
index++;
InputStream fileSound1 = getClass().getResourceAsStream("/ihm/ressources/musique/BEEP1.wav");
EffetSonore.playSoundEffect(fileSound1);
System.out.println("Page suivante");
System.out.println(bundle.getString("page.suivante"));
}
InputStream input = getClass().getResourceAsStream("/ihm/ressources/img/Regle" + index + ".PNG");
@ -83,7 +86,7 @@ public class ReglesControlleur implements Initializable {
InputStream fileSound1 = getClass().getResourceAsStream("/ihm/ressources/musique/BEEP1.wav");
EffetSonore.playSoundEffect(fileSound1);
System.out.println("Page précédente");
System.out.println(bundle.getString("page.precedente"));
}
InputStream input = getClass().getResourceAsStream("/ihm/ressources/img/Regle" + index + ".PNG");
@ -98,7 +101,7 @@ public class ReglesControlleur implements Initializable {
InputStream fileSound1 = getClass().getResourceAsStream("/ihm/ressources/musique/BEEP1.wav");
EffetSonore.playSoundEffect(fileSound1);
System.out.println("Retour au Menu");
System.out.println(bundle.getString("retour.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);
@ -116,7 +119,7 @@ public class ReglesControlleur implements Initializable {
InputStream fileSound1 = getClass().getResourceAsStream("/ihm/ressources/musique/BEEP1.wav");
EffetSonore.playSoundEffect(fileSound1);
System.out.println("Retour au jeu");
System.out.println(bundle.getString("retour.jeu"));
Stage appStage = (Stage) ((Node) me.getSource()).getScene().getWindow();
appStage.close();

View File

@ -0,0 +1,54 @@
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.geometry.*?>
<?import javafx.scene.text.*?>
<?import javafx.scene.shape.*?>
<?import java.lang.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<Pane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="525.0" prefWidth="806.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1">
<children>
<HBox alignment="CENTER" layoutX="-1.0" layoutY="-7.0" prefHeight="533.0" prefWidth="806.0">
<children>
<Rectangle arcHeight="5.0" arcWidth="5.0" fill="#c6c6c6" height="298.0" stroke="BLACK" strokeType="INSIDE" width="188.0">
<HBox.margin>
<Insets left="50.0" />
</HBox.margin>
</Rectangle>
<VBox alignment="CENTER" prefHeight="533.0" prefWidth="753.0">
<children>
<Label text="Effet de la carte">
<font>
<Font size="18.0" />
</font>
<VBox.margin>
<Insets bottom="50.0" />
</VBox.margin>
</Label>
<HBox alignment="CENTER" prefHeight="100.0" prefWidth="338.0">
<children>
<Button mnemonicParsing="false" prefHeight="48.0" prefWidth="333.0" text="Se révéler et soigner ses blessures">
<font>
<Font size="18.0" />
</font>
</Button>
<Button layoutX="89.0" layoutY="38.0" mnemonicParsing="false" prefHeight="45.0" prefWidth="289.0" text="Ne rien faire">
<font>
<Font size="18.0" />
</font>
<HBox.margin>
<Insets left="5.0" right="10.0" />
</HBox.margin>
</Button>
</children>
<VBox.margin>
<Insets left="10.0" />
</VBox.margin>
</HBox>
</children>
</VBox>
</children>
</HBox>
</children>
</Pane>

View File

@ -0,0 +1,99 @@
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.layout.HBox?>
<?import javafx.scene.layout.Pane?>
<?import javafx.scene.layout.VBox?>
<?import javafx.scene.shape.Rectangle?>
<?import javafx.scene.text.Font?>
<Pane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/11.0.1" xmlns:fx="http://javafx.com/fxml/1">
<children>
<VBox prefHeight="400.0" prefWidth="600.0">
<children>
<HBox alignment="CENTER" prefHeight="106.0" prefWidth="600.0">
<children>
<HBox alignment="CENTER" prefHeight="100.0" prefWidth="200.0">
<children>
<Button mnemonicParsing="false" text="Joueur 1" />
</children>
</HBox>
<HBox alignment="CENTER" prefHeight="100.0" prefWidth="200.0">
<children>
<Button mnemonicParsing="false" text="Joueur 2" />
</children>
</HBox>
<HBox alignment="CENTER" prefHeight="100.0" prefWidth="200.0">
<children>
<Button mnemonicParsing="false" text="Joueur 3" />
</children>
</HBox>
<HBox alignment="CENTER" prefHeight="100.0" prefWidth="200.0">
<children>
<Button mnemonicParsing="false" text="Joueur 4" />
</children>
</HBox>
</children>
</HBox>
<HBox alignment="CENTER" prefHeight="184.0" prefWidth="600.0">
<children>
<VBox alignment="CENTER" prefHeight="178.0" prefWidth="599.0">
<children>
<Label prefHeight="27.0" prefWidth="103.0" text="Carte Vision">
<font>
<Font size="18.0" />
</font>
</Label>
<HBox alignment="CENTER" prefHeight="100.0" prefWidth="200.0">
<children>
<Rectangle arcHeight="5.0" arcWidth="5.0" fill="DODGERBLUE" height="200.0" stroke="BLACK" strokeType="INSIDE" width="112.0" />
<HBox alignment="CENTER" prefHeight="100.0" prefWidth="200.0">
<children>
<Label prefHeight="27.0" prefWidth="138.0" text="*Effet de la carte" textAlignment="CENTER">
<font>
<Font size="18.0" />
</font>
</Label>
</children>
</HBox>
</children>
</HBox>
<Label prefHeight="27.0" prefWidth="340.0" text="Choisissez un joueur à qui donner la carte.">
<font>
<Font size="18.0" />
</font>
</Label>
</children>
</VBox>
</children>
</HBox>
<HBox alignment="CENTER" prefHeight="111.0" prefWidth="600.0">
<children>
<HBox alignment="CENTER" prefHeight="100.0" prefWidth="200.0">
<children>
<Button mnemonicParsing="false" text="Joueur 5" />
</children>
</HBox>
<HBox alignment="CENTER" prefHeight="100.0" prefWidth="200.0">
<children>
<Button mnemonicParsing="false" text="Joueur 6" />
</children>
</HBox>
<HBox alignment="CENTER" prefHeight="100.0" prefWidth="200.0">
<children>
<Button mnemonicParsing="false" text="Joueur 7" />
</children>
</HBox>
<HBox alignment="CENTER" prefHeight="100.0" prefWidth="200.0">
<children>
<Button mnemonicParsing="false" text="Joueur 8" />
</children>
</HBox>
</children>
</HBox>
</children>
</VBox>
</children>
</Pane>

View File

@ -0,0 +1,51 @@
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.layout.HBox?>
<?import javafx.scene.layout.Pane?>
<?import javafx.scene.layout.VBox?>
<?import javafx.scene.shape.Rectangle?>
<?import javafx.scene.text.Font?>
<Pane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/11.0.1" xmlns:fx="http://javafx.com/fxml/1">
<children>
<VBox prefHeight="400.0" prefWidth="600.0">
<children>
<HBox alignment="CENTER" prefHeight="100.0" prefWidth="200.0">
<children>
<Label prefHeight="27.0" prefWidth="54.0" text="Carte">
<font>
<Font size="18.0" />
</font>
</Label>
<Label prefHeight="27.0" prefWidth="175.0" text="*Lumiere ou Tenebre">
<font>
<Font size="18.0" />
</font>
</Label>
</children>
</HBox>
<HBox alignment="CENTER" prefHeight="190.0" prefWidth="600.0">
<children>
<Rectangle arcHeight="5.0" arcWidth="5.0" fill="DODGERBLUE" height="198.0" stroke="BLACK" strokeType="INSIDE" width="130.0" />
</children>
</HBox>
<HBox alignment="CENTER" prefHeight="111.0" prefWidth="600.0">
<children>
<Label prefHeight="27.0" prefWidth="54.0" text="Effet :">
<font>
<Font size="18.0" />
</font>
</Label>
<Label prefHeight="27.0" prefWidth="142.0" text="*effet de la carte">
<font>
<Font size="18.0" />
</font>
</Label>
</children>
</HBox>
</children>
</VBox>
</children>
</Pane>

View File

@ -0,0 +1,46 @@
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.layout.HBox?>
<?import javafx.scene.layout.Pane?>
<?import javafx.scene.layout.VBox?>
<?import javafx.scene.shape.Rectangle?>
<?import javafx.scene.text.Font?>
<Pane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/11.0.1" xmlns:fx="http://javafx.com/fxml/1">
<children>
<VBox prefHeight="400.0" prefWidth="600.0">
<children>
<HBox alignment="CENTER" prefHeight="100.0" prefWidth="200.0">
<children>
<Label prefHeight="27.0" prefWidth="106.0" text="Carte Vision">
<font>
<Font size="18.0" />
</font>
</Label>
</children>
</HBox>
<HBox alignment="CENTER" prefHeight="167.0" prefWidth="600.0">
<children>
<Rectangle arcHeight="5.0" arcWidth="5.0" fill="DODGERBLUE" height="198.0" stroke="BLACK" strokeType="INSIDE" width="130.0" />
</children>
</HBox>
<HBox alignment="CENTER" prefHeight="91.0" prefWidth="600.0">
<children>
<Label prefHeight="27.0" prefWidth="473.0" text="Cette carte ne peut être vu que par le joueur qui la pioche.">
<font>
<Font size="18.0" />
</font>
</Label>
</children>
</HBox>
<HBox alignment="CENTER" prefHeight="69.0" prefWidth="600.0">
<children>
<Button mnemonicParsing="false" text="Voir carte" />
</children>
</HBox>
</children>
</VBox>
</children>
</Pane>

View File

@ -0,0 +1,36 @@
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.layout.HBox?>
<?import javafx.scene.layout.Pane?>
<?import javafx.scene.text.Font?>
<Pane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/11.0.1" xmlns:fx="http://javafx.com/fxml/1">
<children>
<HBox alignment="CENTER" layoutY="1.0" prefHeight="400.0" prefWidth="600.0">
<children>
<Label contentDisplay="CENTER" prefHeight="27.0" prefWidth="87.0" text="*Joueur x*" textAlignment="CENTER">
<font>
<Font size="18.0" />
</font>
</Label>
<Label contentDisplay="CENTER" prefHeight="27.0" prefWidth="52.0" text="reçoit" textAlignment="CENTER">
<font>
<Font size="18.0" />
</font>
</Label>
<Label contentDisplay="CENTER" prefHeight="27.0" prefWidth="31.0" text="*n*" textAlignment="CENTER">
<font>
<Font size="18.0" />
</font>
</Label>
<Label contentDisplay="CENTER" prefHeight="27.0" prefWidth="82.0" text="Blessures." textAlignment="CENTER">
<font>
<Font size="18.0" />
</font>
</Label>
</children>
</HBox>
</children>
</Pane>

View File

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.layout.HBox?>
<?import javafx.scene.layout.Pane?>
<?import javafx.scene.text.Font?>
<Pane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/11.0.1" xmlns:fx="http://javafx.com/fxml/1">
<children>
<HBox alignment="CENTER" layoutY="1.0" prefHeight="400.0" prefWidth="600.0">
<children>
<Label contentDisplay="CENTER" prefHeight="27.0" prefWidth="149.0" text="Il ne se passe rien." textAlignment="CENTER">
<font>
<Font size="18.0" />
</font>
</Label>
</children>
</HBox>
</children>
</Pane>

View File

@ -0,0 +1,85 @@
<?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.AnchorPane?>
<?import javafx.scene.layout.HBox?>
<?import javafx.scene.layout.Pane?>
<?import javafx.scene.text.Font?>
<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="180.0" prefWidth="255.0" xmlns="http://javafx.com/javafx/11.0.1" xmlns:fx="http://javafx.com/fxml/1" fx:controller="ihm.controller.ChoisirJoueur">
<children>
<Pane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="180.0" prefWidth="255.0" stylesheets="@style/popUp.css">
<children>
<HBox fx:id="joueurHaut" layoutX="4.0" layoutY="14.0">
<children>
<Button mnemonicParsing="false" text="%joueur1">
<font>
<Font size="10.0" />
</font>
</Button>
<Button mnemonicParsing="false" text="%joueur2">
<font>
<Font size="10.0" />
</font>
<HBox.margin>
<Insets left="2.0" />
</HBox.margin>
</Button>
<Button mnemonicParsing="false" text="%joueur3">
<font>
<Font size="10.0" />
</font>
<HBox.margin>
<Insets left="2.0" />
</HBox.margin>
</Button>
<Button mnemonicParsing="false" text="%joueur4">
<font>
<Font size="10.0" />
</font>
<HBox.margin>
<Insets left="2.0" />
</HBox.margin>
</Button>
</children>
</HBox>
<HBox fx:id="joueurBas" layoutX="4.0" layoutY="139.0">
<children>
<Button mnemonicParsing="false" text="%joueur5">
<font>
<Font size="10.0" />
</font>
<HBox.margin>
<Insets right="2.0" />
</HBox.margin>
</Button>
<Button mnemonicParsing="false" text="%joueur6">
<font>
<Font size="10.0" />
</font>
<HBox.margin>
<Insets right="2.0" />
</HBox.margin>
</Button>
<Button mnemonicParsing="false" text="%joueur7">
<font>
<Font size="10.0" />
</font>
<HBox.margin>
<Insets right="2.0" />
</HBox.margin>
</Button>
<Button mnemonicParsing="false" text="%joueur8">
<font>
<Font size="10.0" />
</font>
</Button>
</children>
</HBox>
<Label fx:id="titre" layoutX="50.0" layoutY="82.0" text="Choisir un joueur à attaquer !" />
</children>
</Pane>
</children>
</AnchorPane>

View File

@ -0,0 +1,34 @@
<?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.shape.Polygon?>
<?import javafx.scene.shape.Rectangle?>
<?import javafx.scene.text.Font?>
<Pane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="589.0" prefWidth="881.0" xmlns="http://javafx.com/javafx/11.0.1" xmlns:fx="http://javafx.com/fxml/1">
<children>
<Label layoutX="265.0" layoutY="29.0" text="C'est au tour du ">
<font>
<Font size="36.0" />
</font>
</Label>
<Rectangle arcHeight="5.0" arcWidth="5.0" fill="DODGERBLUE" height="200.0" layoutX="221.0" layoutY="135.0" stroke="BLACK" strokeType="INSIDE" width="200.0" />
<Polygon fill="DODGERBLUE" layoutX="551.0" layoutY="216.0" points="-75.79998779296875, 98.80001831054688, 97.0, 98.80001831054688, 8.20001220703125, -59.199981689453125" stroke="BLACK" strokeType="INSIDE" />
<Button layoutX="401.0" layoutY="394.0" mnemonicParsing="false" text="Lancer les dés" />
<Label layoutX="275.0" layoutY="222.0" text="Score dés 1">
<font>
<Font size="18.0" />
</font></Label>
<Label layoutX="516.0" layoutY="249.0" text="Score dés 2">
<font>
<Font size="18.0" />
</font></Label>
<Label layoutX="535.0" layoutY="29.0" text="joueur 1">
<font>
<Font size="36.0" />
</font>
</Label>
</children>
</Pane>

View File

@ -0,0 +1,22 @@
<?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.shape.Rectangle?>
<?import javafx.scene.text.Font?>
<Pane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="534.0" prefWidth="714.0" xmlns="http://javafx.com/javafx/11.0.1" xmlns:fx="http://javafx.com/fxml/1">
<children>
<Label layoutX="355.0" layoutY="172.0" text="Description capacité de la carte lieux ">
<font>
<Font size="18.0" />
</font>
</Label>
<Rectangle arcHeight="5.0" arcWidth="5.0" fill="DODGERBLUE" height="268.0" layoutX="96.0" layoutY="147.0" stroke="BLACK" strokeType="INSIDE" width="200.0" />
<Button layoutX="348.0" layoutY="242.0" mnemonicParsing="false" text="Utiliser la capacité du lieux" />
<Button layoutX="542.0" layoutY="242.0" mnemonicParsing="false" text="Sauter cette étape" />
<Label layoutX="168.0" layoutY="273.0" text="Carte lieux" />
</children>
</Pane>

View File

@ -0,0 +1,35 @@
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.layout.HBox?>
<?import javafx.scene.layout.Pane?>
<?import javafx.scene.text.Font?>
<Pane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="451.0" prefWidth="654.0" xmlns="http://javafx.com/javafx/11.0.1" xmlns:fx="http://javafx.com/fxml/1">
<children>
<HBox alignment="CENTER" prefHeight="100.0" prefWidth="661.0" spacing="60.0">
<children>
<Button mnemonicParsing="false" text="Joueur 1" />
<Button mnemonicParsing="false" text="Joueur 2" />
<Button mnemonicParsing="false" text="Joueur 3" />
<Button mnemonicParsing="false" text="Joueur 4" />
</children>
</HBox>
<Label layoutX="196.0" layoutY="158.0" text="Attaquer un autre joueur !">
<font>
<Font size="24.0" />
</font>
</Label>
<Button layoutX="277.0" layoutY="213.0" mnemonicParsing="false" text="Ne pas attaquer" />
<HBox alignment="CENTER" layoutY="337.0" prefHeight="100.0" prefWidth="661.0" spacing="60.0">
<children>
<Button mnemonicParsing="false" text="Joueur 5" />
<Button mnemonicParsing="false" text="Joueur 6" />
<Button mnemonicParsing="false" text="Joueur 7" />
<Button mnemonicParsing="false" text="Joueur 8" />
</children>
</HBox>
</children>
</Pane>

View File

@ -0,0 +1,39 @@
<?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.shape.Polygon?>
<?import javafx.scene.shape.Rectangle?>
<?import javafx.scene.text.Font?>
<Pane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="589.0" prefWidth="881.0" xmlns="http://javafx.com/javafx/11.0.1" xmlns:fx="http://javafx.com/fxml/1">
<children>
<Label layoutX="401.0" layoutY="29.0" text="attaque">
<font>
<Font size="36.0" />
</font>
</Label>
<Rectangle arcHeight="5.0" arcWidth="5.0" fill="DODGERBLUE" height="200.0" layoutX="221.0" layoutY="135.0" stroke="BLACK" strokeType="INSIDE" width="200.0" />
<Polygon fill="DODGERBLUE" layoutX="551.0" layoutY="216.0" points="-75.79998779296875, 98.80001831054688, 97.0, 98.80001831054688, 8.20001220703125, -59.199981689453125" stroke="BLACK" strokeType="INSIDE" />
<Button layoutX="401.0" layoutY="394.0" mnemonicParsing="false" text="Lancer les dés" />
<Label layoutX="275.0" layoutY="222.0" text="Score dés 1">
<font>
<Font size="18.0" />
</font></Label>
<Label layoutX="516.0" layoutY="249.0" text="Score dés 2">
<font>
<Font size="18.0" />
</font></Label>
<Label layoutX="535.0" layoutY="29.0" text="joueur 2">
<font>
<Font size="36.0" />
</font>
</Label>
<Label layoutX="253.0" layoutY="29.0" text="Joueur 1">
<font>
<Font size="36.0" />
</font>
</Label>
</children>
</Pane>

View File

@ -0,0 +1,30 @@
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.layout.HBox?>
<?import javafx.scene.layout.Pane?>
<?import javafx.scene.layout.VBox?>
<?import javafx.scene.text.Font?>
<Pane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="419.0" prefWidth="614.0" xmlns="http://javafx.com/javafx/11.0.1" xmlns:fx="http://javafx.com/fxml/1">
<children>
<HBox alignment="CENTER" layoutX="97.0" layoutY="49.0" prefHeight="340.0" prefWidth="489.0" spacing="60.0">
<children>
<Label text="Piocher une carte">
<font>
<Font size="18.0" />
</font>
</Label>
<VBox alignment="CENTER" prefHeight="200.0" prefWidth="100.0" spacing="60.0">
<children>
<Button mnemonicParsing="false" text="Carte vision" />
<Button mnemonicParsing="false" text="Carte ténébre" />
<Button mnemonicParsing="false" text="Carte lumière" />
</children>
</VBox>
</children>
</HBox>
</children>
</Pane>

View File

@ -0,0 +1,35 @@
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.layout.HBox?>
<?import javafx.scene.layout.Pane?>
<?import javafx.scene.text.Font?>
<Pane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="451.0" prefWidth="654.0" xmlns="http://javafx.com/javafx/11.0.1" xmlns:fx="http://javafx.com/fxml/1">
<children>
<HBox alignment="CENTER" prefHeight="100.0" prefWidth="661.0" spacing="60.0">
<children>
<Button mnemonicParsing="false" text="Joueur 1" />
<Button mnemonicParsing="false" text="Joueur 2" />
<Button mnemonicParsing="false" text="Joueur 3" />
<Button mnemonicParsing="false" text="Joueur 4" />
</children>
</HBox>
<Label layoutX="85.0" layoutY="163.0" text="Attaquer un joueur ou se soigner de 2 blessures">
<font>
<Font size="24.0" />
</font>
</Label>
<Button layoutX="277.0" layoutY="213.0" mnemonicParsing="false" text="Ne pas attaquer" />
<HBox alignment="CENTER" layoutY="337.0" prefHeight="100.0" prefWidth="661.0" spacing="60.0">
<children>
<Button mnemonicParsing="false" text="Joueur 5" />
<Button mnemonicParsing="false" text="Joueur 6" />
<Button mnemonicParsing="false" text="Joueur 7" />
<Button mnemonicParsing="false" text="Joueur 8" />
</children>
</HBox>
</children>
</Pane>

41
src/main/CarteLieu.java Normal file
View File

@ -0,0 +1,41 @@
package main;
import java.util.List;
public class CarteLieu {
private List<Integer> valeurs;
private List<Joueur> joueurs;
private String nom;
private CarteLieu voisin;
private Plateau plateau;
public CarteLieu(String n, List<Integer> vals, CarteLieu vois, Plateau plat){
nom = n;
for(int i : vals) {
//max 2 v par lieu normalement
valeurs.add(i);
}
voisin = vois;
plateau = plat;
}
//pour rajouter un joueur au lieu
public void addJoueur(Joueur j) {
joueurs.add(j);
}
public List<Joueur> getJoueursAdjacents() {
return voisin.getJoueurs();
}
public void utiliser(Joueur j) {};
public List<Joueur> getJoueurs() {
return joueurs;
}
//pour enlever un joueur du lieu
public void removeJoueur(Joueur j) {
joueurs.remove(j); //pas sur que ca va marcher
}
}

5
src/main/Equipement.java Normal file
View File

@ -0,0 +1,5 @@
package main;
public class Equipement {
}

5
src/main/Type.java Normal file
View File

@ -0,0 +1,5 @@
package main;
public interface Type {
}

View File

@ -0,0 +1,5 @@
package main;
public class TypeLumiere implements Type {
}

View File

@ -0,0 +1,5 @@
package main;
public class TypeTenebre implements Type{
}

5
src/main/TypeVision.java Normal file
View File

@ -0,0 +1,5 @@
package main;
public class TypeVision implements Type {
}

View File

@ -0,0 +1,13 @@
package tmpmeth;
public class DamageCalculator {
public static int calculDamage(Dice d6, Dice d4) {
int r = d6.roll() - d4.roll();
if(r < 0) {
r = 0;
}
return r;
}
}

24
src/tmpmeth/Dice.java Normal file
View File

@ -0,0 +1,24 @@
package tmpmeth;
import java.lang.Math;
public class Dice {
private int max;
public Dice() {
this(0);
}
public Dice(int m) {
this.max = m;
}
public int roll() {
return (int)((max)*Math.random())+1;
}
public int getMax() {
return this.max;
}
}

13
src/tmpmeth/start.java Normal file
View File

@ -0,0 +1,13 @@
package tmpmeth;
public class start {
public static void main(String[] args) {
// TODO Auto-generated method stub
Dice d4 = new Dice(4);
Dice d6 = new Dice(6);
System.out.println(DamageCalculator.calculDamage(d6, d4));
}
}