Plateau graphique v2 *score,tourJoueur,tailleTour,selection* + maj makefile,readme

This commit was merged in pull request #11.
This commit is contained in:
2025-11-22 11:56:51 -05:00
parent 7bb6b79d53
commit 27bfff9aa1
20 changed files with 784 additions and 270 deletions

View File

@@ -1,29 +1,41 @@
package fr.iut_fbleau.Avalam;
import fr.iut_fbleau.Avalam.logic.*;
import fr.iut_fbleau.Avalam.ui.*;
import javax.swing.*;
import java.awt.*;
/**
* La classe <code>AvalamWindow</code> représente la fenêtre principale du jeu Avalam.
*
* Elle crée une fenêtre Swing, lui donne une taille, un titre,
* puis y ajoute un <code>AvalamPanel</code> qui contient l'affichage réel du plateau.
*
* @version 1.0
* Fenêtre principale du jeu Avalam.
*/
public class AvalamWindow extends JFrame {
/**
* Constructeur : initialise la fenêtre du jeu.
*/
public AvalamWindow() {
super("Avalam - Plateau Graphique");
setSize(750, 750);
setSize(750, 800);
setLocationRelativeTo(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// Ajout du panneau contenant le plateau
add(new AvalamPanel());
Tower[][] grid = BoardLoader.loadFromFile("fr/iut_fbleau/Res/Plateau.txt");
GameState gs = new GameState(grid);
ScoreManager sm = new ScoreManager();
int y = sm.count(Color.COLOR1, grid);
int r = sm.count(Color.COLOR2, grid);
ScoreView scoreView = new ScoreView(y, r);
TurnView turnView = new TurnView("Tour du joueur : Jaune");
BoardView boardView = new BoardView(gs);
JPanel top = new JPanel(new GridLayout(2,1));
top.add(scoreView);
top.add(turnView);
add(top, BorderLayout.NORTH);
add(boardView, BorderLayout.CENTER);
setVisible(true);
}