Merge branch 'development' of https://github.com/PTE-SH/ShadowHunterGame into development
This commit is contained in:
commit
9fca28f7bb
@ -1,5 +1,5 @@
|
|||||||
jouer=Jouer
|
jouer=Jouer
|
||||||
regles=Régles
|
regles=Règles
|
||||||
commencer.partie=Commencer la partie
|
commencer.partie=Commencer la partie
|
||||||
entrez.nom.joueur= Entrez le nom des joueurs
|
entrez.nom.joueur= Entrez le nom des joueurs
|
||||||
nombre.joueur.minimum=(Il faut au moins 4 joueurs)
|
nombre.joueur.minimum=(Il faut au moins 4 joueurs)
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
jouer=Jouer
|
jouer=Jouer
|
||||||
regles=Régles
|
regles=Règles
|
||||||
commencer.partie=Commencer la partie
|
commencer.partie=Commencer la partie
|
||||||
entrez.nom.joueur= Entrez le nom des joueurs
|
entrez.nom.joueur= Entrez le nom des joueurs
|
||||||
nombre.joueur.minimum=(Il faut au moins 4 joueurs)
|
nombre.joueur.minimum=(Il faut au moins 4 joueurs)
|
||||||
|
@ -6,25 +6,32 @@ import java.io.InputStream;
|
|||||||
import javax.sound.sampled.AudioInputStream;
|
import javax.sound.sampled.AudioInputStream;
|
||||||
import javax.sound.sampled.AudioSystem;
|
import javax.sound.sampled.AudioSystem;
|
||||||
import javax.sound.sampled.Clip;
|
import javax.sound.sampled.Clip;
|
||||||
|
import javax.sound.sampled.FloatControl;
|
||||||
|
|
||||||
public class Musique {
|
public class Musique {
|
||||||
|
|
||||||
public static Clip clip;
|
public static Clip clip;
|
||||||
public static long clipTimePosition = 0;
|
public static long clipTimePosition = 0;
|
||||||
|
|
||||||
|
public static boolean musiqueEnCours = false;
|
||||||
|
static FloatControl volume ;
|
||||||
|
|
||||||
public static void playMusique(InputStream path) {
|
public static void playMusique(InputStream path) {
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
|
||||||
InputStream musicPath = path;
|
InputStream musicPath = path;
|
||||||
|
|
||||||
if (musicPath!=null) {
|
if (musicPath != null) {
|
||||||
InputStream bufferedIn = new BufferedInputStream(musicPath);
|
InputStream bufferedIn = new BufferedInputStream(musicPath);
|
||||||
|
|
||||||
AudioInputStream audioInput = AudioSystem.getAudioInputStream(bufferedIn);
|
AudioInputStream audioInput = AudioSystem.getAudioInputStream(bufferedIn);
|
||||||
clip = AudioSystem.getClip();
|
clip = AudioSystem.getClip();
|
||||||
clip.open(audioInput);
|
clip.open(audioInput);
|
||||||
|
|
||||||
|
volume = (FloatControl) clip.getControl(FloatControl.Type.MASTER_GAIN);
|
||||||
|
volume.setValue(-20.0f); // Reduit le volume de 20 decibels.
|
||||||
|
|
||||||
clip.start();
|
clip.start();
|
||||||
clip.loop(Clip.LOOP_CONTINUOUSLY);
|
clip.loop(Clip.LOOP_CONTINUOUSLY);
|
||||||
|
|
||||||
@ -46,5 +53,13 @@ public class Musique {
|
|||||||
clip.setMicrosecondPosition(clipTimePosition);
|
clip.setMicrosecondPosition(clipTimePosition);
|
||||||
clip.start();
|
clip.start();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void volumeUp(Float valeur) {
|
||||||
|
volume.setValue(volume.getValue() +valeur);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void volumeDown(Float valeur) {
|
||||||
|
volume.setValue(volume.getValue() -valeur);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -30,6 +30,8 @@ public class MenuController implements Initializable{
|
|||||||
input = getClass().getResourceAsStream("/ihm/ressources/img/logo.png");
|
input = getClass().getResourceAsStream("/ihm/ressources/img/logo.png");
|
||||||
Image image = new Image(input);
|
Image image = new Image(input);
|
||||||
titre.setImage(image);
|
titre.setImage(image);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@FXML
|
@FXML
|
||||||
|
@ -31,7 +31,7 @@ public class ParametreController implements Initializable {
|
|||||||
public static boolean cbMusiqueCoche = false; // verifi si la checbox musical est coche
|
public static boolean cbMusiqueCoche = false; // verifi si la checbox musical est coche
|
||||||
public static boolean cbSonCoche = false;
|
public static boolean cbSonCoche = false;
|
||||||
boolean MusiqueLancee = false; //verifi si la musique a déja été lancé une première fois
|
boolean MusiqueLancee = false; //verifi si la musique a déja été lancé une première fois
|
||||||
|
|
||||||
String filepathMusique = "/ihm/ressources/musique/The_Red_Fox_Tavern.wav"; // lien vers la musique : https://www.youtube.com/watch?v=LBpKUIyOHdo
|
String filepathMusique = "/ihm/ressources/musique/The_Red_Fox_Tavern.wav"; // lien vers la musique : https://www.youtube.com/watch?v=LBpKUIyOHdo
|
||||||
InputStream fileMusique = getClass().getResourceAsStream("/ihm/ressources/musique/The_Red_Fox_Tavern.wav");
|
InputStream fileMusique = getClass().getResourceAsStream("/ihm/ressources/musique/The_Red_Fox_Tavern.wav");
|
||||||
|
|
||||||
@ -42,6 +42,7 @@ public class ParametreController implements Initializable {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void initialize(URL arg0, ResourceBundle arg1) {
|
public void initialize(URL arg0, ResourceBundle arg1) {
|
||||||
|
|
||||||
langues.getItems().add("Anglais");
|
langues.getItems().add("Anglais");
|
||||||
langues.getItems().add("Allemand");
|
langues.getItems().add("Allemand");
|
||||||
langues.getItems().add("Espagnol");
|
langues.getItems().add("Espagnol");
|
||||||
@ -59,11 +60,12 @@ public class ParametreController implements Initializable {
|
|||||||
|
|
||||||
if (cmusique.isSelected() == true) {
|
if (cmusique.isSelected() == true) {
|
||||||
cbMusiqueCoche = true;
|
cbMusiqueCoche = true;
|
||||||
if (Musique.clipTimePosition == 0 && MusiqueLancee == false) { // si la musique n'a jamais été lancé
|
if (Musique.clipTimePosition == 0 && MusiqueLancee == false && Musique.musiqueEnCours != true) { // si la musique n'a jamais été lancé
|
||||||
Musique.playMusique(fileMusique);
|
Musique.playMusique(fileMusique);
|
||||||
|
Musique.musiqueEnCours = true;
|
||||||
MusiqueLancee = true;
|
MusiqueLancee = true;
|
||||||
|
|
||||||
} else {
|
} else if (Musique.musiqueEnCours != true) {
|
||||||
Musique.resumeMusique(Musique.clip); // si elle a deja été lancé mais mis en pause, reprend a partir du point d'arret
|
Musique.resumeMusique(Musique.clip); // si elle a deja été lancé mais mis en pause, reprend a partir du point d'arret
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -71,6 +73,7 @@ public class ParametreController implements Initializable {
|
|||||||
if (cbMusiqueCoche == true) {
|
if (cbMusiqueCoche == true) {
|
||||||
cbMusiqueCoche = false;
|
cbMusiqueCoche = false;
|
||||||
Musique.pauseMusique(Musique.clip); //met en pause la musique
|
Musique.pauseMusique(Musique.clip); //met en pause la musique
|
||||||
|
Musique.musiqueEnCours = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -134,5 +137,17 @@ public class ParametreController implements Initializable {
|
|||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@FXML
|
||||||
|
public void monterVolume(MouseEvent mouseEvent) throws IOException{
|
||||||
|
Musique.volumeUp(5.f);
|
||||||
|
System.out.println("on monte le son");
|
||||||
|
}
|
||||||
|
|
||||||
|
@FXML
|
||||||
|
public void baisserVolume(MouseEvent mouseEvent) throws IOException{
|
||||||
|
Musique.volumeDown(5.f);
|
||||||
|
System.out.println("on baisse le son");
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -32,7 +32,7 @@ public class PauseController implements Initializable {
|
|||||||
|
|
||||||
boolean MusiqueLancee = ParametreController.cbMusiqueCoche;
|
boolean MusiqueLancee = ParametreController.cbMusiqueCoche;
|
||||||
boolean SonLance = ParametreController.cbSonCoche;
|
boolean SonLance = ParametreController.cbSonCoche;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void initialize(URL arg0, ResourceBundle arg1) {
|
public void initialize(URL arg0, ResourceBundle arg1) {
|
||||||
|
|
||||||
@ -55,18 +55,22 @@ public class PauseController implements Initializable {
|
|||||||
if (fileMusique != null) {
|
if (fileMusique != null) {
|
||||||
if (cbMusique.isSelected()) {
|
if (cbMusique.isSelected()) {
|
||||||
System.out.println("\tLancement de la musique");
|
System.out.println("\tLancement de la musique");
|
||||||
|
|
||||||
if (Musique.clipTimePosition == 0 && MusiqueLancee == false) { // si la musique n'a jamais été lancé
|
if (Musique.clipTimePosition == 0 && MusiqueLancee == false && Musique.musiqueEnCours != true) { // si la musique n'a jamais été lancé
|
||||||
Musique.playMusique(fileMusique);
|
Musique.playMusique(fileMusique);
|
||||||
|
Musique.musiqueEnCours = true;
|
||||||
MusiqueLancee = true;
|
MusiqueLancee = true;
|
||||||
} else
|
} else if (MusiqueLancee ==false && Musique.musiqueEnCours != true) {
|
||||||
Musique.resumeMusique(Musique.clip); // si elle a deja été lancé mais mis en pause, reprend a partir du point d'arret
|
Musique.resumeMusique(Musique.clip); // si elle a deja été lancé mais mis en pause, reprend a partir du point d'arret
|
||||||
} else {
|
}
|
||||||
|
|
||||||
|
} else if (MusiqueLancee == true){
|
||||||
Musique.pauseMusique(Musique.clip); // met en pause la musique
|
Musique.pauseMusique(Musique.clip); // met en pause la musique
|
||||||
|
Musique.musiqueEnCours = false;
|
||||||
|
MusiqueLancee = false;
|
||||||
System.out.println("\tMise en pause de la musique");
|
System.out.println("\tMise en pause de la musique");
|
||||||
}
|
}
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
System.out.println("fichier audio non trouvé");
|
System.out.println("fichier audio non trouvé");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -98,12 +102,23 @@ public class PauseController implements Initializable {
|
|||||||
System.err.println("Fin de partie");
|
System.err.println("Fin de partie");
|
||||||
Stage appStage = (Stage) ((Node) me.getSource()).getScene().getWindow();
|
Stage appStage = (Stage) ((Node) me.getSource()).getScene().getWindow();
|
||||||
appStage.close();
|
appStage.close();
|
||||||
|
|
||||||
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.FRENCH);
|
final ResourceBundle bundle = ResourceBundle.getBundle("domaine.properties.langue", Locale.FRENCH);
|
||||||
final FXMLLoader fxmlLoader = new FXMLLoader(fxmlURL, bundle);
|
final FXMLLoader fxmlLoader = new FXMLLoader(fxmlURL, bundle);
|
||||||
AnchorPane root = fxmlLoader.load();
|
AnchorPane root = fxmlLoader.load();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@FXML
|
||||||
|
public void monterVolume(MouseEvent mouseEvent) throws IOException{
|
||||||
|
Musique.volumeUp(5.f);
|
||||||
|
System.out.println("on monte le son");
|
||||||
|
}
|
||||||
|
|
||||||
|
@FXML
|
||||||
|
public void baisserVolume(MouseEvent mouseEvent) throws IOException{
|
||||||
|
Musique.volumeDown(5.f);
|
||||||
|
System.out.println("on baisse le son");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -39,14 +39,18 @@ public class ReglesControlleur implements Initializable {
|
|||||||
|
|
||||||
@FXML
|
@FXML
|
||||||
public void pageSuivante(MouseEvent mouseEvent) throws IOException {
|
public void pageSuivante(MouseEvent mouseEvent) throws IOException {
|
||||||
InputStream fileSound1 = getClass().getResourceAsStream("/ihm/ressources/musique/BEEP1.wav");
|
|
||||||
EffetSonore.playSoundEffect(fileSound1);
|
|
||||||
|
|
||||||
if (index < 4) {
|
if (index < 4) {
|
||||||
index++;
|
index++;
|
||||||
|
InputStream fileSound1 = getClass().getResourceAsStream("/ihm/ressources/musique/BEEP1.wav");
|
||||||
|
EffetSonore.playSoundEffect(fileSound1);
|
||||||
|
System.out.println("Page suivante");
|
||||||
|
} else {
|
||||||
|
InputStream fileSound2 = getClass().getResourceAsStream("/ihm/ressources/musique/BeepError.wav");
|
||||||
|
EffetSonore.playSoundEffect(fileSound2);
|
||||||
|
System.out.println("C'est la dernière page!");
|
||||||
}
|
}
|
||||||
|
|
||||||
System.out.println("Page suivante");
|
|
||||||
InputStream input = getClass().getResourceAsStream("/ihm/ressources/img/Regle" + index + ".png");
|
InputStream input = getClass().getResourceAsStream("/ihm/ressources/img/Regle" + index + ".png");
|
||||||
Image image = new Image(input);
|
Image image = new Image(input);
|
||||||
imageRegles.setImage(image);
|
imageRegles.setImage(image);
|
||||||
@ -55,14 +59,18 @@ public class ReglesControlleur implements Initializable {
|
|||||||
|
|
||||||
@FXML
|
@FXML
|
||||||
public void pagePrecedente(MouseEvent mouseEvent) throws IOException {
|
public void pagePrecedente(MouseEvent mouseEvent) throws IOException {
|
||||||
InputStream fileSound1 = getClass().getResourceAsStream("/ihm/ressources/musique/BEEP1.wav");
|
|
||||||
EffetSonore.playSoundEffect(fileSound1);
|
|
||||||
|
|
||||||
if (index > 1) {
|
if (index > 1) {
|
||||||
index--;
|
index--;
|
||||||
|
InputStream fileSound1 = getClass().getResourceAsStream("/ihm/ressources/musique/BEEP1.wav");
|
||||||
|
EffetSonore.playSoundEffect(fileSound1);
|
||||||
|
System.out.println("Page précédente");
|
||||||
|
} else {
|
||||||
|
InputStream fileSound2 = getClass().getResourceAsStream("/ihm/ressources/musique/BeepError.wav");
|
||||||
|
EffetSonore.playSoundEffect(fileSound2);
|
||||||
|
System.out.println("C'est la première page!");
|
||||||
}
|
}
|
||||||
|
|
||||||
System.out.println("Page précédente");
|
|
||||||
InputStream input = getClass().getResourceAsStream("/ihm/ressources/img/Regle" + index + ".png");
|
InputStream input = getClass().getResourceAsStream("/ihm/ressources/img/Regle" + index + ".png");
|
||||||
Image image = new Image(input);
|
Image image = new Image(input);
|
||||||
imageRegles.setImage(image);
|
imageRegles.setImage(image);
|
||||||
|
@ -9,7 +9,6 @@
|
|||||||
<?import javafx.scene.layout.VBox?>
|
<?import javafx.scene.layout.VBox?>
|
||||||
<?import javafx.scene.text.Font?>
|
<?import javafx.scene.text.Font?>
|
||||||
|
|
||||||
|
|
||||||
<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="480.0" prefWidth="640.0" style="-fx-border-color: white; -fx-background-color: black;" stylesheets="@style/popUp.css" xmlns="http://javafx.com/javafx/11.0.1" xmlns:fx="http://javafx.com/fxml/1" fx:controller="ihm.controller.PauseController">
|
<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="480.0" prefWidth="640.0" style="-fx-border-color: white; -fx-background-color: black;" stylesheets="@style/popUp.css" xmlns="http://javafx.com/javafx/11.0.1" xmlns:fx="http://javafx.com/fxml/1" fx:controller="ihm.controller.PauseController">
|
||||||
<children>
|
<children>
|
||||||
<VBox alignment="TOP_CENTER" prefHeight="480.0" prefWidth="640.0">
|
<VBox alignment="TOP_CENTER" prefHeight="480.0" prefWidth="640.0">
|
||||||
@ -46,6 +45,29 @@
|
|||||||
<Insets bottom="5.0" />
|
<Insets bottom="5.0" />
|
||||||
</VBox.margin>
|
</VBox.margin>
|
||||||
</HBox>
|
</HBox>
|
||||||
|
<HBox prefHeight="38.0" prefWidth="337.0">
|
||||||
|
<children>
|
||||||
|
<Button mnemonicParsing="false" onMouseClicked="#monterVolume" text="Volume +">
|
||||||
|
<font>
|
||||||
|
<Font size="14.0" />
|
||||||
|
</font>
|
||||||
|
<HBox.margin>
|
||||||
|
<Insets right="10.0" />
|
||||||
|
</HBox.margin>
|
||||||
|
</Button>
|
||||||
|
<Button mnemonicParsing="false" onMouseClicked="#baisserVolume" text="Volume -">
|
||||||
|
<font>
|
||||||
|
<Font size="14.0" />
|
||||||
|
</font>
|
||||||
|
<HBox.margin>
|
||||||
|
<Insets left="10.0" />
|
||||||
|
</HBox.margin>
|
||||||
|
</Button>
|
||||||
|
</children>
|
||||||
|
<padding>
|
||||||
|
<Insets bottom="10.0" top="10.0" />
|
||||||
|
</padding>
|
||||||
|
</HBox>
|
||||||
<HBox alignment="CENTER_LEFT">
|
<HBox alignment="CENTER_LEFT">
|
||||||
<children>
|
<children>
|
||||||
<Label text="Effet sonores">
|
<Label text="Effet sonores">
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
|
||||||
|
<?import javafx.geometry.Insets?>
|
||||||
<?import javafx.scene.control.Button?>
|
<?import javafx.scene.control.Button?>
|
||||||
<?import javafx.scene.control.CheckBox?>
|
<?import javafx.scene.control.CheckBox?>
|
||||||
<?import javafx.scene.control.ComboBox?>
|
<?import javafx.scene.control.ComboBox?>
|
||||||
@ -13,12 +14,29 @@
|
|||||||
<children>
|
<children>
|
||||||
<HBox alignment="TOP_CENTER" layoutX="146.0" layoutY="171.0" prefHeight="242.0" prefWidth="507.0" spacing="10.0">
|
<HBox alignment="TOP_CENTER" layoutX="146.0" layoutY="171.0" prefHeight="242.0" prefWidth="507.0" spacing="10.0">
|
||||||
<children>
|
<children>
|
||||||
<VBox prefHeight="309.0" prefWidth="127.0" spacing="50.0">
|
<VBox prefHeight="348.0" prefWidth="195.0" spacing="40.0">
|
||||||
<children>
|
<children>
|
||||||
<CheckBox fx:id="clair" mnemonicParsing="false" styleClass="checkBox" text="%mode.claire" />
|
<CheckBox fx:id="clair" mnemonicParsing="false" styleClass="checkBox" text="%mode.claire" />
|
||||||
<CheckBox fx:id="cmusique" mnemonicParsing="false" styleClass="checkBox" text="%musique" />
|
<CheckBox fx:id="cmusique" mnemonicParsing="false" styleClass="checkBox" text="%musique" />
|
||||||
|
<HBox alignment="CENTER_LEFT" prefHeight="100.0" prefWidth="195.0">
|
||||||
|
<children>
|
||||||
|
<Button mnemonicParsing="false" onMouseClicked="#monterVolume" styleClass="bouton" stylesheets="@style/menu.css" text="Volume +">
|
||||||
|
<opaqueInsets>
|
||||||
|
<Insets />
|
||||||
|
</opaqueInsets>
|
||||||
|
<HBox.margin>
|
||||||
|
<Insets right="10.0" />
|
||||||
|
</HBox.margin>
|
||||||
|
</Button>
|
||||||
|
<Button layoutX="10.0" layoutY="10.0" mnemonicParsing="false" onMouseClicked="#baisserVolume" styleClass="bouton" stylesheets="@style/menu.css" text="Volume -">
|
||||||
|
<HBox.margin>
|
||||||
|
<Insets left="10.0" />
|
||||||
|
</HBox.margin>
|
||||||
|
</Button>
|
||||||
|
</children>
|
||||||
|
</HBox>
|
||||||
<CheckBox fx:id="cbEffetSonore" mnemonicParsing="false" styleClass="checkBox" text="%effet" />
|
<CheckBox fx:id="cbEffetSonore" mnemonicParsing="false" styleClass="checkBox" text="%effet" />
|
||||||
<VBox prefHeight="200.0" prefWidth="100.0" spacing="10.0">
|
<VBox prefHeight="86.0" prefWidth="195.0" spacing="10.0">
|
||||||
<children>
|
<children>
|
||||||
<Label styleClass="titre" text="%langue">
|
<Label styleClass="titre" text="%langue">
|
||||||
<font>
|
<font>
|
||||||
@ -27,7 +45,15 @@
|
|||||||
</Label>
|
</Label>
|
||||||
<ComboBox fx:id="langues" prefHeight="26.0" prefWidth="90.0" />
|
<ComboBox fx:id="langues" prefHeight="26.0" prefWidth="90.0" />
|
||||||
</children>
|
</children>
|
||||||
|
<VBox.margin>
|
||||||
|
<Insets />
|
||||||
|
</VBox.margin>
|
||||||
</VBox>
|
</VBox>
|
||||||
|
<HBox alignment="CENTER" prefHeight="100.0" prefWidth="200.0">
|
||||||
|
<children>
|
||||||
|
<Button alignment="CENTER" mnemonicParsing="false" onMouseClicked="#enregistre" styleClass="bouton" stylesheets="@style/menu.css" text="%enregistrer" />
|
||||||
|
</children>
|
||||||
|
</HBox>
|
||||||
</children>
|
</children>
|
||||||
</VBox>
|
</VBox>
|
||||||
</children>
|
</children>
|
||||||
@ -37,6 +63,5 @@
|
|||||||
<Font size="36.0" />
|
<Font size="36.0" />
|
||||||
</font>
|
</font>
|
||||||
</Label>
|
</Label>
|
||||||
<Button layoutX="340.0" layoutY="525.0" mnemonicParsing="false" onMouseClicked="#enregistre" styleClass="bouton" stylesheets="@style/menu.css" text="%enregistrer" />
|
|
||||||
</children>
|
</children>
|
||||||
</Pane>
|
</Pane>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user