This commit is contained in:
Justine Yannis 2022-11-12 17:28:43 +01:00
commit 863f19f94c
4 changed files with 27 additions and 14 deletions

View File

@ -1,17 +1,13 @@
package fr.iutfbleau.projetAgile.Menu.Controller;
import java.awt.event.*;
import java.awt.Component;
import javax.swing.JOptionPane;
import fr.iutfbleau.projetAgile.Menu.View.Menu;
public class ObservateurAccueil implements ActionListener{
private Component comp;
public ObservateurAccueil(Component parent){
this.comp=parent;
}
public ObservateurAccueil(){}
public void actionPerformed(ActionEvent evenement){
int confirmation = JOptionPane.showConfirmDialog(this.comp, "Etes-vous sûr de vouloir retourner au menu ?", "Menu", JOptionPane.YES_NO_OPTION);
int confirmation = JOptionPane.showConfirmDialog(Menu.getFrame(), "Etes-vous sûr de vouloir retourner au menu ?", "Menu", JOptionPane.YES_NO_OPTION);
if(confirmation == 1) return;
Menu.show(Menu.MENU);
}

View File

@ -146,7 +146,7 @@ public abstract class Menu{
return;
}
}
jeu.accueilButton(new ObservateurAccueil(jeu.getPanel()));
jeu.accueilButton(new ObservateurAccueil());
Menu.frame.add(jeu.getPanel(), Menu.JEU);
Menu.cd.show(Menu.frame.getContentPane(), Menu.JEU);
}

View File

@ -43,7 +43,12 @@ public class Puissance4Controller {
* @see fr.iutfbleau.projetAgile.Puissance4.Controller.Puissance4Controller#changeName(String, String)
*/
public void initPanel() {
this.panel.init();
if(this.modele.getPlayerThreeName()!=null){
//Cas ou il y a trois joeur ou initialise le jeu en lui précisant bien le titre
this.panel.init("PUISSANCE 3");
}else{
this.panel.init("PUISSANCE 4");
}
this.panel.changeHoverColor(this.modele.getPlayerTurn());
this.panel.changeLabel(this.modele.getPlayerTurn());
if(this.modele.getPlayerNumber() == 2)

View File

@ -21,6 +21,7 @@ public class Puissance4Panel extends JPanel{
private String playerOneName;
private String playerTwoName;
private String playerThreeName;
private JLabel titre;
/**
* Crée un panneau avec la grille
@ -39,7 +40,7 @@ public class Puissance4Panel extends JPanel{
* Ajoute tous les composants autres que la grille au panneau (Bouton recommencer, accueil, le nom du joueur qui joue, le score)
* Il faut appeler cette fonction après avoir initialisé les différents variables du jeu (noms des joueurs)
*/
public void init() {
public void init(String title) {
GridBagLayout gbl = new GridBagLayout();
this.setLayout(gbl);
GridBagConstraints gbc = new GridBagConstraints();
@ -57,9 +58,9 @@ public class Puissance4Panel extends JPanel{
this.add(this.menu, gbc);
JLabel titre = new JLabel("PUISSANCE 4");
titre.setForeground(Color.WHITE);
titre.setFont(new Font("",Font.BOLD, 40));
this.titre = new JLabel(title);
this.titre.setForeground(Color.WHITE);
this.titre.setFont(new Font("",Font.BOLD, 40));
gbc.gridx = 1;
gbc.gridy = 0;
@ -71,7 +72,7 @@ public class Puissance4Panel extends JPanel{
gbc.weighty = 0;
gbc.insets = new Insets(0, 0, 0, 0);
this.add(titre, gbc);
this.add(this.titre, gbc);
gbc.gridx = 1;
gbc.gridy = 1;
@ -231,7 +232,18 @@ public class Puissance4Panel extends JPanel{
}
public void playerWin(int player){
JOptionPane.showMessageDialog(this, "Le joueur "+String.valueOf(player)+" a gagné");
switch(player){
case 1:
JOptionPane.showMessageDialog(this, "Le joueur "+this.playerOneName+" a gagné");
break;
case 2:
JOptionPane.showMessageDialog(this, "Le joueur "+this.playerTwoName+" a gagné");
break;
case 3:
JOptionPane.showMessageDialog(this, "Le joueur "+this.playerThreeName+" a gagné");
break;
}
this.titre.setText("PUISSANCE 4");
}
/**