Fix erreur derniere tuile fin de série
This commit is contained in:
parent
0fdd38bdae
commit
40ca29879a
bin
src/main/java
Binary file not shown.
Binary file not shown.
@ -58,11 +58,13 @@ public class GameController implements TilePlacer {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Placer la tuile actuelle
|
||||||
hexTile.setTile(nextTile);
|
hexTile.setTile(nextTile);
|
||||||
gridPanel.revalidate();
|
gridPanel.revalidate();
|
||||||
gridPanel.repaint();
|
gridPanel.repaint();
|
||||||
availablePositions.remove(position);
|
availablePositions.remove(position);
|
||||||
|
|
||||||
|
// Mettre à jour les positions disponibles autour de la tuile ajoutée
|
||||||
for (Point adj : getAdjacentPositions(position)) {
|
for (Point adj : getAdjacentPositions(position)) {
|
||||||
if (!hexagonMap.containsKey(adj)) {
|
if (!hexagonMap.containsKey(adj)) {
|
||||||
availablePositions.add(adj);
|
availablePositions.add(adj);
|
||||||
@ -71,13 +73,17 @@ public class GameController implements TilePlacer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
gameContext.repaintGrid(gridPanel);
|
gameContext.repaintGrid(gridPanel);
|
||||||
generateNextTile();
|
|
||||||
scoreGameContext.calculateScore();
|
scoreGameContext.calculateScore();
|
||||||
|
|
||||||
|
// Incrémenter le nombre de tuiles placées et vérifier si la limite est atteinte
|
||||||
placedTileCount++;
|
placedTileCount++;
|
||||||
if (placedTileCount >= 50) {
|
if (placedTileCount > 48) {
|
||||||
endGame(); // Appeler endGame pour terminer la partie
|
endGame(); // Terminer la partie si on a atteint la 50ᵉ tuile pile
|
||||||
|
return; // Arrêter ici pour éviter de générer une tuile vide
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Générer la prochaine tuile si la partie n'est pas terminée
|
||||||
|
generateNextTile();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -13,7 +13,7 @@ public class App {
|
|||||||
private static JPanel mainPanel;
|
private static JPanel mainPanel;
|
||||||
|
|
||||||
static {
|
static {
|
||||||
frame = new JFrame("Application de Jeu");
|
frame = new JFrame("DorfJavatik");
|
||||||
cardLayout = new CardLayout();
|
cardLayout = new CardLayout();
|
||||||
mainPanel = new JPanel(cardLayout);
|
mainPanel = new JPanel(cardLayout);
|
||||||
frame.setContentPane(mainPanel);
|
frame.setContentPane(mainPanel);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user