package com.charpentierbalocchi.dorfjavatik.view; import javax.swing.*; import com.charpentierbalocchi.dorfjavatik.model.Tuile; import java.awt.*; public class FenetreJeu extends JFrame { private static final int TAILLE_PLATEAU = 5; // Taille du plateau 5x5 private JButton[][] boutons; // Boutons représentant les cases du plateau private JLabel labelScore; // Label pour afficher le score public FenetreJeu() { super("DorfJavaTik"); // Titre de la fenêtre initUI(); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // Ferme l'application à la fermeture de la fenêtre setLocationRelativeTo(null); // Centre la fenêtre sur l'écran pack(); // Ajuste la taille de la fenêtre en fonction des composants } private void initUI() { // Panel principal JPanel panelPrincipal = new JPanel(new BorderLayout()); // Panel pour le plateau de jeu JPanel plateau = new JPanel(new GridLayout(TAILLE_PLATEAU, TAILLE_PLATEAU)); plateau.setSize(1000, 1000); plateau.setLocation(0, 0); boutons = new JButton[TAILLE_PLATEAU][TAILLE_PLATEAU]; for (int i = 0; i < TAILLE_PLATEAU; i++) { for (int j = 0; j < TAILLE_PLATEAU; j++) { JButton bouton = new JButton(); boutons[i][j] = bouton; plateau.add(bouton); } } // Label pour le score labelScore = new JLabel("Score: 0"); panelPrincipal.add(labelScore, BorderLayout.NORTH); panelPrincipal.add(plateau, BorderLayout.CENTER); add(panelPrincipal); } // Méthode pour mettre à jour le plateau après placement d'une tuile public void updateBoard(int x, int y, Tuile tuile) { JButton bouton = boutons[x][y]; bouton.setText(tuile.toString()); // Utilisez toString ou une autre méthode pour représenter visuellement la // tuile bouton.setEnabled(false); // Désactive le bouton pour éviter le placement d'une autre tuile à cette // position } public void setScore(int score) { labelScore.setText("Score: " + score); } }