From 00beea50ecab95ce5dcc1e5a34d5115b99efda47 Mon Sep 17 00:00:00 2001 From: nico Date: Mon, 5 Nov 2018 14:07:30 +0800 Subject: [PATCH] fix sublist be addall and then sort bug --- ...erverEventListener_CODE_GRAB_LANDLORD.java | 6 ++++- .../server/event/helper/PokerHelper.java | 27 ++++++++++++------- 2 files changed, 23 insertions(+), 10 deletions(-) diff --git a/landlords-server/src/main/java/org/nico/ratel/landlords/server/event/ServerEventListener_CODE_GRAB_LANDLORD.java b/landlords-server/src/main/java/org/nico/ratel/landlords/server/event/ServerEventListener_CODE_GRAB_LANDLORD.java index 7375085..515bc12 100644 --- a/landlords-server/src/main/java/org/nico/ratel/landlords/server/event/ServerEventListener_CODE_GRAB_LANDLORD.java +++ b/landlords-server/src/main/java/org/nico/ratel/landlords/server/event/ServerEventListener_CODE_GRAB_LANDLORD.java @@ -22,9 +22,13 @@ public class ServerEventListener_CODE_GRAB_LANDLORD implements ServerEventListen boolean isY = serverTransferData.getData(); if(isY){ + System.out.println(PokerHelper.unfoldPoker(room.getLandlordPokers(), false)); + System.out.println(PokerHelper.unfoldPoker(room.getLandlordPokers(), false)); clientSide.getPokers().addAll(room.getLandlordPokers()); PokerHelper.sortPoker(clientSide.getPokers()); - + System.out.println(PokerHelper.unfoldPoker(room.getLandlordPokers(), false)); + + room.setLandlordId(clientSide.getId()); for(ClientSide client: room.getClientSideList()){ ChannelUtils.pushToClient(client.getChannel(), null, null, clientSide.getNickname() + " grabed landlord, he got three pokers:\r\n" + PokerHelper.unfoldPoker(room.getLandlordPokers(), false)); diff --git a/landlords-server/src/main/java/org/nico/ratel/landlords/server/event/helper/PokerHelper.java b/landlords-server/src/main/java/org/nico/ratel/landlords/server/event/helper/PokerHelper.java index 7f7886b..c83899e 100644 --- a/landlords-server/src/main/java/org/nico/ratel/landlords/server/event/helper/PokerHelper.java +++ b/landlords-server/src/main/java/org/nico/ratel/landlords/server/event/helper/PokerHelper.java @@ -73,10 +73,18 @@ public class PokerHelper { public static List> distributePoker(){ Collections.shuffle(basePokers); List> pokersList = new ArrayList>(); - pokersList.add(basePokers.subList(0, 17)); - pokersList.add(basePokers.subList(17, 34)); - pokersList.add(basePokers.subList(34, 51)); - pokersList.add(basePokers.subList(51, 54)); + List pokers1 = new ArrayList<>(17); + pokers1.addAll(basePokers.subList(0, 17)); + List pokers2 = new ArrayList<>(17); + pokers2.addAll(basePokers.subList(17, 34)); + List pokers3 = new ArrayList<>(17); + pokers3.addAll(basePokers.subList(34, 51)); + List pokers4 = new ArrayList<>(3); + pokers4.addAll(basePokers.subList(51, 54)); + pokersList.add(pokers1); + pokersList.add(pokers2); + pokersList.add(pokers3); + pokersList.add(pokers4); for(List pokers: pokersList) { sortPoker(pokers); } @@ -137,12 +145,13 @@ public class PokerHelper { return builder.toString(); } - - public static void main(String[] args) { List> pokersList = distributePoker(); - for(List pokers: pokersList) { - System.out.println(unfoldPoker(pokers, true)); - } + System.out.println(unfoldPoker(pokersList.get(3), false)); + List newPokers = pokersList.get(0); + newPokers.addAll(pokersList.get(3)); + sortPoker(newPokers); + System.out.println(unfoldPoker(pokersList.get(3), false)); + System.out.println(unfoldPoker(pokersList.get(3), false)); } }