Supression d'un repertoire en doublon suite à migration windows/linux
This commit is contained in:
@@ -1,61 +0,0 @@
|
|||||||
package view;
|
|
||||||
|
|
||||||
import javax.swing.*;
|
|
||||||
import java.awt.*;
|
|
||||||
import java.awt.event.MouseAdapter;
|
|
||||||
import java.awt.event.MouseEvent;
|
|
||||||
import model.Board;
|
|
||||||
import model.Tile;
|
|
||||||
import controller.GameController;
|
|
||||||
|
|
||||||
public class BoardView extends JPanel {
|
|
||||||
private GameController controller;
|
|
||||||
private int rows = 5;
|
|
||||||
private int cols = 5;
|
|
||||||
|
|
||||||
public BoardView(Board board, GameController controller) {
|
|
||||||
this.controller = controller;
|
|
||||||
setLayout(new GridLayout(rows, cols, 5, 5));
|
|
||||||
initializeBoard();
|
|
||||||
}
|
|
||||||
|
|
||||||
// Méthode pour assigner le contrôleur après création de l'instance
|
|
||||||
public void setController(GameController controller) {
|
|
||||||
this.controller = controller;
|
|
||||||
}
|
|
||||||
|
|
||||||
private void initializeBoard() {
|
|
||||||
for (int i = 0; i < rows * cols; i++) {
|
|
||||||
JPanel tilePanel = new JPanel();
|
|
||||||
tilePanel.setBackground(Color.LIGHT_GRAY);
|
|
||||||
tilePanel.setBorder(BorderFactory.createLineBorder(Color.BLACK));
|
|
||||||
|
|
||||||
tilePanel.addMouseListener(new MouseAdapter() {
|
|
||||||
@Override
|
|
||||||
public void mouseClicked(MouseEvent e) {
|
|
||||||
handleTilePlacement(tilePanel);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
add(tilePanel);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void handleTilePlacement(JPanel tilePanel) {
|
|
||||||
if (controller != null) { // Assure que le contrôleur est bien assigné
|
|
||||||
Tile tile = controller.getNextTile();
|
|
||||||
if (tile != null) {
|
|
||||||
tilePanel.setBackground(Color.GREEN);
|
|
||||||
tilePanel.add(new JLabel(tile.getType()));
|
|
||||||
revalidate();
|
|
||||||
repaint();
|
|
||||||
controller.placeTile(tile);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void refreshBoard() {
|
|
||||||
revalidate();
|
|
||||||
repaint();
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,31 +0,0 @@
|
|||||||
package controller;
|
|
||||||
|
|
||||||
import model.Game;
|
|
||||||
import model.Tile;
|
|
||||||
import view.GameView;
|
|
||||||
|
|
||||||
public class GameController {
|
|
||||||
private Game game;
|
|
||||||
private GameView gameView;
|
|
||||||
private Tile currentTile;
|
|
||||||
|
|
||||||
public GameController(Game game, GameView gameView) {
|
|
||||||
this.game = game;
|
|
||||||
this.gameView = gameView;
|
|
||||||
this.currentTile = null; // Initialise sans tuile au début
|
|
||||||
}
|
|
||||||
|
|
||||||
public void selectNextTile(Tile tile) {
|
|
||||||
this.currentTile = tile;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Tile getNextTile() {
|
|
||||||
return currentTile; // Retourne la tuile actuellement sélectionnée
|
|
||||||
}
|
|
||||||
|
|
||||||
public void placeTile(Tile tile) {
|
|
||||||
game.placeTile(tile);
|
|
||||||
gameView.update(game);
|
|
||||||
currentTile = null; // Réinitialise après placement
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,52 +0,0 @@
|
|||||||
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();
|
|
||||||
}
|
|
||||||
}
|
|
Reference in New Issue
Block a user