Merge branch 'development' of https://github.com/PTE-SH/ShadowHunterGame into development
This commit is contained in:
commit
48a2460301
@ -12,6 +12,7 @@ public abstract class CarteCondition extends CarteEffet implements Serializable{
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
private static final long serialVersionUID = 903022795821166067L;
|
private static final long serialVersionUID = 903022795821166067L;
|
||||||
|
private Condition condition;
|
||||||
|
|
||||||
public CarteCondition() {
|
public CarteCondition() {
|
||||||
super("","");
|
super("","");
|
||||||
@ -21,12 +22,11 @@ public abstract class CarteCondition extends CarteEffet implements Serializable{
|
|||||||
|
|
||||||
public CarteCondition(String nom, String description) {
|
public CarteCondition(String nom, String description) {
|
||||||
super(nom, description);
|
super(nom, description);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private Condition condition;
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -120,7 +120,7 @@ public class CreatingCardsTest {
|
|||||||
// Ténèbre
|
// Ténèbre
|
||||||
|
|
||||||
// Araignée Sanguinaire
|
// Araignée Sanguinaire
|
||||||
/*
|
|
||||||
DatabaseManager.queryInsertObject(17, new CartePiochable(CartePiochable.Type.TENEBRE,new EffetMultiple(new EffetChoisirCible(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, -2, true)),
|
DatabaseManager.queryInsertObject(17, new CartePiochable(CartePiochable.Type.TENEBRE,new EffetMultiple(new EffetChoisirCible(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, -2, true)),
|
||||||
new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, -2, true)))));
|
new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, -2, true)))));
|
||||||
|
|
||||||
@ -135,18 +135,18 @@ public class CreatingCardsTest {
|
|||||||
|
|
||||||
DatabaseManager.queryInsertObject(20, new CartePiochable(CartePiochable.Type.TENEBRE,new EffetMultiple(new EffetChoisirCible(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, -2, true)),
|
DatabaseManager.queryInsertObject(20, new CartePiochable(CartePiochable.Type.TENEBRE,new EffetMultiple(new EffetChoisirCible(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, -2, true)),
|
||||||
new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, 1, true)))));
|
new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, 1, true)))));
|
||||||
*/
|
|
||||||
// Dynamite
|
// Dynamite
|
||||||
|
|
||||||
// 21
|
// 21
|
||||||
|
|
||||||
|
|
||||||
// Hache tueuse
|
// Hache tueuse
|
||||||
for(int i = 0; i <= 2; i++) {
|
|
||||||
DatabaseManager.queryInsertObject(22+i,new CarteEquipementStat(CartePiochable.Type.TENEBRE,
|
DatabaseManager.queryInsertObject(22,new CarteEquipementStat(CartePiochable.Type.TENEBRE,
|
||||||
new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_DAMAGE, 1, true))));
|
new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_DAMAGE, 1, true))));
|
||||||
}
|
|
||||||
/*
|
|
||||||
DatabaseManager.queryInsertObject(22,new CarteEquipementStat(CartePiochable.Type.TENEBRE,
|
DatabaseManager.queryInsertObject(22,new CarteEquipementStat(CartePiochable.Type.TENEBRE,
|
||||||
new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_DAMAGE, 1, true))));
|
new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_DAMAGE, 1, true))));
|
||||||
|
|
||||||
@ -171,7 +171,7 @@ public class CreatingCardsTest {
|
|||||||
));
|
));
|
||||||
|
|
||||||
// 29
|
// 29
|
||||||
*/
|
|
||||||
DatabaseManager.queryInsertObject(30,new CartePiochable(CartePiochable.Type.TENEBRE,
|
DatabaseManager.queryInsertObject(30,new CartePiochable(CartePiochable.Type.TENEBRE,
|
||||||
new EffetChoisirCible(new ActionVoler(ActionVoler.VOLER))));
|
new EffetChoisirCible(new ActionVoler(ActionVoler.VOLER))));
|
||||||
|
|
||||||
|
@ -69,3 +69,26 @@ musique=Musique
|
|||||||
langue=Langue
|
langue=Langue
|
||||||
parametre=Paramètres
|
parametre=Paramètres
|
||||||
enregistrer=Enregistrer
|
enregistrer=Enregistrer
|
||||||
|
quitter=Quitter
|
||||||
|
retour=Retour
|
||||||
|
vousetes=Vous êtes :
|
||||||
|
voulez.vous.faire.action=Voulez vous faire cette action ?
|
||||||
|
oui=oui
|
||||||
|
non=non
|
||||||
|
choisir.joueur.attaquer=Choisir un joueur à attaquer !
|
||||||
|
stop=Stop
|
||||||
|
choisir.jouer.a.qui.donner.vision=Choisir un joueur à qui donner la carte vision
|
||||||
|
attaquer=Attaquer !
|
||||||
|
voulez.vous.attaquer.joueur=Voulez-vous attaquer un joueur ?
|
||||||
|
arriver.sur.carte.lieux=Vous arrivez sur cette Carte Lieu
|
||||||
|
ok=Ok
|
||||||
|
pause=Pause
|
||||||
|
sons=Sons
|
||||||
|
jeux=Jeux
|
||||||
|
reprendre.partie=Reprendre la partie
|
||||||
|
quitter.jeu=Quitter le jeu
|
||||||
|
equipement=Equipements
|
||||||
|
glisser.barre=Glissez la barre
|
||||||
|
page.precedente=Page précédente
|
||||||
|
page.suivante=Page suivante
|
||||||
|
menu=Menu
|
@ -70,3 +70,26 @@ musique=Music
|
|||||||
langue=Language
|
langue=Language
|
||||||
parametre=Setting
|
parametre=Setting
|
||||||
enregistrer=Enregistrer
|
enregistrer=Enregistrer
|
||||||
|
quitter=Exit
|
||||||
|
retour=Return
|
||||||
|
vousetes=Vous êtes :
|
||||||
|
voulez.vous.faire.action=Do you want to do this action?
|
||||||
|
oui=yes
|
||||||
|
non=no
|
||||||
|
choisir.joueur.attaquer=Choose a player to attack!
|
||||||
|
stop=Stop
|
||||||
|
choisir.jouer.a.qui.donner.vision=Choose a player to give the vision card to
|
||||||
|
attaquer=Attack!
|
||||||
|
voulez.vous.attaquer.joueur=Do you want to attack a player?
|
||||||
|
arriver.sur.carte.lieux=You arrive on this Location Card
|
||||||
|
ok=Ok
|
||||||
|
pause=Pause
|
||||||
|
sons=Sounds
|
||||||
|
jeux=Game
|
||||||
|
reprendre.partie=Resume the game
|
||||||
|
quitter.jeu=Leave the game
|
||||||
|
equipement=Equipment
|
||||||
|
glisser.barre=Slide the bar
|
||||||
|
page.precedente=Previous page
|
||||||
|
page.suivante=Next page
|
||||||
|
menu=Menu
|
@ -69,3 +69,26 @@ musique=Musique
|
|||||||
langue=Langue
|
langue=Langue
|
||||||
parametre=Paramètre
|
parametre=Paramètre
|
||||||
enregistrer=Enregistrer
|
enregistrer=Enregistrer
|
||||||
|
quitter=Quitter
|
||||||
|
retour=Retour
|
||||||
|
vousetes=Vous êtes :
|
||||||
|
voulez.vous.faire.action=Voulez vous faire cette action ?
|
||||||
|
oui=oui
|
||||||
|
non=non
|
||||||
|
choisir.joueur.attaquer=Choisir un joueur à attaquer !
|
||||||
|
stop=Stop
|
||||||
|
choisir.jouer.a.qui.donner.vision=Choisir un joueur à qui donner la carte vision
|
||||||
|
attaquer=Attaquer !
|
||||||
|
voulez.vous.attaquer.joueur=Voulez-vous attaquer un joueur ?
|
||||||
|
arriver.sur.carte.lieux=Vous arrivez sur cette Carte Lieu
|
||||||
|
ok=Ok
|
||||||
|
pause=Pause
|
||||||
|
sons=Sons
|
||||||
|
jeux=Jeux
|
||||||
|
reprendre.partie=Reprendre la partie
|
||||||
|
quitter.jeu=Quitter le jeu
|
||||||
|
equipement=Equipements
|
||||||
|
glisser.barre=Glissez la barre
|
||||||
|
page.precedente=Page précédente
|
||||||
|
page.suivante=Page suivante
|
||||||
|
menu=Menu
|
||||||
|
94
src/domaine/properties/langue_sp.properties
Normal file
94
src/domaine/properties/langue_sp.properties
Normal file
@ -0,0 +1,94 @@
|
|||||||
|
jouer=Jugar
|
||||||
|
regles=Reglas
|
||||||
|
commencer.partie=Comienza el juego
|
||||||
|
entrez.nom.joueur= Ingrese los nombres de los jugadores
|
||||||
|
nombre.joueur.minimum=(Necesitas al menos 4 jugadores)
|
||||||
|
cocher.case=Cochez la case pour que le joueur soit un joueur virtuel
|
||||||
|
carte.personnage=Carte personnage
|
||||||
|
se.reveler=Se révéler
|
||||||
|
pas.de=Pas de
|
||||||
|
dégats=dégâts
|
||||||
|
reveler.et.soigner=Se révéler et soigner mes blessures
|
||||||
|
rien.faire=Ne rien faire
|
||||||
|
effet.carte=Effet carte
|
||||||
|
choisir.joueur.soigner=Choisissez un joueur que vous voulez soigner
|
||||||
|
joueur1.soigne.joueur2=Joueur 1 soigne Joueur 2
|
||||||
|
lancer.de.des=Lancer les dés
|
||||||
|
choisr.joueur=Choisissez un joueur
|
||||||
|
joueur=Joueur
|
||||||
|
choisir.joueur.infliger.blessures=Choisissez un joueur à qui infliger 2 blessures
|
||||||
|
carte.equipement.a.donner=Choisissez la carte équipement que vous allez donner
|
||||||
|
joueur.a.qui.donner.carte.equipement=Choisissez un joueur à qui donner cette carte équipement
|
||||||
|
carte.equipement=Cartes équipements
|
||||||
|
choisir.equipement.a.voler=Choisissez un équipement à voler
|
||||||
|
carte.vision=Carte Vision
|
||||||
|
jouer.a.qui.donner.carte=Choisissez un joueur à qui donner la carte.
|
||||||
|
carte=Carte
|
||||||
|
effet=Effets sonores :
|
||||||
|
carte.vue.par.joueur.pioche=Cette carte ne peut être vu que par le joueur qui la pioche.
|
||||||
|
voir.carte=Voir carte
|
||||||
|
recoit=reçoit
|
||||||
|
blessure=Blessures.
|
||||||
|
se.passe.rien=Il ne se passe rien.
|
||||||
|
au.tour.de=C'est au tour du
|
||||||
|
score.des.1=Score dés 1
|
||||||
|
score.des.2=Score dés 2
|
||||||
|
joueur1=Joueur 1
|
||||||
|
joueur2=Joueur 2
|
||||||
|
joueur3=Joueur 3
|
||||||
|
joueur4=Joueur 4
|
||||||
|
joueur5=Joueur 5
|
||||||
|
joueur6=Joueur 6
|
||||||
|
joueur7=Joueur 7
|
||||||
|
joueur8=Joueur 8
|
||||||
|
description.capacite.carte.lieux=Description capacité de la carte lieux
|
||||||
|
utiliser.capaciter.lieux=Utiliser la capacité du lieux
|
||||||
|
sauter.etape=Sauter cette étape
|
||||||
|
carte.lieux=Carte lieux
|
||||||
|
attaquer.joueur=Attaquer un autre joueur !
|
||||||
|
piocher.carte=Piocher une carte
|
||||||
|
carte.tenebre=Carte ténêbre
|
||||||
|
carte.lumiere=Carte lumière
|
||||||
|
attaquer.ou.soigner=Attaquer un joueur ou se soigner de 2 blessures
|
||||||
|
ne.pas.attaqur=Ne pas attaquer
|
||||||
|
reveler.identite=révéler son identité!
|
||||||
|
c.est=C'est
|
||||||
|
faction=Faction :
|
||||||
|
utiliser.capacite=utilise sa capacité.
|
||||||
|
nom.personnages=Nom Personnage
|
||||||
|
votre.competence=Votre compétence :
|
||||||
|
retourner.carte=Retourner la carte
|
||||||
|
benediction=Bénediction
|
||||||
|
premier.secours=Premier secours
|
||||||
|
voler.equipement.joueur=Volez un équipement au joueurs de votre choix
|
||||||
|
choisir.carte.equipement.a.voler=Cliquez sur la carte équipement que vous voulez voler
|
||||||
|
consequence=conséquence
|
||||||
|
se.soigner=Se soigner
|
||||||
|
mode.claire=Mode clair
|
||||||
|
musique=Musique
|
||||||
|
langue=Langue
|
||||||
|
parametre=Paramètres
|
||||||
|
enregistrer=Enregistrer
|
||||||
|
quitter=Quitter
|
||||||
|
retour=Retour
|
||||||
|
vousetes=Vous êtes :
|
||||||
|
voulez.vous.faire.action=Voulez vous faire cette action ?
|
||||||
|
oui=oui
|
||||||
|
non=non
|
||||||
|
choisir.joueur.attaquer=Choisir un joueur à attaquer !
|
||||||
|
stop=Stop
|
||||||
|
choisir.jouer.a.qui.donner.vision=Choisir un joueur à qui donner la carte vision
|
||||||
|
attaquer=Attaquer !
|
||||||
|
voulez.vous.attaquer.joueur=Voulez-vous attaquer un joueur ?
|
||||||
|
arriver.sur.carte.lieux=Vous arrivez sur cette Carte Lieu
|
||||||
|
ok=Ok
|
||||||
|
pause=Pause
|
||||||
|
sons=Sons
|
||||||
|
jeux=Jeux
|
||||||
|
reprendre.partie=Reprendre la partie
|
||||||
|
quitter.jeu=Quitter le jeu
|
||||||
|
equipement=Equipements
|
||||||
|
glisser.barre=Glissez la barre
|
||||||
|
page.precedente=Page précédente
|
||||||
|
page.suivante=Page suivante
|
||||||
|
menu=Menu
|
@ -46,7 +46,7 @@ public class ActionAltererStatistiquesJoueur extends Action{
|
|||||||
{
|
{
|
||||||
j2.addToStat(key, valeur);
|
j2.addToStat(key, valeur);
|
||||||
}else {
|
}else {
|
||||||
j2.setStat(key, valeur);
|
j2.updateStat(key, valeur);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -82,6 +82,6 @@ public class ActionAltererStatistiquesJoueur extends Action{
|
|||||||
mot2 = " le ";
|
mot2 = " le ";
|
||||||
}
|
}
|
||||||
|
|
||||||
return mot1+" "+valeur+" "+key+mot2+"joueur";
|
return mot1+" "+Math.abs(valeur)+" "+key+mot2+"joueur";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -6,12 +6,19 @@ import java.util.List;
|
|||||||
import java.util.ResourceBundle;
|
import java.util.ResourceBundle;
|
||||||
|
|
||||||
import carte.CarteEquipement;
|
import carte.CarteEquipement;
|
||||||
|
import javafx.animation.KeyFrame;
|
||||||
|
import javafx.animation.Timeline;
|
||||||
import javafx.fxml.FXML;
|
import javafx.fxml.FXML;
|
||||||
import javafx.fxml.Initializable;
|
import javafx.fxml.Initializable;
|
||||||
|
import javafx.scene.control.Button;
|
||||||
import javafx.scene.image.ImageView;
|
import javafx.scene.image.ImageView;
|
||||||
import javafx.scene.layout.GridPane;
|
import javafx.scene.layout.GridPane;
|
||||||
import javafx.scene.layout.HBox;
|
import javafx.scene.layout.HBox;
|
||||||
|
import javafx.util.Duration;
|
||||||
|
import main.Contexte;
|
||||||
import main.GestionnaireJeu;
|
import main.GestionnaireJeu;
|
||||||
|
import main.Joueur;
|
||||||
|
import main.JoueurVirtuel;
|
||||||
|
|
||||||
public class ChoisirEquipement implements Initializable{
|
public class ChoisirEquipement implements Initializable{
|
||||||
@FXML private GridPane grilleEquipement;
|
@FXML private GridPane grilleEquipement;
|
||||||
@ -63,7 +70,6 @@ public class ChoisirEquipement implements Initializable{
|
|||||||
iv.setFitHeight(100);
|
iv.setFitHeight(100);
|
||||||
iv.setFitHeight(100);
|
iv.setFitHeight(100);
|
||||||
iv.setPreserveRatio(true);
|
iv.setPreserveRatio(true);
|
||||||
|
|
||||||
hbox.getChildren().add(iv);
|
hbox.getChildren().add(iv);
|
||||||
iv.setOnMouseClicked(e -> {
|
iv.setOnMouseClicked(e -> {
|
||||||
equipementSelected = ce;
|
equipementSelected = ce;
|
||||||
@ -71,4 +77,15 @@ public class ChoisirEquipement implements Initializable{
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void fireBtnIA(JoueurVirtuel jIA, Contexte c) {
|
||||||
|
Timeline timeline = new Timeline(new KeyFrame(Duration.millis(2000), ae -> {
|
||||||
|
equipementSelected = jIA.choisirEquipement(equipements);
|
||||||
|
GestionnaireJeu.notifyPlateau();
|
||||||
|
}));
|
||||||
|
timeline.play();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -120,6 +120,9 @@ public class ChoisirJoueur implements Initializable {
|
|||||||
case CHOISIR_VISION:
|
case CHOISIR_VISION:
|
||||||
titre.setText("Choisissez le joueur à qui passer la carte vision!");
|
titre.setText("Choisissez le joueur à qui passer la carte vision!");
|
||||||
break;
|
break;
|
||||||
|
case VOLER_EQUIP:
|
||||||
|
titre.setText("Choisissez le joueur à qui voler un equipement!");
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
59
src/ihm/controller/FinDePartieControlleur.java
Normal file
59
src/ihm/controller/FinDePartieControlleur.java
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
package ihm.controller;
|
||||||
|
|
||||||
|
import java.net.URL;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.ResourceBundle;
|
||||||
|
|
||||||
|
import javafx.fxml.FXML;
|
||||||
|
import javafx.fxml.Initializable;
|
||||||
|
import javafx.scene.control.Label;
|
||||||
|
import javafx.scene.layout.Pane;
|
||||||
|
import main.Joueur;
|
||||||
|
|
||||||
|
public class FinDePartieControlleur implements Initializable {
|
||||||
|
|
||||||
|
@FXML private Pane rootPane;
|
||||||
|
@FXML private Label labelWinner;
|
||||||
|
|
||||||
|
public static List<Joueur> listeWinner = new ArrayList<Joueur>();
|
||||||
|
|
||||||
|
/* Pour faire des tests
|
||||||
|
private Joueur j1 = new Joueur("j1");
|
||||||
|
private Joueur j2 = new Joueur("j2");
|
||||||
|
private Joueur j3 = new Joueur("j3");
|
||||||
|
*/
|
||||||
|
String names;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void initialize(URL arg0, ResourceBundle arg1) {
|
||||||
|
/*
|
||||||
|
listeWinner.add(j1);
|
||||||
|
listeWinner.add(j2);
|
||||||
|
listeWinner.add(j3);
|
||||||
|
*/
|
||||||
|
|
||||||
|
for (Joueur winner : listeWinner) {
|
||||||
|
if(names != null) {
|
||||||
|
names = names +"\n" + winner.getNom();
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
names = winner.getNom();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
labelWinner.setText(names);
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<Joueur> getListeWinner() {
|
||||||
|
return listeWinner;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setListeWinner(List<Joueur> listeWinner) {
|
||||||
|
FinDePartieControlleur.listeWinner = listeWinner;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
@ -1,11 +1,13 @@
|
|||||||
package ihm.controller;
|
package ihm.controller;
|
||||||
|
|
||||||
|
import java.io.InputStream;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import carte.CarteEquipement;
|
import carte.CarteEquipement;
|
||||||
import database.RessourceLoader;
|
import database.RessourceLoader;
|
||||||
|
import ihm.EffetSonore;
|
||||||
import ihm.ImageViewEquipement;
|
import ihm.ImageViewEquipement;
|
||||||
import javafx.application.Platform;
|
import javafx.application.Platform;
|
||||||
import javafx.scene.Node;
|
import javafx.scene.Node;
|
||||||
@ -77,6 +79,10 @@ public class JoueurIHM {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void actionReveler(Button btn) {
|
private void actionReveler(Button btn) {
|
||||||
|
|
||||||
|
InputStream fileSound1 = getClass().getResourceAsStream("/ihm/ressources/musique/BEEP1.wav");
|
||||||
|
EffetSonore.playSoundEffect(fileSound1);
|
||||||
|
|
||||||
ImageView iv = this.getCartePersonnage();
|
ImageView iv = this.getCartePersonnage();
|
||||||
System.out.println(this.joueur.getCartePersonnage());
|
System.out.println(this.joueur.getCartePersonnage());
|
||||||
Image im = this.pc.getImageCarte(this.joueur.getCartePersonnage());
|
Image im = this.pc.getImageCarte(this.joueur.getCartePersonnage());
|
||||||
@ -106,7 +112,6 @@ public class JoueurIHM {
|
|||||||
iv.fitHeightProperty().bind(gp.heightProperty());
|
iv.fitHeightProperty().bind(gp.heightProperty());
|
||||||
iv.fitHeightProperty().bind(gp.heightProperty());
|
iv.fitHeightProperty().bind(gp.heightProperty());
|
||||||
}
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
iv.setOnMouseReleased(release -> {
|
iv.setOnMouseReleased(release -> {
|
||||||
@ -141,6 +146,9 @@ public class JoueurIHM {
|
|||||||
|
|
||||||
private void utiliserCapacite() {
|
private void utiliserCapacite() {
|
||||||
|
|
||||||
|
InputStream fileSound1 = getClass().getResourceAsStream("/ihm/ressources/musique/BEEP1.wav");
|
||||||
|
EffetSonore.playSoundEffect(fileSound1);
|
||||||
|
|
||||||
AnchorPane save = getZoneJoueur();
|
AnchorPane save = getZoneJoueur();
|
||||||
joueur.utiliserCapacite();
|
joueur.utiliserCapacite();
|
||||||
Pane pane = null;
|
Pane pane = null;
|
||||||
|
@ -2,6 +2,7 @@ package ihm.controller;
|
|||||||
|
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
|
|
||||||
|
import effet.action.Action;
|
||||||
import ihm.Die;
|
import ihm.Die;
|
||||||
import ihm.DieImages;
|
import ihm.DieImages;
|
||||||
import javafx.animation.KeyFrame;
|
import javafx.animation.KeyFrame;
|
||||||
@ -38,6 +39,17 @@ public class LancerDes {
|
|||||||
this.contexte = c;
|
this.contexte = c;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private Button interpret(String s) {
|
||||||
|
|
||||||
|
String styles = "-fx-border-color: #e2e2e2;" + "-fx-border-width: 2;" + "-fx-background-radius: 0;"
|
||||||
|
+ "-fx-background-color: #1d1d1d;" + "-fx-text-fill: #d8d8d8;"
|
||||||
|
+ "-fx-background-insets: 0 0 0 0, 0, 1, 2;";
|
||||||
|
|
||||||
|
Button b = new Button(s);
|
||||||
|
b.setStyle(styles);
|
||||||
|
return b;
|
||||||
|
}
|
||||||
|
|
||||||
public VBox initLancer(Joueur joueur) {
|
public VBox initLancer(Joueur joueur) {
|
||||||
switch (typeDe) {
|
switch (typeDe) {
|
||||||
case LANCER_DE_4:
|
case LANCER_DE_4:
|
||||||
@ -51,18 +63,16 @@ public class LancerDes {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private VBox initLancerD4(Joueur j) {
|
private VBox initLancerD4(Joueur j) {
|
||||||
DieImages images = new DieImages(4);
|
DieImages images = new DieImages(4);
|
||||||
Die die = new Die(images.getImages());
|
Die die = new Die(images.getImages());
|
||||||
ImageView stackpane = die.getdieFace();
|
ImageView stackpane = die.getdieFace();
|
||||||
stackpane.setFitHeight(100);
|
stackpane.setFitHeight(100);
|
||||||
stackpane.setFitWidth(100);
|
stackpane.setFitWidth(100);
|
||||||
Button btn = new Button();
|
Button btn = interpret("Lancer dé");
|
||||||
Text txt = new Text("Lancez le dé");
|
Text txt = new Text("Lancez le dé");
|
||||||
txt.setFont(Font.font(null, null, null, 12));
|
txt.setFont(Font.font(null, null, null, 12));
|
||||||
txt.setFill(Color.WHITE);
|
txt.setFill(Color.WHITE);
|
||||||
btn.setText("Lancer dé");
|
|
||||||
btn.setOnAction((ActionEvent event) -> {
|
btn.setOnAction((ActionEvent event) -> {
|
||||||
btn.setDisable(true);// Disable Button
|
btn.setDisable(true);// Disable Button
|
||||||
Random random = new Random();
|
Random random = new Random();
|
||||||
@ -77,10 +87,7 @@ public class LancerDes {
|
|||||||
|
|
||||||
die.setDieFace(rolls[0]);
|
die.setDieFace(rolls[0]);
|
||||||
txt.setText("Vous avez obtenu " + rolls[0]);
|
txt.setText("Vous avez obtenu " + rolls[0]);
|
||||||
Timeline timeline2 = new Timeline(new KeyFrame(
|
Timeline timeline2 = new Timeline(new KeyFrame(Duration.millis(2000), ae -> {
|
||||||
Duration.millis(2000),
|
|
||||||
ae -> {
|
|
||||||
|
|
||||||
|
|
||||||
GestionnaireJeu.notifyPlateau();
|
GestionnaireJeu.notifyPlateau();
|
||||||
}));
|
}));
|
||||||
@ -104,11 +111,10 @@ public class LancerDes {
|
|||||||
ImageView stackpane = die.getdieFace();
|
ImageView stackpane = die.getdieFace();
|
||||||
stackpane.setFitHeight(100);
|
stackpane.setFitHeight(100);
|
||||||
stackpane.setFitWidth(100);
|
stackpane.setFitWidth(100);
|
||||||
Button btn = new Button();
|
Button btn = interpret("Lancer dé");
|
||||||
Text txt = new Text("Lancez le dé");
|
Text txt = new Text("Lancez le dé");
|
||||||
txt.setFont(Font.font(null, null, null, 12));
|
txt.setFont(Font.font(null, null, null, 12));
|
||||||
txt.setFill(Color.WHITE);
|
txt.setFill(Color.WHITE);
|
||||||
btn.setText("Lancer dé");
|
|
||||||
btn.setOnAction((ActionEvent event) -> {
|
btn.setOnAction((ActionEvent event) -> {
|
||||||
btn.setDisable(true);// Disable Button
|
btn.setDisable(true);// Disable Button
|
||||||
Random random = new Random();
|
Random random = new Random();
|
||||||
@ -123,9 +129,7 @@ public class LancerDes {
|
|||||||
|
|
||||||
die.setDieFace(rolls[0]);
|
die.setDieFace(rolls[0]);
|
||||||
txt.setText("Vous avez obtenu " + rolls[0]);
|
txt.setText("Vous avez obtenu " + rolls[0]);
|
||||||
Timeline timeline2 = new Timeline(new KeyFrame(
|
Timeline timeline2 = new Timeline(new KeyFrame(Duration.millis(2000), ae -> {
|
||||||
Duration.millis(2000),
|
|
||||||
ae -> {
|
|
||||||
GestionnaireJeu.notifyPlateau();
|
GestionnaireJeu.notifyPlateau();
|
||||||
}));
|
}));
|
||||||
timeline2.play();
|
timeline2.play();
|
||||||
@ -153,11 +157,10 @@ public class LancerDes {
|
|||||||
stackpane2.setFitHeight(100);
|
stackpane2.setFitHeight(100);
|
||||||
stackpane.setFitWidth(100);
|
stackpane.setFitWidth(100);
|
||||||
stackpane2.setFitWidth(100);
|
stackpane2.setFitWidth(100);
|
||||||
Button btn = new Button();
|
Button btn = interpret("Lancer dés");
|
||||||
Text txt = new Text("Lancez les dés");
|
Text txt = new Text("Lancez les dés");
|
||||||
txt.setFont(Font.font(null, null, null, 12));
|
txt.setFont(Font.font(null, null, null, 12));
|
||||||
txt.setFill(Color.WHITE);
|
txt.setFill(Color.WHITE);
|
||||||
btn.setText("Lancer dés");
|
|
||||||
btn.setOnAction((ActionEvent event) -> {
|
btn.setOnAction((ActionEvent event) -> {
|
||||||
btn.setDisable(true);// Disable Button
|
btn.setDisable(true);// Disable Button
|
||||||
Random random = new Random();
|
Random random = new Random();
|
||||||
@ -179,9 +182,7 @@ public class LancerDes {
|
|||||||
int result = rolls[0] + rolls[1];
|
int result = rolls[0] + rolls[1];
|
||||||
|
|
||||||
txt.setText("Vous avez obtenu " + result);
|
txt.setText("Vous avez obtenu " + result);
|
||||||
Timeline timeline2 = new Timeline(new KeyFrame(
|
Timeline timeline2 = new Timeline(new KeyFrame(Duration.millis(2000), ae -> {
|
||||||
Duration.millis(2000),
|
|
||||||
ae -> {
|
|
||||||
GestionnaireJeu.notifyPlateau();
|
GestionnaireJeu.notifyPlateau();
|
||||||
|
|
||||||
}));
|
}));
|
||||||
|
@ -66,6 +66,10 @@ public class MenuController implements Initializable{
|
|||||||
}
|
}
|
||||||
@FXML
|
@FXML
|
||||||
public void quitterLappli(MouseEvent mouseEvent) throws IOException{
|
public void quitterLappli(MouseEvent mouseEvent) throws IOException{
|
||||||
|
|
||||||
|
InputStream fileSound1 = getClass().getResourceAsStream("/ihm/ressources/musique/BEEP1.wav");
|
||||||
|
EffetSonore.playSoundEffect(fileSound1);
|
||||||
|
|
||||||
System.exit(0);
|
System.exit(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -26,7 +26,7 @@ public class MenuJoueurController implements Initializable{
|
|||||||
public void changeZoneToScrollPaneJoueur(MouseEvent me) throws IOException {
|
public void changeZoneToScrollPaneJoueur(MouseEvent me) throws IOException {
|
||||||
|
|
||||||
final URL fxmlURL = getClass().getResource("/ihm/ressources/ScrollPaneJoueur.fxml");
|
final URL fxmlURL = getClass().getResource("/ihm/ressources/ScrollPaneJoueur.fxml");
|
||||||
final ResourceBundle bundle = ResourceBundle.getBundle("domaine.properties.langue", Locale.ENGLISH);
|
final ResourceBundle bundle = ResourceBundle.getBundle("domaine.properties.langue", ParametreController.LaLangue);
|
||||||
final FXMLLoader fxmlLoader = new FXMLLoader(fxmlURL, bundle);
|
final FXMLLoader fxmlLoader = new FXMLLoader(fxmlURL, bundle);
|
||||||
AnchorPane bp = fxmlLoader.load();
|
AnchorPane bp = fxmlLoader.load();
|
||||||
ImageView iv = ((ImageView)me.getSource());
|
ImageView iv = ((ImageView)me.getSource());
|
||||||
|
@ -22,7 +22,7 @@ public class PiocherVisionController implements Initializable{
|
|||||||
public void voirCarte(MouseEvent mouseEvent) throws IOException{
|
public void voirCarte(MouseEvent mouseEvent) throws IOException{
|
||||||
|
|
||||||
final URL fxmlURL = getClass().getResource("/ihm/ressources/jouer_Son_Tour_donner_vision.fxml");
|
final URL fxmlURL = getClass().getResource("/ihm/ressources/jouer_Son_Tour_donner_vision.fxml");
|
||||||
final ResourceBundle bundle = ResourceBundle.getBundle("domaine.properties.langue", Locale.FRANCE);
|
final ResourceBundle bundle = ResourceBundle.getBundle("domaine.properties.langue", ParametreController.LaLangue);
|
||||||
final FXMLLoader fxmlLoader = new FXMLLoader(fxmlURL, bundle);
|
final FXMLLoader fxmlLoader = new FXMLLoader(fxmlURL, bundle);
|
||||||
Pane pane = fxmlLoader.load();
|
Pane pane = fxmlLoader.load();
|
||||||
|
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
package ihm.controller;
|
package ihm.controller;
|
||||||
|
|
||||||
|
|
||||||
import java.awt.Dimension;
|
import java.awt.Dimension;
|
||||||
import java.awt.image.BufferedImage;
|
import java.awt.image.BufferedImage;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
@ -27,6 +26,7 @@ import javafx.animation.Timeline;
|
|||||||
import javafx.fxml.FXML;
|
import javafx.fxml.FXML;
|
||||||
import javafx.fxml.FXMLLoader;
|
import javafx.fxml.FXMLLoader;
|
||||||
import javafx.fxml.Initializable;
|
import javafx.fxml.Initializable;
|
||||||
|
import javafx.geometry.Pos;
|
||||||
import javafx.scene.Group;
|
import javafx.scene.Group;
|
||||||
import javafx.scene.Parent;
|
import javafx.scene.Parent;
|
||||||
import javafx.scene.control.Button;
|
import javafx.scene.control.Button;
|
||||||
@ -53,9 +53,12 @@ public class PlateauController implements Initializable {
|
|||||||
private List<Joueur> listJoueur = new ArrayList<Joueur>();
|
private List<Joueur> listJoueur = new ArrayList<Joueur>();
|
||||||
private List<JoueurIHM> joueursIHM;
|
private List<JoueurIHM> joueursIHM;
|
||||||
|
|
||||||
@FXML private AnchorPane rootPane;
|
@FXML
|
||||||
@FXML private GridPane gridPaneVie;
|
private AnchorPane rootPane;
|
||||||
@FXML public GridPane gridPaneLieux;
|
@FXML
|
||||||
|
private GridPane gridPaneVie;
|
||||||
|
@FXML
|
||||||
|
public GridPane gridPaneLieux;
|
||||||
|
|
||||||
private ChoisirBoolean cb;
|
private ChoisirBoolean cb;
|
||||||
private ChoisirEquipement ce;
|
private ChoisirEquipement ce;
|
||||||
@ -97,14 +100,14 @@ public class PlateauController implements Initializable {
|
|||||||
|
|
||||||
for (int i : map.keySet()) {
|
for (int i : map.keySet()) {
|
||||||
System.out.println(i);
|
System.out.println(i);
|
||||||
joueursIHM.add(new JoueurIHM(i,map.get(i),getPaneJoueur(i),new Color(Math.random(), Math.random(), Math.random(),1),gridPaneVie, gridPaneLieux,this));
|
joueursIHM.add(new JoueurIHM(i, map.get(i), getPaneJoueur(i),
|
||||||
|
new Color(Math.random(), Math.random(), Math.random(), 1), gridPaneVie, gridPaneLieux, this));
|
||||||
}
|
}
|
||||||
|
|
||||||
for (int i = 0; i < joueursIHM.size(); i++) {
|
for (int i = 0; i < joueursIHM.size(); i++) {
|
||||||
joueursIHM.get(i).deplacerPionVie(0);
|
joueursIHM.get(i).deplacerPionVie(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
mapRessourcesCartes = rl.getRessourceCartes();
|
mapRessourcesCartes = rl.getRessourceCartes();
|
||||||
setMapRessourcesDosCartes(rl.getRessourceDosCartes());
|
setMapRessourcesDosCartes(rl.getRessourceDosCartes());
|
||||||
|
|
||||||
@ -115,7 +118,6 @@ public class PlateauController implements Initializable {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private void applyImages(List<CarteLieu> cls, List<ImageView> ivs) {
|
private void applyImages(List<CarteLieu> cls, List<ImageView> ivs) {
|
||||||
|
|
||||||
int size = cls.size();
|
int size = cls.size();
|
||||||
@ -176,7 +178,6 @@ public class PlateauController implements Initializable {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
return (Pane) gp.getChildren().get(i % 2);
|
return (Pane) gp.getChildren().get(i % 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -203,7 +204,7 @@ public class PlateauController implements Initializable {
|
|||||||
public void seReveler(int numJoueur) throws IOException {
|
public void seReveler(int numJoueur) throws IOException {
|
||||||
System.out.println(listJoueur.get(numJoueur).getNom() + " se revele");
|
System.out.println(listJoueur.get(numJoueur).getNom() + " se revele");
|
||||||
final URL fxmlURL = getClass().getResource("/ihm/ressources/Reveler_son_identite.fxml");
|
final URL fxmlURL = getClass().getResource("/ihm/ressources/Reveler_son_identite.fxml");
|
||||||
final ResourceBundle bundle = ResourceBundle.getBundle("domaine.properties.langue", Locale.FRANCE);
|
final ResourceBundle bundle = ResourceBundle.getBundle("domaine.properties.langue", ParametreController.LaLangue);
|
||||||
final FXMLLoader fxmlLoader = new FXMLLoader(fxmlURL, bundle);
|
final FXMLLoader fxmlLoader = new FXMLLoader(fxmlURL, bundle);
|
||||||
Parent root = fxmlLoader.load();
|
Parent root = fxmlLoader.load();
|
||||||
|
|
||||||
@ -214,17 +215,15 @@ public class PlateauController implements Initializable {
|
|||||||
popup.display();
|
popup.display();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public JoueurIHM getJoueurIHM(Joueur j) {
|
public JoueurIHM getJoueurIHM(Joueur j) {
|
||||||
|
|
||||||
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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Permet de consulter sa carte perssonage en cas d'oublie
|
* Permet de consulter sa carte perssonage en cas d'oublie
|
||||||
*
|
*
|
||||||
@ -233,11 +232,10 @@ public class PlateauController implements Initializable {
|
|||||||
public void consulterSaCarte(int numJoueur) throws IOException {
|
public void consulterSaCarte(int numJoueur) throws IOException {
|
||||||
System.out.println(listJoueur.get(numJoueur).getNom() + " consulte sa carte");
|
System.out.println(listJoueur.get(numJoueur).getNom() + " consulte sa carte");
|
||||||
final URL fxmlURL = getClass().getResource("/ihm/ressources/afficher_carte_perso.fxml");
|
final URL fxmlURL = getClass().getResource("/ihm/ressources/afficher_carte_perso.fxml");
|
||||||
final ResourceBundle bundle = ResourceBundle.getBundle("domaine.properties.langue", Locale.FRANCE);
|
final ResourceBundle bundle = ResourceBundle.getBundle("domaine.properties.langue", ParametreController.LaLangue);
|
||||||
final FXMLLoader fxmlLoader = new FXMLLoader(fxmlURL, bundle);
|
final FXMLLoader fxmlLoader = new FXMLLoader(fxmlURL, bundle);
|
||||||
Parent root = fxmlLoader.load();
|
Parent root = fxmlLoader.load();
|
||||||
|
|
||||||
|
|
||||||
AfficherCarteController acc = fxmlLoader.getController();
|
AfficherCarteController acc = fxmlLoader.getController();
|
||||||
acc.showInformation(listJoueur.get(numJoueur));
|
acc.showInformation(listJoueur.get(numJoueur));
|
||||||
|
|
||||||
@ -269,7 +267,7 @@ public class PlateauController implements Initializable {
|
|||||||
|
|
||||||
public void afficherChoisir(Joueur j, Contexte contexte) throws IOException {
|
public void afficherChoisir(Joueur j, Contexte contexte) throws IOException {
|
||||||
final URL fxmlURL = getClass().getResource("/ihm/ressources/choisirBoolean.fxml");
|
final URL fxmlURL = getClass().getResource("/ihm/ressources/choisirBoolean.fxml");
|
||||||
final ResourceBundle bundle = ResourceBundle.getBundle("domaine.properties.langue", Locale.FRANCE);
|
final ResourceBundle bundle = ResourceBundle.getBundle("domaine.properties.langue", ParametreController.LaLangue);
|
||||||
final FXMLLoader fxmlLoader = new FXMLLoader(fxmlURL, bundle);
|
final FXMLLoader fxmlLoader = new FXMLLoader(fxmlURL, bundle);
|
||||||
Pane root = (Pane) fxmlLoader.load();
|
Pane root = (Pane) fxmlLoader.load();
|
||||||
this.cb = fxmlLoader.getController();
|
this.cb = fxmlLoader.getController();
|
||||||
@ -283,7 +281,8 @@ public class PlateauController implements Initializable {
|
|||||||
cb.fireBtnIAattaquer((JoueurVirtuel) j, j.getJoueursRange());
|
cb.fireBtnIAattaquer((JoueurVirtuel) j, j.getJoueursRange());
|
||||||
break;
|
break;
|
||||||
case CHOISIR_VISION:
|
case CHOISIR_VISION:
|
||||||
cb.fireBtnIAVision();;
|
cb.fireBtnIAVision();
|
||||||
|
;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -291,15 +290,16 @@ public class PlateauController implements Initializable {
|
|||||||
jihm.setZoneJoueur(root);
|
jihm.setZoneJoueur(root);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public void afficherChoisirEquipementVole(Joueur j, List<CarteEquipement> lce) throws IOException {
|
public void afficherChoisirEquipementVole(Joueur j, List<CarteEquipement> lce) throws IOException {
|
||||||
final URL fxmlURL = getClass().getResource("/ihm/ressources/Jouer_tour(2a)voler_equipement.fxml");
|
final URL fxmlURL = getClass().getResource("/ihm/ressources/Jouer_tour(2a)voler_equipement.fxml");
|
||||||
final ResourceBundle bundle = ResourceBundle.getBundle("domaine.properties.langue", Locale.FRANCE);
|
final ResourceBundle bundle = ResourceBundle.getBundle("domaine.properties.langue", ParametreController.LaLangue);
|
||||||
final FXMLLoader fxmlLoader = new FXMLLoader(fxmlURL, bundle);
|
final FXMLLoader fxmlLoader = new FXMLLoader(fxmlURL, bundle);
|
||||||
Pane root = (Pane) fxmlLoader.load();
|
Pane root = (Pane) fxmlLoader.load();
|
||||||
this.ce = fxmlLoader.getController();
|
this.ce = fxmlLoader.getController();
|
||||||
this.ce.setListCarteEquipements(lce);
|
this.ce.setListCarteEquipements(lce);
|
||||||
this.ce.initChoisirEquipement();
|
this.ce.initChoisirEquipement();
|
||||||
|
if (j instanceof JoueurVirtuel)
|
||||||
|
this.ce.fireBtnIA((JoueurVirtuel) j, Contexte.VOLER_EQUIP);
|
||||||
JoueurIHM jihm = getJoueurIHM(j);
|
JoueurIHM jihm = getJoueurIHM(j);
|
||||||
jihm.setZoneJoueur(root);
|
jihm.setZoneJoueur(root);
|
||||||
}
|
}
|
||||||
@ -307,13 +307,12 @@ public class PlateauController implements Initializable {
|
|||||||
public void afficherAlterationVie(Joueur j, int valeur) throws IOException, InterruptedException {
|
public void afficherAlterationVie(Joueur j, int valeur) throws IOException, InterruptedException {
|
||||||
|
|
||||||
final URL fxmlURL = getClass().getResource("/ihm/ressources/AlterationVieZJ.fxml");
|
final URL fxmlURL = getClass().getResource("/ihm/ressources/AlterationVieZJ.fxml");
|
||||||
final ResourceBundle bundle = ResourceBundle.getBundle("domaine.properties.langue", Locale.FRANCE);
|
final ResourceBundle bundle = ResourceBundle.getBundle("domaine.properties.langue", ParametreController.LaLangue);
|
||||||
final FXMLLoader fxmlLoader = new FXMLLoader(fxmlURL, bundle);
|
final FXMLLoader fxmlLoader = new FXMLLoader(fxmlURL, bundle);
|
||||||
Pane root = (Pane) fxmlLoader.load();
|
Pane root = (Pane) fxmlLoader.load();
|
||||||
AlterationVieZJ avzj = fxmlLoader.getController();
|
AlterationVieZJ avzj = fxmlLoader.getController();
|
||||||
avzj.changeLabel(valeur);
|
avzj.changeLabel(valeur);
|
||||||
|
|
||||||
|
|
||||||
JoueurIHM jihm = getJoueurIHM(j);
|
JoueurIHM jihm = getJoueurIHM(j);
|
||||||
Pane p = (Pane) jihm.getZoneJoueur();
|
Pane p = (Pane) jihm.getZoneJoueur();
|
||||||
Pane pane = new Pane();
|
Pane pane = new Pane();
|
||||||
@ -325,9 +324,7 @@ public class PlateauController implements Initializable {
|
|||||||
|
|
||||||
jihm.setZoneJoueur(root);
|
jihm.setZoneJoueur(root);
|
||||||
Pane pp = pane;
|
Pane pp = pane;
|
||||||
Timeline timeline = new Timeline(new KeyFrame(
|
Timeline timeline = new Timeline(new KeyFrame(Duration.millis(1000), ae -> {
|
||||||
Duration.millis(1000),
|
|
||||||
ae -> {
|
|
||||||
|
|
||||||
jihm.resetZoneJoueur();
|
jihm.resetZoneJoueur();
|
||||||
jihm.setZoneJoueur(pp);
|
jihm.setZoneJoueur(pp);
|
||||||
@ -339,12 +336,13 @@ public class PlateauController implements Initializable {
|
|||||||
public void afficherLieu(Joueur j) throws IOException {
|
public void afficherLieu(Joueur j) throws IOException {
|
||||||
|
|
||||||
final URL fxmlURL = getClass().getResource("/ihm/ressources/LieuZJ.fxml");
|
final URL fxmlURL = getClass().getResource("/ihm/ressources/LieuZJ.fxml");
|
||||||
final ResourceBundle bundle = ResourceBundle.getBundle("domaine.properties.langue", Locale.FRANCE);
|
final ResourceBundle bundle = ResourceBundle.getBundle("domaine.properties.langue", ParametreController.LaLangue);
|
||||||
final FXMLLoader fxmlLoader = new FXMLLoader(fxmlURL, bundle);
|
final FXMLLoader fxmlLoader = new FXMLLoader(fxmlURL, bundle);
|
||||||
Pane root = (Pane) fxmlLoader.load();
|
Pane root = (Pane) fxmlLoader.load();
|
||||||
LieuZJ lzj = fxmlLoader.getController();
|
LieuZJ lzj = fxmlLoader.getController();
|
||||||
lzj.setImageView(this.getImageCarte(j.getCarteLieu()));
|
lzj.setImageView(this.getImageCarte(j.getCarteLieu()));
|
||||||
if(j instanceof JoueurVirtuel) lzj.fireBtnIA();
|
if (j instanceof JoueurVirtuel)
|
||||||
|
lzj.fireBtnIA();
|
||||||
JoueurIHM jihm = getJoueurIHM(j);
|
JoueurIHM jihm = getJoueurIHM(j);
|
||||||
if (jihm.getPosition() == 4 || jihm.getPosition() == 5) {
|
if (jihm.getPosition() == 4 || jihm.getPosition() == 5) {
|
||||||
SplitPane s = (SplitPane) root.getChildren().get(0);
|
SplitPane s = (SplitPane) root.getChildren().get(0);
|
||||||
@ -360,9 +358,10 @@ public class PlateauController implements Initializable {
|
|||||||
|
|
||||||
jihm.setZoneJoueur(root);
|
jihm.setZoneJoueur(root);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void afficherChoisirJoueur(Joueur j, List<Joueur> joueurs, Contexte contexte) throws IOException {
|
public void afficherChoisirJoueur(Joueur j, List<Joueur> joueurs, Contexte contexte) throws IOException {
|
||||||
final URL fxmlURL = getClass().getResource("/ihm/ressources/choixJoueurAttq.fxml");
|
final URL fxmlURL = getClass().getResource("/ihm/ressources/choixJoueurAttq.fxml");
|
||||||
final ResourceBundle bundle = ResourceBundle.getBundle("domaine.properties.langue", Locale.FRANCE);
|
final ResourceBundle bundle = ResourceBundle.getBundle("domaine.properties.langue", ParametreController.LaLangue);
|
||||||
final FXMLLoader fxmlLoader = new FXMLLoader(fxmlURL, bundle);
|
final FXMLLoader fxmlLoader = new FXMLLoader(fxmlURL, bundle);
|
||||||
Pane root = (Pane) fxmlLoader.load();
|
Pane root = (Pane) fxmlLoader.load();
|
||||||
|
|
||||||
@ -377,6 +376,7 @@ public class PlateauController implements Initializable {
|
|||||||
JoueurIHM jihm = getJoueurIHM(j);
|
JoueurIHM jihm = getJoueurIHM(j);
|
||||||
jihm.setZoneJoueur(root);
|
jihm.setZoneJoueur(root);
|
||||||
}
|
}
|
||||||
|
|
||||||
private List<JoueurIHM> toJoueursIHM(List<Joueur> joueurs) {
|
private List<JoueurIHM> toJoueursIHM(List<Joueur> joueurs) {
|
||||||
|
|
||||||
List<JoueurIHM> list = new ArrayList<JoueurIHM>();
|
List<JoueurIHM> list = new ArrayList<JoueurIHM>();
|
||||||
@ -388,28 +388,36 @@ public class PlateauController implements Initializable {
|
|||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public void afficherPiocher(Joueur j) throws IOException {
|
public void afficherPiocher(Joueur j) throws IOException {
|
||||||
|
|
||||||
final URL fxmlURL = getClass().getResource("/ihm/ressources/Jouer_tour(2b)piocher_carte.fxml");
|
final URL fxmlURL = getClass().getResource("/ihm/ressources/Jouer_tour(2b)piocher_carte.fxml");
|
||||||
final ResourceBundle bundle = ResourceBundle.getBundle("domaine.properties.langue", Locale.FRANCE);
|
final ResourceBundle bundle = ResourceBundle.getBundle("domaine.properties.langue", ParametreController.LaLangue);
|
||||||
final FXMLLoader fxmlLoader = new FXMLLoader(fxmlURL, bundle);
|
final FXMLLoader fxmlLoader = new FXMLLoader(fxmlURL, bundle);
|
||||||
|
|
||||||
Pane root = (Pane)fxmlLoader.load();
|
Pane root = (Pane)fxmlLoader.load();
|
||||||
//CartePiochable lzj = fxmlLoader.getController();
|
|
||||||
//lzj.setImageView(this.getImageCarte(j.getCarteLieu()));
|
|
||||||
JoueurIHM jihm = getJoueurIHM(j);
|
JoueurIHM jihm = getJoueurIHM(j);
|
||||||
jihm.setZoneJoueur(root);
|
jihm.setZoneJoueur(root);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void afficherEffet(Joueur j) throws IOException {
|
public void afficherEffet(Joueur j) throws IOException {
|
||||||
|
|
||||||
final URL fxmlURL = getClass().getResource("/ihm/ressources/Jouer_tour(2b)piocher_carte.fxml");
|
final URL fxmlURL = getClass().getResource("/ihm/ressources/Jouer_tour(2b)piocher_carte.fxml");
|
||||||
|
final ResourceBundle bundle = ResourceBundle.getBundle("domaine.properties.langue", ParametreController.LaLangue);
|
||||||
|
final FXMLLoader fxmlLoader = new FXMLLoader(fxmlURL, bundle);
|
||||||
|
Pane root = (Pane)fxmlLoader.load();
|
||||||
|
|
||||||
|
JoueurIHM jihm = getJoueurIHM(j);
|
||||||
|
jihm.setZoneJoueur(root);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void afficherFinDePartie(List<Joueur> listeJoueursGagnants) throws IOException {
|
||||||
|
|
||||||
|
final URL fxmlURL = getClass().getResource("/ihm/ressources/Fin_De_Partie.fxml");
|
||||||
final ResourceBundle bundle = ResourceBundle.getBundle("domaine.properties.langue", Locale.FRANCE);
|
final ResourceBundle bundle = ResourceBundle.getBundle("domaine.properties.langue", Locale.FRANCE);
|
||||||
final FXMLLoader fxmlLoader = new FXMLLoader(fxmlURL, bundle);
|
final FXMLLoader fxmlLoader = new FXMLLoader(fxmlURL, bundle);
|
||||||
Pane root = (Pane)fxmlLoader.load();
|
Pane root = (Pane)fxmlLoader.load();
|
||||||
//CartePiochable lzj = fxmlLoader.getController();
|
|
||||||
//lzj.setImageView(this.getImageCarte(j.getCarteLieu()));
|
FinDePartieControlleur.listeWinner = listeJoueursGagnants;
|
||||||
JoueurIHM jihm = getJoueurIHM(j);
|
|
||||||
jihm.setZoneJoueur(root);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public CarteEquipement getChoixEquipementVole(Joueur joueur) {
|
public CarteEquipement getChoixEquipementVole(Joueur joueur) {
|
||||||
@ -427,6 +435,7 @@ public void afficherEffet(Joueur j) throws IOException {
|
|||||||
jihm.getZoneJoueur().getChildren().setAll();
|
jihm.getZoneJoueur().getChildren().setAll();
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Joueur getChoixJoueur(Joueur joueur) {
|
public Joueur getChoixJoueur(Joueur joueur) {
|
||||||
JoueurIHM jihm = getJoueurIHM(joueur);
|
JoueurIHM jihm = getJoueurIHM(joueur);
|
||||||
JoueurIHM result = this.cj.getJoueurSelected();
|
JoueurIHM result = this.cj.getJoueurSelected();
|
||||||
@ -434,6 +443,7 @@ public void afficherEffet(Joueur j) throws IOException {
|
|||||||
jihm.getZoneJoueur().getChildren().setAll();
|
jihm.getZoneJoueur().getChildren().setAll();
|
||||||
return result.getJoueur();
|
return result.getJoueur();
|
||||||
}
|
}
|
||||||
|
|
||||||
public Type getChoixCarte(Joueur joueur) {
|
public Type getChoixCarte(Joueur joueur) {
|
||||||
JoueurIHM jihm = getJoueurIHM(joueur);
|
JoueurIHM jihm = getJoueurIHM(joueur);
|
||||||
Type result = this.pc.getCarte();
|
Type result = this.pc.getCarte();
|
||||||
@ -450,7 +460,6 @@ public void afficherEffet(Joueur j) throws IOException {
|
|||||||
|
|
||||||
public void updateVieJoueur(Joueur joueur, int damage) {
|
public void updateVieJoueur(Joueur joueur, int damage) {
|
||||||
JoueurIHM jIHM = getJoueurIHM(joueur);
|
JoueurIHM jIHM = getJoueurIHM(joueur);
|
||||||
jIHM.getZoneJoueur().getChildren().setAll();
|
|
||||||
jIHM.deplacerPionVie(damage);
|
jIHM.deplacerPionVie(damage);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -462,7 +471,7 @@ public void afficherEffet(Joueur j) throws IOException {
|
|||||||
|
|
||||||
System.out.println("Jeu en pause ...");
|
System.out.println("Jeu en pause ...");
|
||||||
final URL fxmlURL = getClass().getResource("/ihm/ressources/Pause.fxml");
|
final URL fxmlURL = getClass().getResource("/ihm/ressources/Pause.fxml");
|
||||||
final ResourceBundle bundle = ResourceBundle.getBundle("domaine.properties.langue", Locale.FRANCE);
|
final ResourceBundle bundle = ResourceBundle.getBundle("domaine.properties.langue", ParametreController.LaLangue);
|
||||||
final FXMLLoader fxmlLoader = new FXMLLoader(fxmlURL, bundle);
|
final FXMLLoader fxmlLoader = new FXMLLoader(fxmlURL, bundle);
|
||||||
Pane root = (Pane) fxmlLoader.load();
|
Pane root = (Pane) fxmlLoader.load();
|
||||||
|
|
||||||
@ -470,7 +479,6 @@ public void afficherEffet(Joueur j) throws IOException {
|
|||||||
pu.display();
|
pu.display();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public static Image getImageCarte(Carte carte) {
|
public static Image getImageCarte(Carte carte) {
|
||||||
BufferedImage bi = mapRessourcesCartes.get(carte);
|
BufferedImage bi = mapRessourcesCartes.get(carte);
|
||||||
return RessourceLoader.toJavaFX(bi);
|
return RessourceLoader.toJavaFX(bi);
|
||||||
@ -481,13 +489,11 @@ public void afficherEffet(Joueur j) throws IOException {
|
|||||||
return RessourceLoader.toJavaFX(bi);
|
return RessourceLoader.toJavaFX(bi);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public void ajouterEquipement(Joueur j, CarteEquipement e) {
|
public void ajouterEquipement(Joueur j, CarteEquipement e) {
|
||||||
JoueurIHM jihm = getJoueurIHM(j);
|
JoueurIHM jihm = getJoueurIHM(j);
|
||||||
jihm.ajouterEquipement(e);
|
jihm.ajouterEquipement(e);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public void retirerEquipement(Joueur j, CarteEquipement e) {
|
public void retirerEquipement(Joueur j, CarteEquipement e) {
|
||||||
JoueurIHM jihm = getJoueurIHM(j);
|
JoueurIHM jihm = getJoueurIHM(j);
|
||||||
jihm.retirerEquipement(e);
|
jihm.retirerEquipement(e);
|
||||||
@ -495,7 +501,7 @@ public void afficherEffet(Joueur j) throws IOException {
|
|||||||
|
|
||||||
public void close() throws IOException {
|
public void close() throws IOException {
|
||||||
final URL fxmlURL = PlateauController.class.getResource("/ihm/ressources/Menu.fxml");
|
final URL fxmlURL = PlateauController.class.getResource("/ihm/ressources/Menu.fxml");
|
||||||
final ResourceBundle bundle = ResourceBundle.getBundle("domaine.properties.langue", Locale.FRANCE);
|
final ResourceBundle bundle = ResourceBundle.getBundle("domaine.properties.langue", ParametreController.LaLangue);
|
||||||
final FXMLLoader fxmlLoader = new FXMLLoader(fxmlURL, bundle);
|
final FXMLLoader fxmlLoader = new FXMLLoader(fxmlURL, bundle);
|
||||||
Pane pane = fxmlLoader.load();
|
Pane pane = fxmlLoader.load();
|
||||||
rootPane.getChildren().setAll(pane);
|
rootPane.getChildren().setAll(pane);
|
||||||
@ -526,15 +532,17 @@ public void afficherEffet(Joueur j) throws IOException {
|
|||||||
public void afficherVision(Joueur j, CartePiochable cartePiochable) throws IOException {
|
public void afficherVision(Joueur j, CartePiochable cartePiochable) throws IOException {
|
||||||
|
|
||||||
final URL fxmlURL = getClass().getResource("/ihm/ressources/RecevoirCarte.fxml");
|
final URL fxmlURL = getClass().getResource("/ihm/ressources/RecevoirCarte.fxml");
|
||||||
final ResourceBundle bundle = ResourceBundle.getBundle("domaine.properties.langue", Locale.FRANCE);
|
final ResourceBundle bundle = ResourceBundle.getBundle("domaine.properties.langue", ParametreController.LaLangue);
|
||||||
final FXMLLoader fxmlLoader = new FXMLLoader(fxmlURL, bundle);
|
final FXMLLoader fxmlLoader = new FXMLLoader(fxmlURL, bundle);
|
||||||
Pane root = (Pane) fxmlLoader.load();
|
Pane root = (Pane) fxmlLoader.load();
|
||||||
RecevoirCarte lzj = fxmlLoader.getController();
|
RecevoirCarte lzj = fxmlLoader.getController();
|
||||||
Image im = getImageCarte(cartePiochable);
|
Image im = getImageCarte(cartePiochable);
|
||||||
lzj.setImageView(im);
|
lzj.setImageView(im);
|
||||||
lzj.setText("Cachez la carte vision");
|
lzj.setText("Cachez la carte vision");
|
||||||
if(j instanceof JoueurVirtuel) lzj.fireBtnIA();
|
if (j instanceof JoueurVirtuel)
|
||||||
|
lzj.fireBtnIA();
|
||||||
JoueurIHM jihm = getJoueurIHM(j);
|
JoueurIHM jihm = getJoueurIHM(j);
|
||||||
|
|
||||||
if(jihm.getPosition()==4 || jihm.getPosition()==5) {
|
if(jihm.getPosition()==4 || jihm.getPosition()==5) {
|
||||||
SplitPane s=(SplitPane)root.getChildren().get(0);
|
SplitPane s=(SplitPane)root.getChildren().get(0);
|
||||||
AnchorPane a=(AnchorPane)s.getItems().get(0);
|
AnchorPane a=(AnchorPane)s.getItems().get(0);
|
||||||
@ -548,58 +556,70 @@ public void afficherEffet(Joueur j) throws IOException {
|
|||||||
}
|
}
|
||||||
jihm.getZoneJoueur();
|
jihm.getZoneJoueur();
|
||||||
jihm.setZoneJoueur(root);
|
jihm.setZoneJoueur(root);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public Map<String, BufferedImage> getMapRessourcesDosCartes() {
|
public Map<String, BufferedImage> getMapRessourcesDosCartes() {
|
||||||
|
|
||||||
return mapRessourcesDosCartes;
|
return mapRessourcesDosCartes;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public void setMapRessourcesDosCartes(Map<String, BufferedImage> mapRessourcesDosCartes) {
|
public void setMapRessourcesDosCartes(Map<String, BufferedImage> mapRessourcesDosCartes) {
|
||||||
this.mapRessourcesDosCartes = mapRessourcesDosCartes;
|
this.mapRessourcesDosCartes = mapRessourcesDosCartes;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private Action choixAction;
|
private Action choixAction;
|
||||||
|
|
||||||
public void afficherChoisirAction(Joueur joueur, List<Action> list) {
|
public void afficherChoisirAction(Joueur joueur, List<Action> list) {
|
||||||
|
|
||||||
final URL fxmlURL = getClass().getResource("/ihm/ressources/ChoisirAction.fxml");
|
|
||||||
final ResourceBundle bundle = ResourceBundle.getBundle("domaine.properties.langue", Locale.FRANCE);
|
|
||||||
final FXMLLoader fxmlLoader = new FXMLLoader(fxmlURL, bundle);
|
|
||||||
|
|
||||||
List<Button> buttons = new ArrayList<Button>();
|
List<Button> buttons = new ArrayList<Button>();
|
||||||
|
|
||||||
for (Action a : list) {
|
for (Action a : list) {
|
||||||
Button button = interpret(a);
|
Button button = interpret(a);
|
||||||
buttons.add(button);
|
buttons.add(button);
|
||||||
button.setOnAction(x -> {
|
button.setOnAction(x -> {
|
||||||
|
|
||||||
this.choixAction = a;
|
this.choixAction = a;
|
||||||
GestionnaireJeu.notifyPlateau();
|
GestionnaireJeu.notifyPlateau();
|
||||||
});
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
VBox v = new VBox();
|
VBox v = new VBox();
|
||||||
v.getChildren().addAll(buttons);
|
v.getChildren().addAll(buttons);
|
||||||
|
v.setAlignment(Pos.CENTER);
|
||||||
|
v.setSpacing(20.0);
|
||||||
JoueurIHM jihm = getJoueurIHM(joueur);
|
JoueurIHM jihm = getJoueurIHM(joueur);
|
||||||
jihm.setZoneJoueur(v);
|
jihm.setZoneJoueur(v);
|
||||||
|
|
||||||
|
if (joueur instanceof JoueurVirtuel) {
|
||||||
|
for (Button b : buttons)
|
||||||
|
b.setDisable(true);
|
||||||
|
Timeline timeline = new Timeline(new KeyFrame(Duration.millis(2000), ae -> {
|
||||||
|
Button bchoisi = ((JoueurVirtuel)joueur).choisirEffet(buttons);
|
||||||
|
bchoisi.setDisable(false);
|
||||||
|
bchoisi.fire();
|
||||||
|
}));
|
||||||
|
timeline.play();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public Action getChoixAction(Joueur joueur) {
|
public Action getChoixAction(Joueur joueur) {
|
||||||
return this.choixAction;
|
return this.choixAction;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private Button interpret(Action a) {
|
private Button interpret(Action a) {
|
||||||
|
|
||||||
|
String styles = "-fx-border-color: #e2e2e2;" + "-fx-border-width: 2;" + "-fx-background-radius: 0;"
|
||||||
|
+ "-fx-background-color: #1d1d1d;" + "-fx-text-fill: #d8d8d8;"
|
||||||
|
+ "-fx-background-insets: 0 0 0 0, 0, 1, 2;";
|
||||||
|
|
||||||
String s = a.toString();
|
String s = a.toString();
|
||||||
Button b = new Button(s);
|
Button b = new Button(s);
|
||||||
|
b.setStyle(styles);
|
||||||
return b;
|
return b;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public void revealJoueur(Joueur joueur) {
|
public void revealJoueur(Joueur joueur) {
|
||||||
JoueurIHM jihm = getJoueurIHM(joueur);
|
JoueurIHM jihm = getJoueurIHM(joueur);
|
||||||
jihm.reveler();
|
jihm.reveler();
|
||||||
|
@ -40,7 +40,7 @@ public class PlateauControllerTest implements Initializable {
|
|||||||
Pane p;
|
Pane p;
|
||||||
try {
|
try {
|
||||||
final URL fxmlURL = getClass().getResource("/ihm/ressources/MenuJoueur.fxml");
|
final URL fxmlURL = getClass().getResource("/ihm/ressources/MenuJoueur.fxml");
|
||||||
final ResourceBundle bundle = ResourceBundle.getBundle("domaine.properties.langue", Locale.ENGLISH);
|
final ResourceBundle bundle = ResourceBundle.getBundle("domaine.properties.langue", ParametreController.LaLangue);
|
||||||
final FXMLLoader fxmlLoader = new FXMLLoader(fxmlURL, bundle);
|
final FXMLLoader fxmlLoader = new FXMLLoader(fxmlURL, bundle);
|
||||||
|
|
||||||
p = fxmlLoader.load();
|
p = fxmlLoader.load();
|
||||||
@ -165,7 +165,7 @@ public class PlateauControllerTest implements Initializable {
|
|||||||
public boolean choisir(Joueur j) throws IOException {
|
public boolean choisir(Joueur j) throws IOException {
|
||||||
|
|
||||||
final URL fxmlURL = getClass().getResource("/ihm/ressources/choisirBoolean.fxml");
|
final URL fxmlURL = getClass().getResource("/ihm/ressources/choisirBoolean.fxml");
|
||||||
final ResourceBundle bundle = ResourceBundle.getBundle("domaine.properties.langue", Locale.ENGLISH);
|
final ResourceBundle bundle = ResourceBundle.getBundle("domaine.properties.langue", ParametreController.LaLangue);
|
||||||
final FXMLLoader fxmlLoader = new FXMLLoader(fxmlURL, bundle);
|
final FXMLLoader fxmlLoader = new FXMLLoader(fxmlURL, bundle);
|
||||||
|
|
||||||
Parent root = fxmlLoader.load();
|
Parent root = fxmlLoader.load();
|
||||||
|
@ -209,7 +209,7 @@ public class PlayersController implements Initializable{
|
|||||||
gj.setConfiguration(new Configuration(this.joueurs));
|
gj.setConfiguration(new Configuration(this.joueurs));
|
||||||
|
|
||||||
final URL fxmlURL = getClass().getResource("/ihm/ressources/PlateauTest2.fxml");
|
final URL fxmlURL = getClass().getResource("/ihm/ressources/PlateauTest2.fxml");
|
||||||
final ResourceBundle bundle = ResourceBundle.getBundle("domaine.properties.langue", Locale.FRENCH);
|
final ResourceBundle bundle = ResourceBundle.getBundle("domaine.properties.langue", ParametreController.LaLangue);
|
||||||
final FXMLLoader fxmlLoader = new FXMLLoader(fxmlURL, bundle);
|
final FXMLLoader fxmlLoader = new FXMLLoader(fxmlURL, bundle);
|
||||||
AnchorPane root = fxmlLoader.load();
|
AnchorPane root = fxmlLoader.load();
|
||||||
PlateauController pc = fxmlLoader.getController();
|
PlateauController pc = fxmlLoader.getController();
|
||||||
@ -263,9 +263,11 @@ public class PlayersController implements Initializable{
|
|||||||
listeIaLv2.get(indice).setVisible(true);
|
listeIaLv2.get(indice).setVisible(true);
|
||||||
listeIaLv3.get(indice).setVisible(true);
|
listeIaLv3.get(indice).setVisible(true);
|
||||||
|
|
||||||
|
plus.get(indice).setDisable(true);
|
||||||
|
|
||||||
nbJoueursV++;
|
nbJoueursV++;
|
||||||
}else {
|
}else {
|
||||||
|
ia.get(indice).setVisible(false);
|
||||||
nbJoueursH++;
|
nbJoueursH++;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -299,7 +301,8 @@ public class PlayersController implements Initializable{
|
|||||||
nbJoueursH--;
|
nbJoueursH--;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ia.get(indice).setVisible(true);
|
||||||
|
plus.get(indice).setDisable(false);
|
||||||
listeIaLv1.get(indice).setVisible(false);
|
listeIaLv1.get(indice).setVisible(false);
|
||||||
listeIaLv2.get(indice).setVisible(false);
|
listeIaLv2.get(indice).setVisible(false);
|
||||||
listeIaLv3.get(indice).setVisible(false);
|
listeIaLv3.get(indice).setVisible(false);
|
||||||
@ -376,7 +379,7 @@ public class PlayersController implements Initializable{
|
|||||||
EffetSonore.playSoundEffect(fileSound1);
|
EffetSonore.playSoundEffect(fileSound1);
|
||||||
|
|
||||||
final URL fxmlURL = getClass().getResource("/ihm/ressources/Menu.fxml");
|
final URL fxmlURL = getClass().getResource("/ihm/ressources/Menu.fxml");
|
||||||
final ResourceBundle bundle = ResourceBundle.getBundle("domaine.properties.langue", Locale.FRANCE);
|
final ResourceBundle bundle = ResourceBundle.getBundle("domaine.properties.langue", ParametreController.LaLangue);
|
||||||
|
|
||||||
final FXMLLoader fxmlLoader = new FXMLLoader(fxmlURL, bundle);
|
final FXMLLoader fxmlLoader = new FXMLLoader(fxmlURL, bundle);
|
||||||
Pane pane = fxmlLoader.load();
|
Pane pane = fxmlLoader.load();
|
||||||
|
@ -100,7 +100,7 @@ public class ReglesControlleur implements Initializable {
|
|||||||
EffetSonore.playSoundEffect(fileSound1);
|
EffetSonore.playSoundEffect(fileSound1);
|
||||||
System.out.println("Retour au Menu");
|
System.out.println("Retour au Menu");
|
||||||
final URL fxmlURL = getClass().getResource("/ihm/ressources/Menu.fxml");
|
final URL fxmlURL = getClass().getResource("/ihm/ressources/Menu.fxml");
|
||||||
final ResourceBundle bundle = ResourceBundle.getBundle("domaine.properties.langue", Locale.FRANCE);
|
final ResourceBundle bundle = ResourceBundle.getBundle("domaine.properties.langue", ParametreController.LaLangue);
|
||||||
final FXMLLoader fxmlLoader = new FXMLLoader(fxmlURL, bundle);
|
final FXMLLoader fxmlLoader = new FXMLLoader(fxmlURL, bundle);
|
||||||
AnchorPane pane = fxmlLoader.load();
|
AnchorPane pane = fxmlLoader.load();
|
||||||
Scene scene = new Scene(pane);
|
Scene scene = new Scene(pane);
|
||||||
|
@ -29,7 +29,7 @@ public class ScrollPaneJoueurController implements Initializable{
|
|||||||
public void changeZoneJoueurToMenuJoueur(MouseEvent me) throws IOException {
|
public void changeZoneJoueurToMenuJoueur(MouseEvent me) throws IOException {
|
||||||
|
|
||||||
final URL fxmlURL = getClass().getResource("/ihm/ressources/MenuJoueur.fxml");
|
final URL fxmlURL = getClass().getResource("/ihm/ressources/MenuJoueur.fxml");
|
||||||
final ResourceBundle bundle = ResourceBundle.getBundle("domaine.properties.langue", Locale.FRENCH);
|
final ResourceBundle bundle = ResourceBundle.getBundle("domaine.properties.langue", ParametreController.LaLangue);
|
||||||
final FXMLLoader fxmlLoader = new FXMLLoader(fxmlURL, bundle);
|
final FXMLLoader fxmlLoader = new FXMLLoader(fxmlURL, bundle);
|
||||||
BorderPane bp = fxmlLoader.load();
|
BorderPane bp = fxmlLoader.load();
|
||||||
ImageView iv = ((ImageView)me.getSource());
|
ImageView iv = ((ImageView)me.getSource());
|
||||||
|
40
src/ihm/ressources/Fin_De_Partie.fxml
Normal file
40
src/ihm/ressources/Fin_De_Partie.fxml
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
|
||||||
|
<?import javafx.geometry.Insets?>
|
||||||
|
<?import javafx.scene.control.Label?>
|
||||||
|
<?import javafx.scene.layout.Pane?>
|
||||||
|
<?import javafx.scene.layout.VBox?>
|
||||||
|
<?import javafx.scene.text.Font?>
|
||||||
|
|
||||||
|
<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>
|
||||||
|
<Label alignment="CENTER" contentDisplay="CENTER" prefWidth="346.0" styleClass="titre" text="FIN DE PARTIE">
|
||||||
|
<font>
|
||||||
|
<Font size="36.0" />
|
||||||
|
</font>
|
||||||
|
<padding>
|
||||||
|
<Insets top="50.0" />
|
||||||
|
</padding>
|
||||||
|
</Label>
|
||||||
|
<Label alignment="CENTER" contentDisplay="CENTER" prefHeight="54.0" prefWidth="386.0" styleClass="titre" text="La victoire appartient à:" textAlignment="CENTER">
|
||||||
|
<font>
|
||||||
|
<Font size="36.0" />
|
||||||
|
</font>
|
||||||
|
<VBox.margin>
|
||||||
|
<Insets top="25.0" />
|
||||||
|
</VBox.margin>
|
||||||
|
</Label>
|
||||||
|
<Label fx:id="labelWinner" alignment="CENTER" contentDisplay="CENTER" styleClass="titre" text="(nom des gagnants)" textAlignment="CENTER">
|
||||||
|
<font>
|
||||||
|
<Font size="36.0" />
|
||||||
|
</font>
|
||||||
|
<padding>
|
||||||
|
<Insets top="40.0" />
|
||||||
|
</padding>
|
||||||
|
</Label>
|
||||||
|
</children>
|
||||||
|
</VBox>
|
||||||
|
</children>
|
||||||
|
</Pane>
|
@ -35,7 +35,7 @@
|
|||||||
<Font size="48.0" />
|
<Font size="48.0" />
|
||||||
</font>
|
</font>
|
||||||
</Label>
|
</Label>
|
||||||
<Button fx:id="btnStop" layoutX="101.0" layoutY="140.0" mnemonicParsing="false" text="Stop">
|
<Button fx:id="btnStop" layoutX="101.0" layoutY="140.0" mnemonicParsing="false" text="%stop">
|
||||||
<font>
|
<font>
|
||||||
<Font size="14.0" />
|
<Font size="14.0" />
|
||||||
</font>
|
</font>
|
||||||
|
@ -78,7 +78,7 @@
|
|||||||
</Button>
|
</Button>
|
||||||
</children>
|
</children>
|
||||||
</HBox>
|
</HBox>
|
||||||
<Label fx:id="titre" layoutX="9.0" layoutY="82.0" text="Choisir un joueur à qui donner la carte vision" />
|
<Label fx:id="titre" layoutX="9.0" layoutY="82.0" text="%choisir.jouer.a.qui.donner.vision" />
|
||||||
</children>
|
</children>
|
||||||
</Pane>
|
</Pane>
|
||||||
</children>
|
</children>
|
||||||
|
@ -6,12 +6,11 @@
|
|||||||
<?import javafx.scene.layout.HBox?>
|
<?import javafx.scene.layout.HBox?>
|
||||||
<?import javafx.scene.layout.Pane?>
|
<?import javafx.scene.layout.Pane?>
|
||||||
|
|
||||||
|
|
||||||
<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">
|
<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">
|
||||||
<children>
|
<children>
|
||||||
<Pane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="180.0" prefWidth="255.0" stylesheets="@style/popUp.css">
|
<Pane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="180.0" prefWidth="255.0" stylesheets="@style/popUp.css">
|
||||||
<children>
|
<children>
|
||||||
<Label contentDisplay="CENTER" layoutX="77.0" layoutY="90.0" prefHeight="27.0" prefWidth="102.0" text="Il ne se passe rien." textAlignment="CENTER" />
|
<Label contentDisplay="CENTER" layoutX="77.0" layoutY="90.0" prefHeight="27.0" prefWidth="102.0" text="%se.passe.rien" textAlignment="CENTER" />
|
||||||
<HBox alignment="CENTER" layoutY="62.0" prefHeight="21.0" prefWidth="255.0">
|
<HBox alignment="CENTER" layoutY="62.0" prefHeight="21.0" prefWidth="255.0">
|
||||||
<children>
|
<children>
|
||||||
<Label text="%joueur" />
|
<Label text="%joueur" />
|
||||||
|
@ -11,7 +11,7 @@
|
|||||||
<children>
|
<children>
|
||||||
<Label fx:id="Titre" layoutX="9.0" layoutY="32.0" text="%attaquer.ou.soigner" />
|
<Label fx:id="Titre" layoutX="9.0" layoutY="32.0" text="%attaquer.ou.soigner" />
|
||||||
<Button fx:id="nonButton" layoutX="142.0" layoutY="119.0" mnemonicParsing="false" text="%se.soigner" />
|
<Button fx:id="nonButton" layoutX="142.0" layoutY="119.0" mnemonicParsing="false" text="%se.soigner" />
|
||||||
<Button fx:id="ouiButton" layoutX="29.0" layoutY="119.0" mnemonicParsing="false" text="Attaquer !" />
|
<Button fx:id="ouiButton" layoutX="29.0" layoutY="119.0" mnemonicParsing="false" text="%attaquer" />
|
||||||
</children>
|
</children>
|
||||||
</Pane>
|
</Pane>
|
||||||
</children>
|
</children>
|
||||||
|
@ -6,8 +6,8 @@
|
|||||||
|
|
||||||
<Pane fx:id="rootPane" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="180.0" prefWidth="255.0" stylesheets="@style/popUp.css" xmlns="http://javafx.com/javafx/11.0.1" xmlns:fx="http://javafx.com/fxml/1" fx:controller="ihm.controller.ChoisirBoolean">
|
<Pane fx:id="rootPane" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="180.0" prefWidth="255.0" stylesheets="@style/popUp.css" xmlns="http://javafx.com/javafx/11.0.1" xmlns:fx="http://javafx.com/fxml/1" fx:controller="ihm.controller.ChoisirBoolean">
|
||||||
<children>
|
<children>
|
||||||
<Button fx:id="nonButton" layoutX="136.0" layoutY="128.0" mnemonicParsing="false" text="Ne pas attaquer" />
|
<Button fx:id="nonButton" layoutX="136.0" layoutY="128.0" mnemonicParsing="false" text="%ne.pas.attaqur" />
|
||||||
<Label fx:id="titre" layoutX="40.0" layoutY="31.0" text="Voulez-vous attaquer un joueur ?" />
|
<Label fx:id="titre" layoutX="40.0" layoutY="31.0" text="%voulez.vous.attaquer.joueur" />
|
||||||
<Button fx:id="ouiButton" layoutX="21.0" layoutY="128.0" mnemonicParsing="false" text="Attaquer !" />
|
<Button fx:id="ouiButton" layoutX="21.0" layoutY="128.0" mnemonicParsing="false" text="%attaquer" />
|
||||||
</children>
|
</children>
|
||||||
</Pane>
|
</Pane>
|
||||||
|
@ -78,7 +78,7 @@
|
|||||||
</Button>
|
</Button>
|
||||||
</children>
|
</children>
|
||||||
</HBox>
|
</HBox>
|
||||||
<Label fx:id="titre" layoutX="50.0" layoutY="82.0" text="Choisir un joueur à attaquer !" />
|
<Label fx:id="titre" layoutX="50.0" layoutY="82.0" text="%choisir.joueur.attaquer" />
|
||||||
</children>
|
</children>
|
||||||
</Pane>
|
</Pane>
|
||||||
</children>
|
</children>
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
<Font size="48.0" />
|
<Font size="48.0" />
|
||||||
</font>
|
</font>
|
||||||
</Label>
|
</Label>
|
||||||
<Button fx:id="btnStop" layoutX="105.0" layoutY="144.0" mnemonicParsing="false" text="Stop" />
|
<Button fx:id="btnStop" layoutX="105.0" layoutY="144.0" mnemonicParsing="false" text="%stop" underline="true" />
|
||||||
</children>
|
</children>
|
||||||
</Pane>
|
</Pane>
|
||||||
</children>
|
</children>
|
||||||
|
@ -16,12 +16,12 @@
|
|||||||
<children>
|
<children>
|
||||||
<VBox alignment="CENTER" spacing="30.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
|
<VBox alignment="CENTER" spacing="30.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
|
||||||
<children>
|
<children>
|
||||||
<Label styleClass="text" text="Vous arrivez sur cette Carte Lieu" textOverrun="CLIP" wrapText="true">
|
<Label styleClass="text" text="%arriver.sur.carte.lieux" textOverrun="CLIP" wrapText="true">
|
||||||
<font>
|
<font>
|
||||||
<Font size="14.0" />
|
<Font size="14.0" />
|
||||||
</font>
|
</font>
|
||||||
</Label>
|
</Label>
|
||||||
<Button fx:id="okButton" mnemonicParsing="false" styleClass="bouton" text="Ok" />
|
<Button fx:id="okButton" mnemonicParsing="false" styleClass="bouton" text="%ok" />
|
||||||
</children>
|
</children>
|
||||||
</VBox>
|
</VBox>
|
||||||
</children>
|
</children>
|
||||||
|
@ -31,7 +31,7 @@
|
|||||||
<Font size="24.0" />
|
<Font size="24.0" />
|
||||||
</font>
|
</font>
|
||||||
</Button>
|
</Button>
|
||||||
<Button mnemonicParsing="false" onMouseClicked="#quitterLappli" styleClass="bouton" text="Quitter">
|
<Button mnemonicParsing="false" onMouseClicked="#quitterLappli" styleClass="bouton" text="%quitter">
|
||||||
<font>
|
<font>
|
||||||
<Font size="24.0" />
|
<Font size="24.0" />
|
||||||
</font>
|
</font>
|
||||||
|
@ -14,21 +14,21 @@
|
|||||||
<children>
|
<children>
|
||||||
<VBox alignment="TOP_CENTER" prefHeight="480.0" prefWidth="640.0">
|
<VBox alignment="TOP_CENTER" prefHeight="480.0" prefWidth="640.0">
|
||||||
<children>
|
<children>
|
||||||
<Label text="Pause">
|
<Label text="%pause">
|
||||||
<font>
|
<font>
|
||||||
<Font size="48.0" />
|
<Font size="48.0" />
|
||||||
</font>
|
</font>
|
||||||
</Label>
|
</Label>
|
||||||
<VBox>
|
<VBox>
|
||||||
<children>
|
<children>
|
||||||
<Label style="-fx-border-width: 0 0 0.5 0; -fx-border-color: #e2e2e2;" text="Sons">
|
<Label style="-fx-border-width: 0 0 0.5 0; -fx-border-color: #e2e2e2;" text="%sons">
|
||||||
<font>
|
<font>
|
||||||
<Font size="18.0" />
|
<Font size="18.0" />
|
||||||
</font>
|
</font>
|
||||||
</Label>
|
</Label>
|
||||||
<HBox alignment="CENTER_LEFT">
|
<HBox alignment="CENTER_LEFT">
|
||||||
<children>
|
<children>
|
||||||
<Label text="Musique">
|
<Label text="%musique">
|
||||||
<HBox.margin>
|
<HBox.margin>
|
||||||
<Insets right="300.0" />
|
<Insets right="300.0" />
|
||||||
</HBox.margin>
|
</HBox.margin>
|
||||||
@ -61,7 +61,7 @@
|
|||||||
</Label>
|
</Label>
|
||||||
<HBox alignment="CENTER_LEFT">
|
<HBox alignment="CENTER_LEFT">
|
||||||
<children>
|
<children>
|
||||||
<Label text="Effet sonores">
|
<Label text="%effet">
|
||||||
<HBox.margin>
|
<HBox.margin>
|
||||||
<Insets right="273.0" />
|
<Insets right="273.0" />
|
||||||
</HBox.margin>
|
</HBox.margin>
|
||||||
@ -77,7 +77,7 @@
|
|||||||
<Slider fx:id="sliderEffetsPause" blockIncrement="1.0" majorTickUnit="1.0" max="0.0" min="-20.0" minorTickCount="10" onMouseClicked="#slideVolumeEffets" prefHeight="14.0" prefWidth="194.0" />
|
<Slider fx:id="sliderEffetsPause" blockIncrement="1.0" majorTickUnit="1.0" max="0.0" min="-20.0" minorTickCount="10" onMouseClicked="#slideVolumeEffets" prefHeight="14.0" prefWidth="194.0" />
|
||||||
</children>
|
</children>
|
||||||
</HBox>
|
</HBox>
|
||||||
<Button fx:id="reglesPause" mnemonicParsing="false" onMouseClicked="#afficherReglePause" text="Règles">
|
<Button fx:id="reglesPause" mnemonicParsing="false" onMouseClicked="#afficherReglePause" text="%regles">
|
||||||
<font>
|
<font>
|
||||||
<Font size="14.0" />
|
<Font size="14.0" />
|
||||||
</font>
|
</font>
|
||||||
@ -85,7 +85,7 @@
|
|||||||
<Insets top="30.0" />
|
<Insets top="30.0" />
|
||||||
</VBox.margin>
|
</VBox.margin>
|
||||||
</Button>
|
</Button>
|
||||||
<Label style="-fx-border-width: 0 0 0.5 0; -fx-border-color: #e2e2e2;" text="Jeux">
|
<Label style="-fx-border-width: 0 0 0.5 0; -fx-border-color: #e2e2e2;" text="%jeux">
|
||||||
<VBox.margin>
|
<VBox.margin>
|
||||||
<Insets top="50.0" />
|
<Insets top="50.0" />
|
||||||
</VBox.margin>
|
</VBox.margin>
|
||||||
@ -98,7 +98,7 @@
|
|||||||
<Insets top="5.0" />
|
<Insets top="5.0" />
|
||||||
</VBox.margin>
|
</VBox.margin>
|
||||||
<children>
|
<children>
|
||||||
<Button mnemonicParsing="false" onMouseClicked="#reprendre" text="Reprendre la partie">
|
<Button mnemonicParsing="false" onMouseClicked="#reprendre" text="%reprendre.partie">
|
||||||
<HBox.margin>
|
<HBox.margin>
|
||||||
<Insets right="25.0" />
|
<Insets right="25.0" />
|
||||||
</HBox.margin>
|
</HBox.margin>
|
||||||
@ -106,7 +106,7 @@
|
|||||||
<Font size="14.0" />
|
<Font size="14.0" />
|
||||||
</font>
|
</font>
|
||||||
</Button>
|
</Button>
|
||||||
<Button mnemonicParsing="false" onMouseClicked="#quitter" style="-fx-text-fill: red;" text="Quitter le jeu">
|
<Button mnemonicParsing="false" onMouseClicked="#quitter" style="-fx-text-fill: red;" text="%quitter.jeu">
|
||||||
<HBox.margin>
|
<HBox.margin>
|
||||||
<Insets left="25.0" />
|
<Insets left="25.0" />
|
||||||
</HBox.margin>
|
</HBox.margin>
|
||||||
|
@ -76,7 +76,7 @@
|
|||||||
<Insets bottom="2.0" left="2.0" right="2.0" top="2.0" />
|
<Insets bottom="2.0" left="2.0" right="2.0" top="2.0" />
|
||||||
</padding>
|
</padding>
|
||||||
</ScrollPane>
|
</ScrollPane>
|
||||||
<Label styleClass="text" stylesheets="@style/plateau.css" text="Equipements" GridPane.columnIndex="2" />
|
<Label styleClass="text" stylesheets="@style/plateau.css" text="%equipement" GridPane.columnIndex="2" />
|
||||||
</children>
|
</children>
|
||||||
<padding>
|
<padding>
|
||||||
<Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
|
<Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
|
||||||
@ -124,7 +124,7 @@
|
|||||||
<Insets bottom="2.0" left="2.0" right="2.0" top="2.0" />
|
<Insets bottom="2.0" left="2.0" right="2.0" top="2.0" />
|
||||||
</padding>
|
</padding>
|
||||||
</ScrollPane>
|
</ScrollPane>
|
||||||
<Label styleClass="text" stylesheets="@style/plateau.css" text="Equipements" GridPane.columnIndex="2" />
|
<Label styleClass="text" stylesheets="@style/plateau.css" text="%equipement" GridPane.columnIndex="2" />
|
||||||
</children>
|
</children>
|
||||||
<padding>
|
<padding>
|
||||||
<Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
|
<Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
|
||||||
@ -193,7 +193,7 @@
|
|||||||
<Insets bottom="2.0" left="2.0" right="2.0" top="2.0" />
|
<Insets bottom="2.0" left="2.0" right="2.0" top="2.0" />
|
||||||
</padding>
|
</padding>
|
||||||
</ScrollPane>
|
</ScrollPane>
|
||||||
<Label styleClass="text" stylesheets="@style/plateau.css" text="Equipements" GridPane.columnIndex="2" />
|
<Label styleClass="text" stylesheets="@style/plateau.css" text="%equipement" GridPane.columnIndex="2" />
|
||||||
</children>
|
</children>
|
||||||
<padding>
|
<padding>
|
||||||
<Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
|
<Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
|
||||||
@ -241,7 +241,7 @@
|
|||||||
<Insets bottom="2.0" left="2.0" right="2.0" top="2.0" />
|
<Insets bottom="2.0" left="2.0" right="2.0" top="2.0" />
|
||||||
</padding>
|
</padding>
|
||||||
</ScrollPane>
|
</ScrollPane>
|
||||||
<Label styleClass="text" stylesheets="@style/plateau.css" text="Equipements" GridPane.columnIndex="2" />
|
<Label styleClass="text" stylesheets="@style/plateau.css" text="%equipement" GridPane.columnIndex="2" />
|
||||||
</children>
|
</children>
|
||||||
<padding>
|
<padding>
|
||||||
<Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
|
<Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
|
||||||
@ -672,7 +672,7 @@
|
|||||||
<Insets bottom="2.0" left="2.0" right="2.0" top="2.0" />
|
<Insets bottom="2.0" left="2.0" right="2.0" top="2.0" />
|
||||||
</padding>
|
</padding>
|
||||||
</ScrollPane>
|
</ScrollPane>
|
||||||
<Label styleClass="text" stylesheets="@style/plateau.css" text="Equipements" GridPane.columnIndex="2" />
|
<Label styleClass="text" stylesheets="@style/plateau.css" text="%equipement" GridPane.columnIndex="2" />
|
||||||
</children>
|
</children>
|
||||||
<padding>
|
<padding>
|
||||||
<Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
|
<Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
|
||||||
@ -720,7 +720,7 @@
|
|||||||
<Insets bottom="2.0" left="2.0" right="2.0" top="2.0" />
|
<Insets bottom="2.0" left="2.0" right="2.0" top="2.0" />
|
||||||
</padding>
|
</padding>
|
||||||
</ScrollPane>
|
</ScrollPane>
|
||||||
<Label styleClass="text" stylesheets="@style/plateau.css" text="Equipements" GridPane.columnIndex="2" />
|
<Label styleClass="text" stylesheets="@style/plateau.css" text="%equipement" GridPane.columnIndex="2" />
|
||||||
</children>
|
</children>
|
||||||
<padding>
|
<padding>
|
||||||
<Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
|
<Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
|
||||||
@ -786,7 +786,7 @@
|
|||||||
<Insets bottom="2.0" left="2.0" right="2.0" top="2.0" />
|
<Insets bottom="2.0" left="2.0" right="2.0" top="2.0" />
|
||||||
</padding>
|
</padding>
|
||||||
</ScrollPane>
|
</ScrollPane>
|
||||||
<Label styleClass="text" stylesheets="@style/plateau.css" text="Equipements" GridPane.columnIndex="2" />
|
<Label styleClass="text" stylesheets="@style/plateau.css" text="%equipement" GridPane.columnIndex="2" />
|
||||||
</children>
|
</children>
|
||||||
<padding>
|
<padding>
|
||||||
<Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
|
<Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
|
||||||
@ -834,7 +834,7 @@
|
|||||||
<Insets bottom="2.0" left="2.0" right="2.0" top="2.0" />
|
<Insets bottom="2.0" left="2.0" right="2.0" top="2.0" />
|
||||||
</padding>
|
</padding>
|
||||||
</ScrollPane>
|
</ScrollPane>
|
||||||
<Label styleClass="text" stylesheets="@style/plateau.css" text="Equipements" GridPane.columnIndex="2" />
|
<Label styleClass="text" stylesheets="@style/plateau.css" text="%equipement" GridPane.columnIndex="2" />
|
||||||
</children>
|
</children>
|
||||||
<padding>
|
<padding>
|
||||||
<Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
|
<Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
|
||||||
|
@ -16,12 +16,12 @@
|
|||||||
<children>
|
<children>
|
||||||
<VBox alignment="CENTER" spacing="30.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
|
<VBox alignment="CENTER" spacing="30.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
|
||||||
<children>
|
<children>
|
||||||
<Label fx:id="label" minHeight="0.0" minWidth="0.0" styleClass="text" text="Glissez la barre" textOverrun="CLIP" wrapText="true">
|
<Label fx:id="label" minHeight="0.0" minWidth="0.0" styleClass="text" text="%glisser.barre" textOverrun="CLIP" wrapText="true">
|
||||||
<font>
|
<font>
|
||||||
<Font size="14.0" />
|
<Font size="14.0" />
|
||||||
</font>
|
</font>
|
||||||
</Label>
|
</Label>
|
||||||
<Button fx:id="okButton" minHeight="0.0" minWidth="0.0" mnemonicParsing="false" styleClass="bouton" text="Ok" />
|
<Button fx:id="okButton" minHeight="0.0" minWidth="0.0" mnemonicParsing="false" styleClass="bouton" text="%ok" />
|
||||||
</children>
|
</children>
|
||||||
</VBox>
|
</VBox>
|
||||||
</children>
|
</children>
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
</ImageView>
|
</ImageView>
|
||||||
<HBox alignment="CENTER" prefHeight="100.0" prefWidth="200.0">
|
<HBox alignment="CENTER" prefHeight="100.0" prefWidth="200.0">
|
||||||
<children>
|
<children>
|
||||||
<Button fx:id="precedent" layoutX="519.0" layoutY="31.0" mnemonicParsing="false" onMouseClicked="#pagePrecedente" prefHeight="59.0" prefWidth="225.0" styleClass="bouton" text="Page précédente">
|
<Button fx:id="precedent" layoutX="519.0" layoutY="31.0" mnemonicParsing="false" onMouseClicked="#pagePrecedente" prefHeight="59.0" prefWidth="225.0" styleClass="bouton" text="%page.precedente">
|
||||||
<font>
|
<font>
|
||||||
<Font size="24.0" />
|
<Font size="24.0" />
|
||||||
</font>
|
</font>
|
||||||
@ -27,7 +27,7 @@
|
|||||||
<Insets right="20.0" />
|
<Insets right="20.0" />
|
||||||
</HBox.margin>
|
</HBox.margin>
|
||||||
</Button>
|
</Button>
|
||||||
<Button mnemonicParsing="false" onMouseClicked="#retourMenu" prefHeight="59.0" prefWidth="106.0" styleClass="bouton" text="Menu">
|
<Button mnemonicParsing="false" onMouseClicked="#retourMenu" prefHeight="59.0" prefWidth="106.0" styleClass="bouton" text="%menu">
|
||||||
<font>
|
<font>
|
||||||
<Font size="24.0" />
|
<Font size="24.0" />
|
||||||
</font>
|
</font>
|
||||||
@ -35,7 +35,7 @@
|
|||||||
<Insets left="20.0" right="20.0" />
|
<Insets left="20.0" right="20.0" />
|
||||||
</HBox.margin>
|
</HBox.margin>
|
||||||
</Button>
|
</Button>
|
||||||
<Button fx:id="suivant" mnemonicParsing="false" onMouseClicked="#pageSuivante" prefHeight="59.0" prefWidth="195.0" styleClass="bouton" text="Page suivante">
|
<Button fx:id="suivant" mnemonicParsing="false" onMouseClicked="#pageSuivante" prefHeight="59.0" prefWidth="195.0" styleClass="bouton" text="%page.suivante">
|
||||||
<font>
|
<font>
|
||||||
<Font size="24.0" />
|
<Font size="24.0" />
|
||||||
</font>
|
</font>
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
</ImageView>
|
</ImageView>
|
||||||
<HBox alignment="CENTER" prefHeight="100.0" prefWidth="200.0">
|
<HBox alignment="CENTER" prefHeight="100.0" prefWidth="200.0">
|
||||||
<children>
|
<children>
|
||||||
<Button fx:id="precedent" layoutX="519.0" layoutY="31.0" mnemonicParsing="false" onMouseClicked="#pagePrecedente" prefHeight="59.0" prefWidth="225.0" styleClass="bouton" text="Page précédente">
|
<Button fx:id="precedent" layoutX="519.0" layoutY="31.0" mnemonicParsing="false" onMouseClicked="#pagePrecedente" prefHeight="59.0" prefWidth="225.0" styleClass="bouton" text="%page.precedente">
|
||||||
<font>
|
<font>
|
||||||
<Font size="24.0" />
|
<Font size="24.0" />
|
||||||
</font>
|
</font>
|
||||||
@ -27,7 +27,7 @@
|
|||||||
<Insets right="20.0" />
|
<Insets right="20.0" />
|
||||||
</HBox.margin>
|
</HBox.margin>
|
||||||
</Button>
|
</Button>
|
||||||
<Button mnemonicParsing="false" onMouseClicked="#retourEnJeu" prefHeight="59.0" prefWidth="117.0" styleClass="bouton" text="Retour">
|
<Button mnemonicParsing="false" onMouseClicked="#retourEnJeu" prefHeight="59.0" prefWidth="117.0" styleClass="bouton" text="%retour">
|
||||||
<font>
|
<font>
|
||||||
<Font size="24.0" />
|
<Font size="24.0" />
|
||||||
</font>
|
</font>
|
||||||
@ -35,7 +35,7 @@
|
|||||||
<Insets left="20.0" right="20.0" />
|
<Insets left="20.0" right="20.0" />
|
||||||
</HBox.margin>
|
</HBox.margin>
|
||||||
</Button>
|
</Button>
|
||||||
<Button fx:id="suivant" mnemonicParsing="false" onMouseClicked="#pageSuivante" prefHeight="59.0" prefWidth="195.0" styleClass="bouton" text="Page suivante">
|
<Button fx:id="suivant" mnemonicParsing="false" onMouseClicked="#pageSuivante" prefHeight="59.0" prefWidth="195.0" styleClass="bouton" text="%page.suivante">
|
||||||
<font>
|
<font>
|
||||||
<Font size="24.0" />
|
<Font size="24.0" />
|
||||||
</font>
|
</font>
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
<children>
|
<children>
|
||||||
<VBox fx:id="root" alignment="CENTER" layoutY="-1.0" prefHeight="480.0" prefWidth="640.0">
|
<VBox fx:id="root" alignment="CENTER" layoutY="-1.0" prefHeight="480.0" prefWidth="640.0">
|
||||||
<children>
|
<children>
|
||||||
<Label text="Vous êtes :">
|
<Label text="%vousetes">
|
||||||
<font>
|
<font>
|
||||||
<Font size="24.0" />
|
<Font size="24.0" />
|
||||||
</font>
|
</font>
|
||||||
|
@ -11,15 +11,15 @@
|
|||||||
<children>
|
<children>
|
||||||
<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">
|
<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>
|
<children>
|
||||||
<Label fx:id="titre" alignment="CENTER" prefHeight="88.0" prefWidth="158.0" styleClass="text" text="Voulez vous faire cette action ?" wrapText="true">
|
<Label fx:id="titre" alignment="CENTER" prefHeight="88.0" prefWidth="158.0" styleClass="text" text="%voulez.vous.faire.action" wrapText="true">
|
||||||
<font>
|
<font>
|
||||||
<Font size="13.0" />
|
<Font size="13.0" />
|
||||||
</font>
|
</font>
|
||||||
</Label>
|
</Label>
|
||||||
<HBox alignment="CENTER">
|
<HBox alignment="CENTER">
|
||||||
<children>
|
<children>
|
||||||
<Button fx:id="ouiButton" mnemonicParsing="false" prefHeight="30.0" prefWidth="45.0" styleClass="bouton" text="Oui" />
|
<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" />
|
<Button fx:id="nonButton" mnemonicParsing="false" prefHeight="30.0" prefWidth="45.0" styleClass="bouton" text="%non" />
|
||||||
</children>
|
</children>
|
||||||
</HBox>
|
</HBox>
|
||||||
</children>
|
</children>
|
||||||
|
@ -45,7 +45,7 @@
|
|||||||
</Button>
|
</Button>
|
||||||
</children>
|
</children>
|
||||||
</HBox>
|
</HBox>
|
||||||
<Label fx:id="titre" alignment="CENTER" contentDisplay="CENTER" styleClass="text" text="Choisir un joueur à attaquer !" />
|
<Label fx:id="titre" alignment="CENTER" contentDisplay="CENTER" styleClass="text" text="%choisir.joueur.attaquer" />
|
||||||
<HBox fx:id="joueurBas" alignment="BOTTOM_CENTER" spacing="3.0">
|
<HBox fx:id="joueurBas" alignment="BOTTOM_CENTER" spacing="3.0">
|
||||||
<children>
|
<children>
|
||||||
<Button fx:id="btn5" mnemonicParsing="false" styleClass="bouton" text="%joueur5">
|
<Button fx:id="btn5" mnemonicParsing="false" styleClass="bouton" text="%joueur5">
|
||||||
|
BIN
src/ihm/ressources/musique/cloche.wav
Normal file
BIN
src/ihm/ressources/musique/cloche.wav
Normal file
Binary file not shown.
@ -9,6 +9,6 @@ public enum Contexte {
|
|||||||
ACTIVER_EFFET_LIEU,
|
ACTIVER_EFFET_LIEU,
|
||||||
EFFET_BOB,
|
EFFET_BOB,
|
||||||
LANCER_DES_4,
|
LANCER_DES_4,
|
||||||
LANCER_DES_6, CHOISIR_VISION, CHOISIR_ACTION
|
LANCER_DES_6, CHOISIR_VISION, CHOISIR_ACTION, EFFET_CHARLES
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -15,7 +15,6 @@ import carte.CartePiochable;
|
|||||||
import carte.CartePiochable.Type;
|
import carte.CartePiochable.Type;
|
||||||
import carte.CarteVision;
|
import carte.CarteVision;
|
||||||
import database.RessourceLoader;
|
import database.RessourceLoader;
|
||||||
import effet.Effet;
|
|
||||||
import effet.action.Action;
|
import effet.action.Action;
|
||||||
import ihm.controller.PlateauController;
|
import ihm.controller.PlateauController;
|
||||||
import javafx.application.Platform;
|
import javafx.application.Platform;
|
||||||
@ -244,7 +243,9 @@ public class GestionnaireJeu {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static void notifyPlateau() {
|
public static void notifyPlateau() {
|
||||||
|
|
||||||
Thread t = threads.pop();
|
Thread t = threads.pop();
|
||||||
|
|
||||||
synchronized(t) {
|
synchronized(t) {
|
||||||
t.notify();
|
t.notify();
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
package main;
|
package main;
|
||||||
|
import java.io.InputStream;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -7,6 +8,7 @@ import java.util.Map;
|
|||||||
import carte.CarteEquipement;
|
import carte.CarteEquipement;
|
||||||
import carte.CarteLieu;
|
import carte.CarteLieu;
|
||||||
import effet.Effet;
|
import effet.Effet;
|
||||||
|
import ihm.EffetSonore;
|
||||||
import personnage.CartePersonnage;
|
import personnage.CartePersonnage;
|
||||||
import personnage.Metamorphe;
|
import personnage.Metamorphe;
|
||||||
import personnage.CartePersonnage.Equipe;
|
import personnage.CartePersonnage.Equipe;
|
||||||
@ -33,6 +35,7 @@ public class Joueur {
|
|||||||
public static final String PLAYER_NB_EQUIPEMENTS = "nb_equipements";
|
public static final String PLAYER_NB_EQUIPEMENTS = "nb_equipements";
|
||||||
|
|
||||||
private Map<String, Integer> stats;
|
private Map<String, Integer> stats;
|
||||||
|
private boolean deathState;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -44,6 +47,7 @@ public class Joueur {
|
|||||||
this.nom = nom;
|
this.nom = nom;
|
||||||
this.revele = false;
|
this.revele = false;
|
||||||
this.gestionnaireEquipements = new GestionnaireEquipements(this);
|
this.gestionnaireEquipements = new GestionnaireEquipements(this);
|
||||||
|
this.deathState = false;
|
||||||
|
|
||||||
stats = new HashMap<>();
|
stats = new HashMap<>();
|
||||||
|
|
||||||
@ -65,15 +69,34 @@ public class Joueur {
|
|||||||
return this.cartePersonnage.getEquipe();
|
return this.cartePersonnage.getEquipe();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void changeStat(String key, int valeur) {
|
|
||||||
this.stats.put(key, valeur);
|
|
||||||
}
|
|
||||||
public void setStat(String key, int valeur) {
|
public void setStat(String key, int valeur) {
|
||||||
this.stats.put(key, valeur);
|
this.stats.put(key, valeur);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void updateStat(String key, int valeur) {
|
||||||
|
setStat(key, valeur);
|
||||||
|
if(isDeadStat()) {
|
||||||
|
death();
|
||||||
|
}
|
||||||
updateVictoirePlateau();
|
updateVictoirePlateau();
|
||||||
updateVie();
|
updateVie();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean isDeadStat() {
|
||||||
|
return this.stats.get(PLAYER_HP) <= 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isDead() {
|
||||||
|
return this.deathState;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void death() {
|
||||||
|
this.deathState = true;
|
||||||
|
this.plateau.death(this);
|
||||||
|
InputStream fileSound1 = getClass().getResourceAsStream("/ihm/ressources/musique/cloche.wav");
|
||||||
|
EffetSonore.playSoundEffect(fileSound1);
|
||||||
|
}
|
||||||
|
|
||||||
//pour tests IA
|
//pour tests IA
|
||||||
public void setHP(int val) {
|
public void setHP(int val) {
|
||||||
this.stats.put("HP", val);
|
this.stats.put("HP", val);
|
||||||
@ -99,9 +122,7 @@ public class Joueur {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void updateVictoirePlateau() {
|
private void updateVictoirePlateau() {
|
||||||
|
this.plateau.victoire(this);
|
||||||
int result = victoire() ? 0 : 1;
|
|
||||||
this.plateau.setStat(Plateau.PARTIE_FINIE, result);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean victoire() {
|
public boolean victoire() {
|
||||||
@ -161,7 +182,7 @@ public class Joueur {
|
|||||||
if(key.contentEquals(PLAYER_HP)) {
|
if(key.contentEquals(PLAYER_HP)) {
|
||||||
this.plateau.alerationVie(this,valeur);
|
this.plateau.alerationVie(this,valeur);
|
||||||
}
|
}
|
||||||
this.setStat(key,valeurBase+valeur);
|
this.updateStat(key,valeurBase+valeur);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -179,7 +200,7 @@ public class Joueur {
|
|||||||
|
|
||||||
public void setCartePersonnage(CartePersonnage cp) {
|
public void setCartePersonnage(CartePersonnage cp) {
|
||||||
this.cartePersonnage = cp;
|
this.cartePersonnage = cp;
|
||||||
this.changeStat(PLAYER_HP, cp.getPv());
|
this.setStat(PLAYER_HP, cp.getPv());
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setPlateau(Plateau plateau2) {
|
public void setPlateau(Plateau plateau2) {
|
||||||
@ -279,4 +300,10 @@ public class Joueur {
|
|||||||
public Joueur choisir(List<Joueur> adjacents, Contexte attaquer) {
|
public Joueur choisir(List<Joueur> adjacents, Contexte attaquer) {
|
||||||
return this.plateau.choisir(this,adjacents, attaquer);
|
return this.plateau.choisir(this,adjacents, attaquer);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Map<String, Integer> getStats() {
|
||||||
|
return this.stats;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -7,6 +7,7 @@ import java.util.Random;
|
|||||||
import carte.CarteEquipement;
|
import carte.CarteEquipement;
|
||||||
import carte.CarteEquipementStat;
|
import carte.CarteEquipementStat;
|
||||||
import effet.Effet;
|
import effet.Effet;
|
||||||
|
import javafx.scene.control.Button;
|
||||||
|
|
||||||
public class JoueurVirtuel extends Joueur {
|
public class JoueurVirtuel extends Joueur {
|
||||||
|
|
||||||
@ -21,7 +22,7 @@ public class JoueurVirtuel extends Joueur {
|
|||||||
nvDifficulte = lvlIa;
|
nvDifficulte = lvlIa;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Effet choisirEffet(List<Effet> effets) {
|
public Button choisirEffet(List<Button> effets) {
|
||||||
return effets.get((int) Math.floor(Math.random() * effets.size()));
|
return effets.get((int) Math.floor(Math.random() * effets.size()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -6,6 +6,7 @@ import java.util.Collections;
|
|||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.Random;
|
||||||
|
|
||||||
import carte.Carte;
|
import carte.Carte;
|
||||||
import carte.CarteEquipement;
|
import carte.CarteEquipement;
|
||||||
@ -14,7 +15,6 @@ import carte.CarteLieuMultiple;
|
|||||||
import carte.CarteLieuType;
|
import carte.CarteLieuType;
|
||||||
import carte.CartePiochable;
|
import carte.CartePiochable;
|
||||||
import database.RessourceLoader;
|
import database.RessourceLoader;
|
||||||
import effet.Effet;
|
|
||||||
import effet.EffetChoisirCible;
|
import effet.EffetChoisirCible;
|
||||||
import effet.EffetChoisirEffet;
|
import effet.EffetChoisirEffet;
|
||||||
import effet.EffetSelf;
|
import effet.EffetSelf;
|
||||||
@ -23,6 +23,7 @@ import effet.action.ActionVoler;
|
|||||||
import ihm.controller.PlateauController;
|
import ihm.controller.PlateauController;
|
||||||
import personnage.Allie;
|
import personnage.Allie;
|
||||||
import personnage.CartePersonnage;
|
import personnage.CartePersonnage;
|
||||||
|
import personnage.CartePersonnage.Equipe;
|
||||||
import personnage.Franklin;
|
import personnage.Franklin;
|
||||||
import personnage.Vampire;
|
import personnage.Vampire;
|
||||||
|
|
||||||
@ -40,6 +41,7 @@ public class Plateau extends Thread{
|
|||||||
public static final String NB_MORTS_HUNTER = "nb_morts_hunter";
|
public static final String NB_MORTS_HUNTER = "nb_morts_hunter";
|
||||||
public static final String NB_MORTS_SHADOW = "nb_morts_shadow";
|
public static final String NB_MORTS_SHADOW = "nb_morts_shadow";
|
||||||
public static final String PARTIE_FINIE = "partie_finie";
|
public static final String PARTIE_FINIE = "partie_finie";
|
||||||
|
public static final String WIN_CHARLES = "victoire_charles";
|
||||||
|
|
||||||
private Map<String, Integer> stats;
|
private Map<String, Integer> stats;
|
||||||
|
|
||||||
@ -262,30 +264,21 @@ public class Plateau extends Thread{
|
|||||||
int nbJoueurs = this.joueurs.size();
|
int nbJoueurs = this.joueurs.size();
|
||||||
int i = 0;
|
int i = 0;
|
||||||
|
|
||||||
while(true) {
|
while(!isPartieTerminee()) {
|
||||||
|
|
||||||
System.out.println(joueurs.size());
|
|
||||||
Joueur currentJoueur = this.joueurs.get(i % nbJoueurs);
|
Joueur currentJoueur = this.joueurs.get(i % nbJoueurs);
|
||||||
System.out.println("\n\n\n\n\n");
|
|
||||||
System.out.println("Au tour de "+currentJoueur.getNom());
|
if(!currentJoueur.isDead()) {
|
||||||
System.out.println("Lancement des dés.");
|
|
||||||
deplacer(currentJoueur);
|
deplacer(currentJoueur);
|
||||||
if(isPartieTerminee()) break;
|
if(isPartieTerminee()) break;
|
||||||
System.out.println("Vous êtes désormais sur le lieu "+currentJoueur.getCarteLieu().getNom());
|
|
||||||
System.out.println("Voulez vous activer l'effet du lieu ?");
|
|
||||||
gj.afficherLieu(currentJoueur);
|
gj.afficherLieu(currentJoueur);
|
||||||
|
|
||||||
if(currentJoueur.choisir(Contexte.ACTIVER_EFFET_LIEU)) {
|
if(currentJoueur.choisir(Contexte.ACTIVER_EFFET_LIEU)) {
|
||||||
System.out.println("Vous activez l'effet du lieu.");
|
|
||||||
System.out.println("Vous avez "+currentJoueur.getStat(Joueur.PLAYER_HP)+" pv");
|
|
||||||
currentJoueur.utiliserEffetLieu();
|
currentJoueur.utiliserEffetLieu();
|
||||||
System.out.println("Vous passez a "+currentJoueur.getStat(Joueur.PLAYER_HP)+" pv");
|
|
||||||
if(isPartieTerminee()) break;
|
if(isPartieTerminee()) break;
|
||||||
}
|
}
|
||||||
|
|
||||||
System.out.println("\n");
|
|
||||||
|
|
||||||
System.out.println("Souhaitez vous attaquer quelqu'un ?");
|
|
||||||
if(currentJoueur.choisir(Contexte.ATTAQUER)){
|
if(currentJoueur.choisir(Contexte.ATTAQUER)){
|
||||||
if(currentJoueur.hasOpponents()) {
|
if(currentJoueur.hasOpponents()) {
|
||||||
List<Joueur> adjacents = currentJoueur.getJoueursRange();
|
List<Joueur> adjacents = currentJoueur.getJoueursRange();
|
||||||
@ -298,17 +291,17 @@ public class Plateau extends Thread{
|
|||||||
}
|
}
|
||||||
i++;
|
i++;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
List<Joueur> gagnants = new ArrayList<Joueur>();
|
List<Joueur> gagnants = new ArrayList<Joueur>();
|
||||||
|
|
||||||
|
System.out.println(this.stats);
|
||||||
for(Joueur j : joueurs) {
|
for(Joueur j : joueurs) {
|
||||||
if(j.victoire()) {
|
if(j.victoire()) {
|
||||||
gagnants.add(j);
|
gagnants.add(j);
|
||||||
|
System.out.println("CartePersonnage "+j.getCartePersonnage()+" Stats "+j.getStats());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO Liste des gagnants
|
|
||||||
// TODO Evaluate every winners
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isPartieTerminee() {
|
public boolean isPartieTerminee() {
|
||||||
@ -321,8 +314,8 @@ public class Plateau extends Thread{
|
|||||||
|
|
||||||
while(!attributed) {
|
while(!attributed) {
|
||||||
int roll = sumRolls(currentJoueur);
|
int roll = sumRolls(currentJoueur);
|
||||||
for(CarteLieu cl : lieux) {
|
|
||||||
|
|
||||||
|
for(CarteLieu cl : lieux) {
|
||||||
if(cl.coordinatesContains(roll) && currentJoueur.getCarteLieu() != cl){
|
if(cl.coordinatesContains(roll) && currentJoueur.getCarteLieu() != cl){
|
||||||
currentJoueur.deplacer(cl);
|
currentJoueur.deplacer(cl);
|
||||||
attributed = true;
|
attributed = true;
|
||||||
@ -372,20 +365,23 @@ public class Plateau extends Thread{
|
|||||||
}
|
}
|
||||||
|
|
||||||
private int rollRandom(int nb) {
|
private int rollRandom(int nb) {
|
||||||
|
Random r= new Random();
|
||||||
int roll = (int) Math.floor(Math.random() * (nb-1))+1;
|
int roll = r.nextInt(nb)+1;
|
||||||
System.out.println("roll" + roll);
|
|
||||||
return roll;
|
return roll;
|
||||||
}
|
}
|
||||||
|
|
||||||
public int sumRolls(Joueur j)
|
public int sumRolls(Joueur j)
|
||||||
{
|
{
|
||||||
int roll4 =rollRandom(4);
|
int sum = 0;
|
||||||
int roll6 = rollRandom(6);
|
int roll4 = 0;
|
||||||
int sum = Math.abs(roll4+roll6);
|
int roll6 = 0;
|
||||||
|
|
||||||
|
roll4 = rollRandom(4);
|
||||||
|
roll6 = rollRandom(6);
|
||||||
|
sum = Math.abs(roll4+roll6);
|
||||||
|
|
||||||
gj.rollDice(j, PlateauController.DICE_BOTH, roll4,roll6);
|
gj.rollDice(j, PlateauController.DICE_BOTH, roll4,roll6);
|
||||||
return sum;
|
return sum;
|
||||||
//return Math.abs(roll4+roll6);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<Joueur> getJoueurs() {
|
public List<Joueur> getJoueurs() {
|
||||||
@ -402,7 +398,6 @@ public class Plateau extends Thread{
|
|||||||
{
|
{
|
||||||
return this.stats.get(key);
|
return this.stats.get(key);
|
||||||
}else {
|
}else {
|
||||||
|
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -441,17 +436,31 @@ public class Plateau extends Thread{
|
|||||||
CarteLieu cl = joueur.getCarteLieu();
|
CarteLieu cl = joueur.getCarteLieu();
|
||||||
|
|
||||||
joueurs.addAll(cl.getJoueurs());
|
joueurs.addAll(cl.getJoueurs());
|
||||||
joueurs.remove(joueur);
|
|
||||||
joueurs.addAll(cl.getJoueursAdjacents());
|
joueurs.addAll(cl.getJoueursAdjacents());
|
||||||
|
joueurs.remove(joueur);
|
||||||
|
|
||||||
|
removeDeads(joueurs);
|
||||||
return (Joueur) gj.choisir(joueur, joueurs, Joueur.class);
|
return (Joueur) gj.choisir(joueur, joueurs, Joueur.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private void removeDeads(List<Joueur> joueurs) {
|
||||||
|
|
||||||
|
List<Joueur> toRemove = new ArrayList<Joueur>();
|
||||||
|
for(Joueur j : joueurs) {
|
||||||
|
|
||||||
|
if(j.isDead()) {
|
||||||
|
toRemove.add(j);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
joueurs.removeAll(toRemove);
|
||||||
|
}
|
||||||
|
|
||||||
public Joueur choisirParmisTous(Joueur joueur) {
|
public Joueur choisirParmisTous(Joueur joueur) {
|
||||||
List<Joueur> joueurs = new ArrayList<Joueur>();
|
List<Joueur> joueurs = new ArrayList<Joueur>();
|
||||||
joueurs.addAll(this.getJoueurs());
|
joueurs.addAll(this.getJoueurs());
|
||||||
joueurs.remove(joueur);
|
joueurs.remove(joueur);
|
||||||
|
removeDeads(joueurs);
|
||||||
return (Joueur) gj.choisir(joueur, joueurs, Joueur.class);
|
return (Joueur) gj.choisir(joueur, joueurs, Joueur.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -481,4 +490,39 @@ public class Plateau extends Thread{
|
|||||||
public Joueur choisir(Joueur joueur, List<Joueur> adjacents, Contexte attaquer) {
|
public Joueur choisir(Joueur joueur, List<Joueur> adjacents, Contexte attaquer) {
|
||||||
return gj.choisirJoueur(joueur, adjacents, attaquer);
|
return gj.choisirJoueur(joueur, adjacents, attaquer);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void death(Joueur joueur) {
|
||||||
|
|
||||||
|
Equipe ej = joueur.getEquipe();
|
||||||
|
|
||||||
|
switch(ej) {
|
||||||
|
case SHADOW:
|
||||||
|
this.updateStat(NB_MORTS_SHADOW,1,true);
|
||||||
|
break;
|
||||||
|
case HUNTER:
|
||||||
|
this.updateStat(NB_MORTS_HUNTER,1,true);
|
||||||
|
break;
|
||||||
|
case NEUTRE:
|
||||||
|
this.updateStat(NB_MORTS_NEUTRAL,1,true);
|
||||||
|
break;}
|
||||||
|
|
||||||
|
this.updateStat(NB_MORTS,1,true);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void updateStat(String key , int value, boolean ajouter) {
|
||||||
|
if(ajouter) {
|
||||||
|
int valeurBase = this.getStat(key);
|
||||||
|
this.setStat(key, valeurBase+value);
|
||||||
|
}else {
|
||||||
|
this.setStat(key, value);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public void victoire(Joueur joueur) {
|
||||||
|
if(joueur.victoire()) {
|
||||||
|
this.updateStat(PARTIE_FINIE, 1, false);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
package personnage;
|
package personnage;
|
||||||
|
|
||||||
import carte.CarteCondition;
|
import carte.CarteCondition;
|
||||||
|
import condition.Condition;
|
||||||
import main.Joueur;
|
import main.Joueur;
|
||||||
|
|
||||||
public abstract class CartePersonnage extends CarteCondition {
|
public abstract class CartePersonnage extends CarteCondition {
|
||||||
@ -19,7 +20,6 @@ public abstract class CartePersonnage extends CarteCondition {
|
|||||||
super(nom, description);
|
super(nom, description);
|
||||||
this.pv = pv;
|
this.pv = pv;
|
||||||
this.joueur = joueur;
|
this.joueur = joueur;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public abstract void utiliser();
|
public abstract void utiliser();
|
||||||
|
@ -1,9 +1,12 @@
|
|||||||
package personnage;
|
package personnage;
|
||||||
|
|
||||||
|
import condition.Condition;
|
||||||
|
import condition.ConditionStatistiques;
|
||||||
import effet.Effet;
|
import effet.Effet;
|
||||||
import effet.EffetSelf;
|
import effet.EffetSelf;
|
||||||
import effet.action.Action;
|
import effet.action.Action;
|
||||||
import effet.action.ActionAltererStatistiquesJoueur;
|
import effet.action.ActionAltererStatistiquesJoueur;
|
||||||
|
import main.Contexte;
|
||||||
import main.Joueur;
|
import main.Joueur;
|
||||||
import main.Plateau;
|
import main.Plateau;
|
||||||
|
|
||||||
@ -16,6 +19,9 @@ public class Charles extends CartePersonnage{
|
|||||||
Effet effet = new EffetSelf(action);
|
Effet effet = new EffetSelf(action);
|
||||||
this.setEffet(effet);
|
this.setEffet(effet);
|
||||||
|
|
||||||
|
Condition winCondition = new ConditionStatistiques(ConditionStatistiques.PLATEAU, Plateau.WIN_CHARLES, 1, ConditionStatistiques.EQUAL);
|
||||||
|
this.setCondition(winCondition);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public Charles() {
|
public Charles() {
|
||||||
@ -24,6 +30,9 @@ public class Charles extends CartePersonnage{
|
|||||||
Action action = new ActionAltererStatistiquesJoueur("HP",-2,true);
|
Action action = new ActionAltererStatistiquesJoueur("HP",-2,true);
|
||||||
Effet effet = new EffetSelf(action);
|
Effet effet = new EffetSelf(action);
|
||||||
this.setEffet(effet);
|
this.setEffet(effet);
|
||||||
|
|
||||||
|
Condition winCondition = new ConditionStatistiques(ConditionStatistiques.PLATEAU, Plateau.WIN_CHARLES, 1, ConditionStatistiques.EQUAL);
|
||||||
|
this.setCondition(winCondition);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -32,20 +41,22 @@ public class Charles extends CartePersonnage{
|
|||||||
Joueur joueur = this.getJoueur();
|
Joueur joueur = this.getJoueur();
|
||||||
super.attaquer(j, blessure);
|
super.attaquer(j, blessure);
|
||||||
|
|
||||||
if(joueur.getStat(Joueur.PLAYER_HP) > 2 && joueur.getRevele()){
|
if(joueur.getStat(Joueur.PLAYER_HP) > 2 && joueur.getRevele()
|
||||||
|
&& joueur.choisir(Contexte.EFFET_CHARLES)){
|
||||||
|
|
||||||
Plateau p = j.getPlateau();
|
Plateau p = j.getPlateau();
|
||||||
utiliser(joueur);
|
utiliser(joueur);
|
||||||
p.attaquer(this.getJoueur(), j);
|
p.attaquer(this.getJoueur(), j);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Plateau p = j.getPlateau();
|
||||||
|
if(j.isDead() && (p.getStat(Plateau.NB_MORTS) >= 3)) {
|
||||||
|
p.setStat(Plateau.WIN_CHARLES, 1);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void utiliser() {
|
public void utiliser() {
|
||||||
|
|
||||||
/*
|
|
||||||
System.out.println("vie avant : " + this.getJoueur().getCartePersonnage().getPv());
|
|
||||||
this.getJoueur().setStat("HP", this.getJoueur().getStat("HP") - 2);
|
|
||||||
System.out.println("vie apres : " + this.getJoueur().getCartePersonnage().getPv());
|
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
|
||||||
package personnage;
|
package personnage;
|
||||||
|
|
||||||
import condition.WinConditionHunter;
|
import condition.WinConditionHunter;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user