diff options
author | cirakg <ciraboxkg@gmail.com> | 2023-01-02 15:32:29 +0100 |
---|---|---|
committer | cirakg <ciraboxkg@gmail.com> | 2023-01-02 15:32:29 +0100 |
commit | 8d0fedf836cfd418f9c05d5c21b3c6cc1875e5c9 (patch) | |
tree | 57338e5914403e214b2eb630b7e9b102d1a9ddb4 /src/main/java/pokemon/Server.java | |
parent | 743bf39206ba8d51d1c60928ea49b5daf8970444 (diff) |
Omoguceno igranje igre. Prikaz rezultata po zavrsetku igre. Postavljanje korisnika da budu dostupni za nove zahteve.TODO(Popraviti progress bar,upisivanje rezultata igre u bazu, povratak korisnika da biranje protivnika,provera unosa web i client, ispit istorije meceva web)
Diffstat (limited to 'src/main/java/pokemon/Server.java')
-rw-r--r-- | src/main/java/pokemon/Server.java | 45 |
1 files changed, 43 insertions, 2 deletions
diff --git a/src/main/java/pokemon/Server.java b/src/main/java/pokemon/Server.java index 9d56a27..0c8e31e 100644 --- a/src/main/java/pokemon/Server.java +++ b/src/main/java/pokemon/Server.java @@ -217,9 +217,10 @@ public class Server implements Runnable { System.out.println(opponentId); Game game=null; for(Game tempGame :games) { - if(tempGame.player1Id==opponentId) + if(tempGame.player1Id==opponentId) { game=tempGame; - break; + break; + } } game.status=GameStatus.PLAYING; ByteBuffer buff = ByteBuffer.wrap(game.toString().getBytes()); @@ -285,8 +286,48 @@ public class Server implements Runnable { opponentSocket.write(buff); ByteBuffer buff1 = ByteBuffer.wrap(myMsg.getBytes()); sc.write(buff1); + }else if(msg[0].equals("GAMEPLAY")) { + long myId=players.get(sc); + long moveId=Long.parseLong(msg[1]); + + Game game=null; + for(Game tempGame :games) { + if(tempGame.player1Id==myId || tempGame.player2Id==myId) { + game=tempGame; + break; + } + } + long opponentId=-1; + + if(game.player1Id==myId) { + opponentId=game.player2Id; + game.player1Move(moveId); + }else { + opponentId=game.player1Id; + game.player2Move(moveId); + } + SocketChannel opponentSocket=null; + for(Entry<SocketChannel, Long> player : players.entrySet()) { + if(player.getValue()==opponentId) { + opponentSocket=player.getKey(); + break; + } + } + int gameRes=game.checkWin(); + ByteBuffer buff = ByteBuffer.wrap(game.toString().getBytes()); + opponentSocket.write(buff); + ByteBuffer buff1 = ByteBuffer.wrap(game.toString().getBytes()); + sc.write(buff1); + + if(gameRes==1) { + inGame.remove(sc); + inGame.remove(opponentSocket); + games.remove(game); + System.out.println("GAME FINISHED"+games.size()); + //add game to database + } } |