test pour faire le plateau+nouveau menu dans testV1+ probleme compilation

This commit is contained in:
2024-11-14 18:30:20 +01:00
parent 03e17d1882
commit 57fcd8f1af
69 changed files with 1568 additions and 329 deletions

View File

@@ -0,0 +1,52 @@
package view;
import model.Game;
import model.Tile;
import controller.GameController;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class GameView extends JFrame {
private JLabel scoreLabel;
private BoardView boardView;
private GameController controller; // Ajoute le contrôleur ici
public GameView(Game game) { // Constructeur sans le contrôleur en paramètre
setTitle("Dorfromantik en Java");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(500, 500);
setLayout(new BorderLayout());
scoreLabel = new JLabel("Score : " + game.getScore());
boardView = new BoardView(game.getBoard(), null); // Initialise BoardView sans contrôleur
JButton nextTileButton = new JButton("Sélectionner une tuile");
nextTileButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
if (controller != null) { // Vérifie que le contrôleur est bien assigné
Tile tile = new Tile("forêt", new String[]{"terre", "terre", "eau", "terre", "eau", "terre"});
controller.selectNextTile(tile);
}
}
});
add(scoreLabel, BorderLayout.NORTH);
add(boardView, BorderLayout.CENTER);
add(nextTileButton, BorderLayout.SOUTH);
}
// Nouvelle méthode setController pour permettre d'assigner le contrôleur après création
public void setController(GameController controller) {
this.controller = controller;
boardView.setController(controller); // Passe le contrôleur à BoardView
}
public void update(Game game) {
scoreLabel.setText("Score : " + game.getScore());
boardView.refreshBoard();
}
}