Fix erreur derniere tuile fin de série

This commit is contained in:
Vincent 2024-10-27 19:53:31 +01:00
parent 0fdd38bdae
commit 40ca29879a
4 changed files with 10 additions and 4 deletions
bin
src/main/java

Binary file not shown.

Binary file not shown.

@ -58,11 +58,13 @@ public class GameController implements TilePlacer {
return;
}
// Placer la tuile actuelle
hexTile.setTile(nextTile);
gridPanel.revalidate();
gridPanel.repaint();
availablePositions.remove(position);
// Mettre à jour les positions disponibles autour de la tuile ajoutée
for (Point adj : getAdjacentPositions(position)) {
if (!hexagonMap.containsKey(adj)) {
availablePositions.add(adj);
@ -71,13 +73,17 @@ public class GameController implements TilePlacer {
}
gameContext.repaintGrid(gridPanel);
generateNextTile();
scoreGameContext.calculateScore();
// Incrémenter le nombre de tuiles placées et vérifier si la limite est atteinte
placedTileCount++;
if (placedTileCount >= 50) {
endGame(); // Appeler endGame pour terminer la partie
if (placedTileCount > 48) {
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;
static {
frame = new JFrame("Application de Jeu");
frame = new JFrame("DorfJavatik");
cardLayout = new CardLayout();
mainPanel = new JPanel(cardLayout);
frame.setContentPane(mainPanel);