Ajout de commentaire et d'une dépendance dans le makefile
This commit is contained in:
parent
1b224e9118
commit
a3f51bada2
@ -116,6 +116,7 @@ build/$(PACKAGE_PATH)/Menu/View/BoutonsMenu.class : src/$(PACKAGE_PATH)/Menu/Vie
|
||||
build/$(PACKAGE_PATH)/Menu/View/Menu.class : src/$(PACKAGE_PATH)/Menu/View/Menu.java \
|
||||
build/$(PACKAGE_PATH)/Menu/Controller/ObservateurMenuSouris.class \
|
||||
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
|
||||
@javac $(@JAVAC_OPT) $<
|
||||
|
@ -4,6 +4,9 @@ import fr.iutfbleau.projetAgile.Puissance4.Event.AbstractGridInitiater;
|
||||
import fr.iutfbleau.projetAgile.Puissance4.Utils.Constants;
|
||||
import fr.iutfbleau.projetAgile.Puissance4.Utils.GameStatus;
|
||||
|
||||
/**
|
||||
* Classe qui représente le modèle de la grille du Puissance 4
|
||||
*/
|
||||
public class GrilleModel extends AbstractGridInitiater{
|
||||
private int[][] grille;
|
||||
private GameStatus gameStatus = GameStatus.PLAYING;
|
||||
@ -15,12 +18,11 @@ public class GrilleModel extends AbstractGridInitiater{
|
||||
private int playerOneScore;
|
||||
private int playerTwoScore;
|
||||
|
||||
/**
|
||||
* Crée le modèle et l'initialise avec des cases vides
|
||||
*/
|
||||
public GrilleModel() {
|
||||
super();
|
||||
this.init();
|
||||
}
|
||||
|
||||
public void init() {
|
||||
this.column = Constants.COLUMN_COUNT;
|
||||
this.row = Constants.ROW_COUNT;
|
||||
this.grille = new int[this.column][this.row];
|
||||
@ -29,7 +31,9 @@ public class GrilleModel extends AbstractGridInitiater{
|
||||
this.reset();
|
||||
}
|
||||
|
||||
//Fonction de test (pourra être modifié)
|
||||
/**
|
||||
* Réinitialise le modèle avec des cases vides et met à jour son status à PLAYING
|
||||
*/
|
||||
public void reset() {
|
||||
for(int i = 0; i < this.column; i++) {
|
||||
for(int j = 0; j < this.row; j++) {
|
||||
@ -41,12 +45,16 @@ public class GrilleModel extends AbstractGridInitiater{
|
||||
this.setPartyStatus(GameStatus.PLAYING);
|
||||
}
|
||||
|
||||
protected void addPiece(int column, int row) {
|
||||
private void addPiece(int column, int row) {
|
||||
grille[column][row] = this.playerTurn;
|
||||
fireGridChanged(column, row, this.playerTurn);
|
||||
this.piecePlayed++;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Ajoute un pion dans une colonne si elle n'est pas complète, met à jour le status de la partie et change le tour du joueur si nécessaire
|
||||
* @param column La colonne dans laquelle ajouter le pion
|
||||
*/
|
||||
public void verifyColumn(int column) {
|
||||
for (int row = this.row - 1; row >= 0; row--) {
|
||||
if (grille[column][row] == Constants.EMPTY_PLAYER) {
|
||||
@ -66,7 +74,7 @@ public class GrilleModel extends AbstractGridInitiater{
|
||||
* @param row La ligne du pion qui vient d'être joué
|
||||
* @return Retourne true si le jeu est fini
|
||||
*/
|
||||
protected boolean verifyWin(int column, int row) {
|
||||
private boolean verifyWin(int column, int row) {
|
||||
int playerColor = this.playerTurn;
|
||||
int diagonalColumn = column;
|
||||
int diagonalRow = row;
|
||||
@ -131,7 +139,9 @@ public class GrilleModel extends AbstractGridInitiater{
|
||||
if(this.piecePlayed >= this.column * this.row)
|
||||
this.setPartyStatus(GameStatus.DRAW);
|
||||
}
|
||||
|
||||
/**
|
||||
* Change le tour du joueur et notifie tous les listeners
|
||||
*/
|
||||
public void switchPlayer() {
|
||||
this.playerTurn = this.playerTurn == Constants.PLAYER_ONE ? Constants.PLAYER_TWO : Constants.PLAYER_ONE;
|
||||
firePlayerChanged(this.gameStatus, this.playerTurn, this.playerOneScore, this.playerTwoScore);
|
||||
@ -164,7 +174,9 @@ public class GrilleModel extends AbstractGridInitiater{
|
||||
public GameStatus getGameStatus() {
|
||||
return this.gameStatus;
|
||||
}
|
||||
|
||||
/**
|
||||
* Change le status de la partie et notifie tous les listeners
|
||||
*/
|
||||
public void setPartyStatus(GameStatus gameStatus) {
|
||||
this.gameStatus = gameStatus;
|
||||
if(gameStatus == GameStatus.WIN) {
|
||||
|
@ -2,8 +2,15 @@ package fr.iutfbleau.projetAgile.Puissance4.Utils;
|
||||
|
||||
import java.awt.Color;
|
||||
|
||||
/**
|
||||
* Classe qui représente les paramètres et constantes du puissance 4
|
||||
* - Le nombre de colonne et de lignes;
|
||||
* - Le numéro des joueurs et d'un pion "vide";
|
||||
* - La couleur des pions;
|
||||
* - La couleur du fond;
|
||||
* - Un booléen pour savoir si un survol des pions doit être affiché.
|
||||
*/
|
||||
public class Constants {
|
||||
|
||||
public final static Color PLAYER_ONE_COLOR = new Color(252,21,21);
|
||||
public final static Color PLAYER_TWO_COLOR = new Color(241,205,15);
|
||||
public final static Color BACKGROUND_COLOR = new Color(31,31,31);
|
||||
@ -15,4 +22,8 @@ public class Constants {
|
||||
public static int PIECE_MARGIN = 10;
|
||||
public static int COLUMN_COUNT = 7;
|
||||
public static int ROW_COUNT = 6;
|
||||
|
||||
private Constants() {
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -1,5 +1,8 @@
|
||||
package fr.iutfbleau.projetAgile.Puissance4.Utils;
|
||||
|
||||
/**
|
||||
* Enumeration du status d'une partie (En cours, gagné, égalité)
|
||||
*/
|
||||
public enum GameStatus {
|
||||
PLAYING, WIN, DRAW;
|
||||
}
|
||||
|
@ -111,6 +111,70 @@ public class Puissance4Panel extends JPanel{
|
||||
menu.setBorder(new EmptyBorder(5,10,5,10));
|
||||
}
|
||||
|
||||
/**
|
||||
* Change la couleur de survol des pions selon le tour du joueur
|
||||
* @param player le joueur qui joue
|
||||
*/
|
||||
public void changeHoverColor(int player) {
|
||||
this.grille.changeHoverColor(player);
|
||||
}
|
||||
|
||||
/**
|
||||
* Change le texte affichant le tour du joueur
|
||||
* @param player le joueur qui joue
|
||||
*/
|
||||
public void changeLabel(int joueur) {
|
||||
switch(joueur){
|
||||
case Constants.PLAYER_ONE:
|
||||
this.label.setText("Tour de : " + this.playerOneName);
|
||||
break;
|
||||
|
||||
case Constants.PLAYER_TWO:
|
||||
this.label.setText("Tour de : " + this.playerTwoName);
|
||||
break;
|
||||
|
||||
default:
|
||||
this.label.setText("JOUEUR INCONNU");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Change le propriétaire d'un pion et le redessine
|
||||
* @param column la colonne du pion a changer
|
||||
* @param row la ligne du pion a changer
|
||||
* @param player le joueur
|
||||
*/
|
||||
public void addPlayerPiece(int column, int row, int player) {
|
||||
this.grille.addPlayerPiece(column, row, player);
|
||||
}
|
||||
|
||||
/**
|
||||
* Change le status de la partie affiché sur le panneau (Score + Victoire ou Egalité)
|
||||
* @param status le status de la partie en cours
|
||||
* @param playerTurn le tour du joueur actuel
|
||||
* @param playerOneScore le score du joueur 1
|
||||
* @param playerTwoScore le score du joueur 2
|
||||
*/
|
||||
public void setGameStatus(GameStatus status, int playerTurn, int playerOneScore, int playerTwoScore) {
|
||||
this.grille.hover(-1);
|
||||
switch(status){
|
||||
case WIN:
|
||||
this.label.setText("Victoire de : " + (playerTurn == Constants.PLAYER_ONE ? this.playerOneName : this.playerTwoName));
|
||||
System.out.println("Score : " + playerOneName + " = " + playerOneScore + " " + playerTwoName + " = " + playerTwoScore);
|
||||
break;
|
||||
|
||||
case DRAW:
|
||||
this.label.setText("Egalité");
|
||||
break;
|
||||
|
||||
default:
|
||||
this.changeLabel(playerTurn);
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Permet de définir le nom du joueur 1
|
||||
*/
|
||||
@ -141,51 +205,12 @@ public class Puissance4Panel extends JPanel{
|
||||
this.reset.addActionListener(l);
|
||||
}
|
||||
|
||||
/**
|
||||
* Ajoute un ActionListener au bouton accueil
|
||||
* @param l L'ActionListener à ajouter
|
||||
*/
|
||||
public void accueilButton(ActionListener l){
|
||||
this.menu.addActionListener(l);
|
||||
}
|
||||
|
||||
public void changeHoverColor(int player) {
|
||||
this.grille.changeHoverColor(player);
|
||||
}
|
||||
|
||||
public void changeLabel(int joueur) {
|
||||
switch(joueur){
|
||||
case Constants.PLAYER_ONE:
|
||||
this.label.setText("Tour de : " + this.playerOneName);
|
||||
break;
|
||||
|
||||
case Constants.PLAYER_TWO:
|
||||
this.label.setText("Tour de : " + this.playerTwoName);
|
||||
break;
|
||||
|
||||
default:
|
||||
this.label.setText("JOUEUR INCONNU");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
public void addPlayerPiece(int column, int row, int player) {
|
||||
this.grille.addPlayerPiece(column, row, player);
|
||||
}
|
||||
|
||||
public void setGameStatus(GameStatus status, int playerTurn, int playerOneScore, int playerTwoScore) {
|
||||
this.grille.hover(-1);
|
||||
switch(status){
|
||||
case WIN:
|
||||
this.label.setText("Victoire de : " + (playerTurn == Constants.PLAYER_ONE ? this.playerOneName : this.playerTwoName));
|
||||
System.out.println("Score : " + playerOneName + " = " + playerOneScore + " " + playerTwoName + " = " + playerTwoScore);
|
||||
break;
|
||||
|
||||
case DRAW:
|
||||
this.label.setText("Egalité");
|
||||
break;
|
||||
|
||||
default:
|
||||
this.changeLabel(playerTurn);
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user