From d38bb6cb1a7e0deb10487c4b7a913fc2a04d7fe3 Mon Sep 17 00:00:00 2001
From: "Anders H. Rebner" <anderhre@stud.ntnu.no>
Date: Sat, 24 Apr 2021 13:42:57 +0200
Subject: [PATCH] Fixed did not finish bug

---
 .../mygdx/game/controllers/GameController.java    | 15 ++++-----------
 .../mygdx/game/controllers/NetworkController.java |  2 +-
 .../core/src/com/mygdx/game/model/Game.kt         |  4 ++++
 .../game/controller/commands/cLobbyLeave.java     |  3 +--
 4 files changed, 10 insertions(+), 14 deletions(-)

diff --git a/CheckersClient/core/src/com/mygdx/game/controllers/GameController.java b/CheckersClient/core/src/com/mygdx/game/controllers/GameController.java
index 6967893..0d8449b 100644
--- a/CheckersClient/core/src/com/mygdx/game/controllers/GameController.java
+++ b/CheckersClient/core/src/com/mygdx/game/controllers/GameController.java
@@ -7,6 +7,7 @@ import com.mygdx.game.model.Player;
 import com.mygdx.game.views.PlayView;
 import com.mygdx.game.views.tokens.StarPiece;
 
+import java.util.ArrayList;
 import java.util.List;
 
 public class GameController {
@@ -103,17 +104,9 @@ public class GameController {
     }
 
     public void setPlayerFinished(int playerId, int place) {
-
-        int playerIndex;
-        List<Player> players = playerController.getLobby().getPlayers();
-
-        for (Player player: players) {
-            if (player.getID() == playerId) {
-                playerIndex = players.indexOf(player);
-                this.view.setPlayerFinished(playerIndex, place);
-                break;
-            }
-        }
+        List<Integer> playerIds = new ArrayList(model.getPlayerIds());
+        int playerIndex = playerIds.indexOf(playerId);
+        this.view.setPlayerFinished(playerIndex, place);
     }
 
     public void setGameFinished() {
diff --git a/CheckersClient/core/src/com/mygdx/game/controllers/NetworkController.java b/CheckersClient/core/src/com/mygdx/game/controllers/NetworkController.java
index b8c6fd2..5c64b6c 100644
--- a/CheckersClient/core/src/com/mygdx/game/controllers/NetworkController.java
+++ b/CheckersClient/core/src/com/mygdx/game/controllers/NetworkController.java
@@ -23,7 +23,7 @@ public class NetworkController {
         this.client = new Client();
         client.start();
         try {
-            String IP4_LAN_ADDRESS = "192.168.1.167"; //"192.168.0.136";
+            String IP4_LAN_ADDRESS = "192.168.0.136";
             client.connect(10000, IP4_LAN_ADDRESS, 54555);
         } catch (IOException e) {
             e.printStackTrace();
diff --git a/CheckersClient/core/src/com/mygdx/game/model/Game.kt b/CheckersClient/core/src/com/mygdx/game/model/Game.kt
index e158813..e8dc145 100644
--- a/CheckersClient/core/src/com/mygdx/game/model/Game.kt
+++ b/CheckersClient/core/src/com/mygdx/game/model/Game.kt
@@ -136,4 +136,8 @@ class Game(gameState: GameState, playerIds: LinkedHashSet<Int>) {
     private fun thereArePlayersLeft(): Boolean {
         return playerFinishedIds.size < playerIds.size - playerLeftIds.size
     }
+
+    fun getPlayerIds(): LinkedHashSet<Int> {
+        return playerIds
+    }
 }
diff --git a/CheckersServer/core/src/com/mygdx/game/controller/commands/cLobbyLeave.java b/CheckersServer/core/src/com/mygdx/game/controller/commands/cLobbyLeave.java
index a0a73b1..c2f7762 100644
--- a/CheckersServer/core/src/com/mygdx/game/controller/commands/cLobbyLeave.java
+++ b/CheckersServer/core/src/com/mygdx/game/controller/commands/cLobbyLeave.java
@@ -26,8 +26,7 @@ public class cLobbyLeave extends Command{
 
             Lobby lobby = net.getLobby(lobbyId);
 
-            System.out.printf("Request from Player w. ID: %d to leave Lobby w. ID: %d. Returning Lobby w. ID: %d \n",
-                    playerId, lobbyId, lobbyId);
+            System.out.printf("Request from Player w. ID: %d to leave Lobby w. ID: %d \n", playerId, lobbyId);
 
             for (Connection c : net.getConnections(lobby)) {
                 c.sendTCP(this);
-- 
GitLab