From 7ebce2e9682752fef9c5aa4ca2e0d14583c0e9a0 Mon Sep 17 00:00:00 2001 From: rubenpirreram Date: Wed, 20 May 2026 17:16:48 +0200 Subject: [PATCH] Added: now if the server crash when there is only one player, at the restart the server will forgive the old game. (Probably also the remaining player is disconnected) --- .../gc14/Model/Cards/TribeCards/Characters/Inventor.java | 2 +- src/main/java/it/polimi/ingsw/gc14/ServerLauncher.java | 9 ++++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/main/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Characters/Inventor.java b/src/main/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Characters/Inventor.java index 2397506..5beb31f 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Characters/Inventor.java +++ b/src/main/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Characters/Inventor.java @@ -129,8 +129,8 @@ public class Inventor extends Character { */ @Override public void insert(Player player) { - player.buildingCards.stream().filter(b -> b.getEffectId() == 4).forEach(b4 -> b4.applyEffect(player)); player.inventors.add(this); + player.buildingCards.stream().filter(b -> b.getEffectId() == 4).forEach(b4 -> b4.applyEffect(player)); player.buildingCards.stream().filter(x->x.getEffectId()==0).forEach(x->x.applyEffect(player)); } } diff --git a/src/main/java/it/polimi/ingsw/gc14/ServerLauncher.java b/src/main/java/it/polimi/ingsw/gc14/ServerLauncher.java index 6dbd239..6a70238 100644 --- a/src/main/java/it/polimi/ingsw/gc14/ServerLauncher.java +++ b/src/main/java/it/polimi/ingsw/gc14/ServerLauncher.java @@ -86,7 +86,13 @@ public class ServerLauncher { this.actionQueue = actionQueue; this.serverRMI = serverRMI; this.gameController = gameController; - this.gameController.setModel(loadSave()); + Game game= loadSave(); + if(gameController.getModel().disconnetedPlayers.entrySet().stream().filter(Map.Entry::getValue).count() >gameController.getModel().getNPlayers()-1){ + gameController.setModel(null); + this.deleteSave(); + } + else + this.gameController.setModel(game); this.serverTCP = serverTCP; } @@ -237,6 +243,7 @@ public class ServerLauncher { } } serverCrashed = true; + } else { serverCrashed = false; }