diff --git a/src/server/ServerGame.java b/src/server/ServerGame.java index 906c182..68dad5e 100644 --- a/src/server/ServerGame.java +++ b/src/server/ServerGame.java @@ -35,10 +35,18 @@ public static void main(String[] args){ ServerGame sg = new ServerGame(); + sg.establishConnection(); + while(sg.sockets.size() > 0){ + try { + Thread.sleep(500); + } catch (InterruptedException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } } public ServerGame() { - establishConnection(); } protected void establishConnection(){ @@ -67,6 +75,7 @@ System.out.println("Initalizing game..."); init(); System.out.println("Sending game to clients"); + System.out.println("game: " + toJson().toString(4)); String msg = toJson().toString(); sendToAll(MOVE_UPDATE, msg); addToHistory(msg); @@ -186,6 +195,7 @@ e.printStackTrace(); } if(msg != null) jo = new JSONObject(msg); + System.out.println("Server received: " + msg); // TODO MOVE_DRY switch(msgType){ case MOVE_PLACE_CARD: @@ -204,13 +214,21 @@ wasMove = true; break; } - if(!isValid) sendToAll(MOVE_INVALID); + System.out.println("game: " + toJson().toString(4)); + if(!isValid){ + System.out.println("was invalid move"); + sendToAll(MOVE_INVALID); // TODO only send to person who did the move + return; + } if(wasMove){ + System.out.println("was VALID move"); currentPlayer++; if(currentPlayer == nrOfPlayers) currentPlayer = 0; // TODO notify players if(movesLeft >= 0) movesLeft--; - sendToAll(MOVE_UPDATE, toJson().toString()); + String moveMsg = toJson().toString(); + sendToAll(MOVE_UPDATE, moveMsg); + addToHistory(moveMsg); } } @@ -462,6 +480,7 @@ } root.put("players", playerArray); root.put("currentPlayer", currentPlayer); + root.put("nrOfPlayers", nrOfPlayers); return root; }