Interface Jeu

This commit is contained in:
Justine Yannis 2022-11-06 10:39:23 +01:00
parent 6e8af79dd7
commit 848954ab25
4 changed files with 38 additions and 9 deletions

View File

@ -129,7 +129,7 @@ build/$(PACKAGE_PATH)/Menu/View/Menu.class : src/$(PACKAGE_PATH)/Menu/View/Menu.
build/$(PACKAGE_PATH)/Menu/View/BoutonsMenu.class \
build/$(PACKAGE_PATH)/Menu/Controleur/ObservateurAccueil.class \
build/$(PACKAGE_PATH)/Menu/Controller/ObservateurFenetre.class \
build/$(PACKAGE_PATH)/Puissance4/LancementPartie.class
build/$(PACKAGE_PATH)/Puissance4/LancementPuissance4.class
@javac $(@JAVAC_OPT) $<
@ -138,13 +138,17 @@ build/$(PACKAGE_PATH)/Main.class : src/$(PACKAGE_PATH)/Main.java \
@echo "Classes compiled"
@javac $(@JAVAC_OPT) $<
build/$(PACKAGE_PATH)/Puissance4/LancementPartie.class : src/$(PACKAGE_PATH)/Puissance4/LancementPartie.java \
build/$(PACKAGE_PATH)/Puissance4/LancementPuissance4.class : src/$(PACKAGE_PATH)/Puissance4/LancementPuissance4.java \
build/$(PACKAGE_PATH)/Jeu.class \
build/$(PACKAGE_PATH)/Puissance4/Controller/Puissance4Controller.class \
build/$(PACKAGE_PATH)/Puissance4/View/ColorChooserDialog.class \
build/$(PACKAGE_PATH)/Puissance4/View/Grille.class \
build/$(PACKAGE_PATH)/Puissance4/Model/GrilleModel.class
@javac $(@JAVAC_OPT) $<
build/$(PACKAGE_PATH)/Jeu.class : src/$(PACKAGE_PATH)/Jeu.java
@javac $(@JAVAC_OPT) $<
# BUT FACTICES:
.PHONY: clear doc run
@ -162,6 +166,6 @@ doc :
run: ArgileGames.jar
@java -jar ArgileGames.jar
clear :
clean :
@rm -rf build/*

View File

@ -0,0 +1,19 @@
package fr.iutfbleau.projetAgile;
import java.awt.event.ActionListener;
import javax.swing.JPanel;
public interface Jeu {
/**
* Ajoute un ActionListener pour un bouton "accueil" pour revenir au menu
* @param l l'ActionListener à ajouter
*/
public void accueilButton(ActionListener l);
/**
* Retourne le panneau du jeu (la vue)
* @return JPanel qui contient le jeu
*/
public JPanel getPanel();
}

View File

@ -4,8 +4,10 @@ import java.awt.*;
import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.swing.JLabel;
import fr.iutfbleau.projetAgile.Jeu;
import fr.iutfbleau.projetAgile.Menu.Controller.*;
import fr.iutfbleau.projetAgile.Puissance4.LancementPartie;
import fr.iutfbleau.projetAgile.Puissance4.LancementPuissance4;
import java.awt.event.WindowListener;
public abstract class Menu{
@ -135,15 +137,16 @@ public abstract class Menu{
if(g==Menu.MENU)
Menu.cd.show(Menu.frame.getContentPane(), g);
else{
Jeu jeu = null;
if(g==Menu.PUISSANCE_4){
try{
LancementPartie lm=new LancementPartie(Menu.frame);
lm.accueilButton(new ObservateurAccueil(lm.getPanel()));
Menu.frame.add(lm.getPanel(), Menu.JEU);
jeu = new LancementPuissance4(Menu.frame);
}catch(Exception e){
return;
}
}
jeu.accueilButton(new ObservateurAccueil(jeu.getPanel()));
Menu.frame.add(jeu.getPanel(), Menu.JEU);
Menu.cd.show(Menu.frame.getContentPane(), Menu.JEU);
}
}

View File

@ -1,5 +1,6 @@
package fr.iutfbleau.projetAgile.Puissance4;
import fr.iutfbleau.projetAgile.Jeu;
import fr.iutfbleau.projetAgile.Puissance4.Controller.Puissance4Controller;
import fr.iutfbleau.projetAgile.Puissance4.View.Grille;
import fr.iutfbleau.projetAgile.Puissance4.View.ColorChooserDialog;
@ -12,7 +13,7 @@ import javax.swing.JPanel;
/**
* Classe qui initialise une partie de Puissance 4
*/
public class LancementPartie {
public class LancementPuissance4 implements Jeu{
private Puissance4Controller P4;
/**
@ -20,7 +21,7 @@ public class LancementPartie {
* @param fenetre La fenetre dans laquelle le panneau sera ajouté. Peut-être null mais la fenetre de dialogue ne sera pas centré avec la fenetre du jeu
* @throws CancellationException Renvoie une exception si les utilisateurs annule le lancement de la partie
*/
public LancementPartie(JFrame fenetre) throws CancellationException{
public LancementPuissance4(JFrame fenetre) throws CancellationException{
String J1 = null;
String J2 = null;
ColorChooserDialog chooser = new ColorChooserDialog(fenetre, true);
@ -37,6 +38,7 @@ public class LancementPartie {
this.P4.initPanel();
}
@Override
/**
* Ajoute un ActionListener pour le bouton "accueil" du panneau du Puissance 4
* @param l l'ActionListener à ajouter
@ -45,6 +47,7 @@ public class LancementPartie {
this.P4.accueilButton(l);
}
@Override
/**
* Retourne le panneau du jeu (la vue)
* @return JPanel qui contient le Puissance 4