From 4d5de613fd06ac1d52b9b5a1114a63befe3fb476 Mon Sep 17 00:00:00 2001 From: Nico Date: Thu, 15 Jul 2021 14:49:50 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=B8=80=E4=BA=9B=E5=AE=89?= =?UTF-8?q?=E5=85=A8=E9=9A=90=E6=82=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ClientEventListener_CODE_GAME_OVER.java | 38 +++++++++---------- ...erverEventListener_CODE_GAME_STARTING.java | 16 +++----- 2 files changed, 24 insertions(+), 30 deletions(-) diff --git a/landlords-client/src/main/java/org/nico/ratel/landlords/client/event/ClientEventListener_CODE_GAME_OVER.java b/landlords-client/src/main/java/org/nico/ratel/landlords/client/event/ClientEventListener_CODE_GAME_OVER.java index 5abd90d..b267655 100644 --- a/landlords-client/src/main/java/org/nico/ratel/landlords/client/event/ClientEventListener_CODE_GAME_OVER.java +++ b/landlords-client/src/main/java/org/nico/ratel/landlords/client/event/ClientEventListener_CODE_GAME_OVER.java @@ -2,6 +2,7 @@ package org.nico.ratel.landlords.client.event; import java.util.List; import java.util.Map; +import java.util.Objects; import org.nico.noson.Noson; import org.nico.noson.entity.NoType; @@ -19,27 +20,26 @@ public class ClientEventListener_CODE_GAME_OVER extends ClientEventListener { Map map = MapHelper.parser(data); SimplePrinter.printNotice("\nPlayer " + map.get("winnerNickname") + "[" + map.get("winnerType") + "]" + " won the game"); - List> scores = Noson.convert(map.get("scores"), new NoType>>() {}); - - for (Map score : scores) { - if (SimpleClient.id != (int) score.get("clientId")) { - SimplePrinter.printNotice(score.get("nickName").toString() + "'s rest poker is:"); - SimplePrinter.printPokers(Noson.convert(score.get("pokers"), new NoType>() {})); + if (map.containsKey("scores")){ + List> scores = Noson.convert(map.get("scores"), new NoType>>() {}); + for (Map score : scores) { + if (! Objects.equals(score.get("clientId"), SimpleClient.id)) { + SimplePrinter.printNotice(score.get("nickName").toString() + "'s rest poker is:"); + SimplePrinter.printPokers(Noson.convert(score.get("pokers"), new NoType>() {})); + } } - } - SimplePrinter.printNotice("\n"); - - // print score - for (Map score : scores) { - String scoreInc = score.get("scoreInc").toString(); - String scoreTotal = score.get("score").toString(); - if (SimpleClient.id != (int) score.get("clientId")) { - SimplePrinter.printNotice(score.get("nickName").toString() + "'s score is " + scoreInc + ", total score is " + scoreTotal); - } else { - SimplePrinter.printNotice("your score is " + scoreInc + ", total score is " + scoreTotal); + SimplePrinter.printNotice("\n"); + // print score + for (Map score : scores) { + String scoreInc = score.get("scoreInc").toString(); + String scoreTotal = score.get("score").toString(); + if (SimpleClient.id != (int) score.get("clientId")) { + SimplePrinter.printNotice(score.get("nickName").toString() + "'s score is " + scoreInc + ", total score is " + scoreTotal); + } else { + SimplePrinter.printNotice("your score is " + scoreInc + ", total score is " + scoreTotal); + } } + ClientEventListener_CODE_GAME_READY.gameReady(channel); } - - ClientEventListener_CODE_GAME_READY.gameReady(channel); } } diff --git a/landlords-server/src/main/java/org/nico/ratel/landlords/server/event/ServerEventListener_CODE_GAME_STARTING.java b/landlords-server/src/main/java/org/nico/ratel/landlords/server/event/ServerEventListener_CODE_GAME_STARTING.java index cd32d9d..5f0f493 100644 --- a/landlords-server/src/main/java/org/nico/ratel/landlords/server/event/ServerEventListener_CODE_GAME_STARTING.java +++ b/landlords-server/src/main/java/org/nico/ratel/landlords/server/event/ServerEventListener_CODE_GAME_STARTING.java @@ -52,8 +52,6 @@ public class ServerEventListener_CODE_GAME_STARTING implements ServerEventListen .put("nextClientNickname", startGrabClient.getNickname()) .put("nextClientId", startGrabClient.getId()) .put("pokers", client.getPokers()) - // this key-value use to client order to show - .put("clientOrderList", roomClientList) .json(); if (client.getRole() == ClientRole.PLAYER) { @@ -76,16 +74,12 @@ public class ServerEventListener_CODE_GAME_STARTING implements ServerEventListen * @param room 房间 */ private void notifyWatcherGameStart(Room room) { + String result = MapHelper.newInstance() + .put("player1", room.getClientSideList().getFirst().getNickname()) + .put("player2", room.getClientSideList().getFirst().getNext().getNickname()) + .put("player3", room.getClientSideList().getLast().getNickname()) + .json(); for (ClientSide clientSide : room.getWatcherList()) { - String result = MapHelper.newInstance() - .put("player1", room.getClientSideList().getFirst().getNickname()) - .put("pokers1", room.getClientSideList().getFirst().getPokers()) - .put("player2", room.getClientSideList().getFirst().getNext().getNickname()) - .put("pokers2", room.getClientSideList().getFirst().getNext().getPokers()) - .put("player3", room.getClientSideList().getLast().getNickname()) - .put("pokers3", room.getClientSideList().getLast().getPokers()) - .json(); - ChannelUtils.pushToClient(clientSide.getChannel(), ClientEventCode.CODE_GAME_STARTING, result); } }