From e4e3e22a1eba9330aa3d73fd3821d9127595810a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=97=E5=BA=86=E5=B8=85?= <9175754+miao-qingshuai@user.noreply.gitee.com> Date: Thu, 19 Jun 2025 20:55:57 +0800 Subject: [PATCH] =?UTF-8?q?fix(game):=20=E4=BF=AE=E5=A4=8D=E6=B8=B8?= =?UTF-8?q?=E6=88=8F=E7=BB=93=E6=9D=9F=E9=80=BB=E8=BE=91=E5=B9=B6=E4=BC=98?= =?UTF-8?q?=E5=8C=96=E5=88=86=E6=95=B0=E8=AE=A1=E7=AE=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 修改了游戏结束时的分数计算逻辑,确保正确处理玩家的输赢- 优化了回放功能,增加了游戏结束后的详细结果信息- 调整了底池分数的计算方式,根据房间配置动态设置 - 修复了玩家在游戏中的总失分计算错误 --- .../src/main/java/com/game/data/Room.java | 3 +- .../main/java/com/game/data/RoomDismiss.java | 2 - .../target/classes/com/game/data/Room.class | Bin 39414 -> 39414 bytes .../classes/com/game/data/RoomDismiss$1.class | Bin 1311 -> 1311 bytes .../classes/com/game/data/RoomDismiss.class | Bin 5228 -> 5228 bytes .../main/java/extend/pk/EXGameController.java | 15 +++- .../src/main/java/extend/pk/EXRoom.java | 69 ++++++++++-------- .../pk/player/state/EXPlayerAllInState.java | 6 +- .../pk/player/state/EXPlayerBetState.java | 5 +- .../pk/player/state/EXPlayerCallState.java | 6 +- .../pk/player/state/EXPlayerFoldState.java | 3 +- .../pk/player/state/EXPlayerRaiseState.java | 5 +- .../pk/room/state/EXRoomStartGameState.java | 31 +++++++- .../classes/extend/pk/EXGameController.class | Bin 8753 -> 8824 bytes .../target/classes/extend/pk/EXRoom.class | Bin 7368 -> 7273 bytes .../pk/player/state/EXPlayerAllInState.class | Bin 6030 -> 6059 bytes .../pk/player/state/EXPlayerBetState.class | Bin 5608 -> 5616 bytes .../pk/player/state/EXPlayerCallState.class | Bin 5923 -> 5957 bytes .../pk/player/state/EXPlayerFoldState.class | Bin 4211 -> 4211 bytes .../pk/player/state/EXPlayerRaiseState.class | Bin 5422 -> 5434 bytes .../pk/room/state/EXRoomStartGameState.class | Bin 1844 -> 2819 bytes 21 files changed, 100 insertions(+), 45 deletions(-) diff --git a/libs/game_common/src/main/java/com/game/data/Room.java b/libs/game_common/src/main/java/com/game/data/Room.java index 7227295..b479e1f 100644 --- a/libs/game_common/src/main/java/com/game/data/Room.java +++ b/libs/game_common/src/main/java/com/game/data/Room.java @@ -193,6 +193,7 @@ public class Room implements Runnable { * 1.固定抽水 : 2.浮动抽水(百分比) 倍数 times */ public ITObject hpData; + /** * 是否打开托管 */ @@ -623,7 +624,6 @@ public class Room implements Runnable { this.saveMilitaryTotal(true); } else { roomResult(); - } Global.logger.info("total: "+total); for (Entry entry : this.playerMapById.entrySet()) { @@ -640,7 +640,6 @@ public class Room implements Runnable { } Global.logger.info("total: "+total); if (total) { - this.stateMachine.changeState(Global.getState(RoomDestoryGameState.class)); } else { this.stateMachine.changeState(Global.getState(RoomEndState.class)); diff --git a/libs/game_common/src/main/java/com/game/data/RoomDismiss.java b/libs/game_common/src/main/java/com/game/data/RoomDismiss.java index e91368a..d558370 100644 --- a/libs/game_common/src/main/java/com/game/data/RoomDismiss.java +++ b/libs/game_common/src/main/java/com/game/data/RoomDismiss.java @@ -102,8 +102,6 @@ public void responseDismiss(Player player, boolean agree) { // 如果所有玩家都同意,解散房间 if (agree) { -// // 结束房间内的游戏 -// player.room.saveMilitaryTotal(true); interruptTimer(); } else { // 如果有玩家不同意,通知游戏控制器解散房间失败 diff --git a/libs/game_common/target/classes/com/game/data/Room.class b/libs/game_common/target/classes/com/game/data/Room.class index e6fe76c766061bbe0ba74fafbb5a49cb3b00df00..056c76e4831933da5d78101c2bdd99164d2a29b7 100644 GIT binary patch delta 3805 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 LD1SQcBP64?*0YWZ~`}R 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 Jj(f?t{{ttduSEa= diff --git a/libs/game_common/target/classes/com/game/data/RoomDismiss$1.class b/libs/game_common/target/classes/com/game/data/RoomDismiss$1.class index 868ec10091d8ff109687428010ca6747e7d01f4b..dac50d0f0cd2165599f7aaadb78b3afbf5bf92fa 100644 GIT binary patch delta 27 jcmbQwHJ@ukEDPg=$#ET2CtZYnjvzXm1EN5q9rIdxTm5-aUQ4(S@m`1$|A6H$JvS7xH z%!fZb|l(m|z5h~6>hbK0Kz zxOnA}0SSgYGa|(sY2L{&mh%Y>rnH&y!dx~c7ZzgfUwJGkToPnOjEzVJvbL>Q2lCnu jJA2%GNcPDCU+8>`kZNcr!u$~7mneV4`Io&HCd7s~Tk)#oTsyH=3fdPB ieDj1Y*?}ky20ubqE$v8{Un2Ywh%sV?lC6- diff --git a/puke/suoha/game_pk_suoha/src/main/java/extend/pk/EXGameController.java b/puke/suoha/game_pk_suoha/src/main/java/extend/pk/EXGameController.java index 4ada2d7..c17085d 100644 --- a/puke/suoha/game_pk_suoha/src/main/java/extend/pk/EXGameController.java +++ b/puke/suoha/game_pk_suoha/src/main/java/extend/pk/EXGameController.java @@ -119,15 +119,22 @@ public void RouterAction(Session sender, ITObject params, int gid, Player owner) EXPlayer player = (EXPlayer) entry.getValue(); // 如果当前玩家是胜利者,则将其总得分加上房间的边注 if (owner.win.playerid == player.playerid) { - player.score.total_score += owner.sidePot; - } + player.score.total_score +=player.totalLostScore; + if (owner.nextRound!=owner.maxRound){ + player.lostScore=player.totalLostScore; + } + }else { + if (owner.nextRound!=owner.maxRound){ + player.lostScore=0-player.totalLostScore; + } + } // 创建一个新的对象,用于存储当前玩家的信息 ITObject obj = TObject.newInstance(); // 存储玩家的座位号 obj.putInt("seat", player.seat); // 计算玩家的总得分,减去丢失的分数 player.score.total_score -= player.lostScore; - player.score.total_score -= player.lostScore; +// player.score.total_score -= player.lostScore; // 存储玩家的总得分和本轮得分 obj.putInt("score", player.score.total_score); obj.putInt("winscore", player.score.round_score); @@ -165,6 +172,7 @@ public void RouterAction(Session sender, ITObject params, int gid, Player owner) // 存储洗牌得分 mp.putInt("xipai_score", owner.xi_pai_score); // 返回包含房间结果数据的对象 + return mp; } @@ -173,6 +181,7 @@ public void RouterAction(Session sender, ITObject params, int gid, Player owner) ITObject result = getRoomResultData(owner, false); result.putInt("type", 0); owner.nextRound++; + owner.broadCastToClient(0, Config.GAME_EVT_RESULT1, result); } diff --git a/puke/suoha/game_pk_suoha/src/main/java/extend/pk/EXRoom.java b/puke/suoha/game_pk_suoha/src/main/java/extend/pk/EXRoom.java index e428b9a..af4e35d 100644 --- a/puke/suoha/game_pk_suoha/src/main/java/extend/pk/EXRoom.java +++ b/puke/suoha/game_pk_suoha/src/main/java/extend/pk/EXRoom.java @@ -84,6 +84,8 @@ public class EXRoom extends Room { + + public EXPlayer win; public EXRoom(String roomid, Map redis_room_map) { @@ -119,15 +121,6 @@ public class EXRoom extends Room { this.config.putInt(Config.ROOM_CONFIG_BASE_SCORE, 0); } - if (this.config.getInt(Config.ROOM_CONFIG_BASE_SCORE)==0){ - this.sidePot = 1; - } - if (this.config.getInt(Config.ROOM_CONFIG_BASE_SCORE)==1){ - this.sidePot = 2; - } - if (this.config.getInt(Config.ROOM_CONFIG_BASE_SCORE)==2) { - this.sidePot = 5; - } // System.out.println("底注"+this.config.getInt(Config.ROOM_CONFIG_BASE_SCORE)); // int num = this.config.getInt(Config.ROOM_CONFIG_BASE_SCORE); @@ -234,28 +227,46 @@ public class EXRoom extends Room { EXMainServer.gameCtr.roomTotalResult(this, dissmiss); } - @Override - public void endGame() { - addAllScore(win); - Global.logger.error("EXRoom: endGame"); + /** + * 结束游戏处理 + * + * 此方法在游戏结束时被调用,负责计算分数、记录日志、以及更新播放数据 + * 它还负责生成游戏结束后的回放信息,供玩家回顾游戏过程 + */ +@Override +public void endGame() { + // 累加所有玩家的分数 + addAllScore(win); + // 记录游戏结束的日志 + Global.logger.error("EXRoom: endGame"); - EXPlayBack pb = (EXPlayBack) this.playBackData; + // 将当前的播放数据转换为EXPlayBack对象 + EXPlayBack pb = (EXPlayBack) this.playBackData; - ITObject pbResult = TObject.newInstance(); + // 创建一个新的对象来存储游戏结束后的回放结果 + ITObject pbResult = TObject.newInstance(); - ITArray info = new TArray(); - for (Entry entry : playerMapByPlaying.entrySet()) { - EXPlayer player = (EXPlayer) entry.getValue(); - ITObject obj = TObject.newInstance(); - obj.putInt("seat", player.seat); - obj.putInt("score", player.score.round_score); - info.addTObject(obj); - } - pbResult.putTArray("result", info); - Global.logger.error("pbResult:" + pbResult); - pb.addResultCommand(win.seat, pbResult); + // 创建一个数组来存储每个玩家的游戏信息 + ITArray info = new TArray(); + // 遍历所有正在玩的玩家,收集他们的座位号和分数 + for (Entry entry : playerMapByPlaying.entrySet()) { + EXPlayer player = (EXPlayer) entry.getValue(); + ITObject obj = TObject.newInstance(); + obj.putInt("seat", player.seat); + obj.putInt("score", player.score.round_score); + info.addTObject(obj); + } + // 将收集到的玩家信息添加到回放结果中 + pbResult.putTArray("result", info); + // 记录回放结果的日志 + Global.logger.error("pbResult:" + pbResult); + // 在回放中添加结果命令,包括胜利者的座位号和游戏结果 + pb.addResultCommand(win.seat, pbResult); + + // 在回放中添加开始新轮游戏的命令 + pb.addNewRoundCommand(); + // 调用父类的结束游戏方法 + super.endGame(); +} - pb.addNewRoundCommand(); - super.endGame(); - } } diff --git a/puke/suoha/game_pk_suoha/src/main/java/extend/pk/player/state/EXPlayerAllInState.java b/puke/suoha/game_pk_suoha/src/main/java/extend/pk/player/state/EXPlayerAllInState.java index f3d1a0b..93fa2fb 100644 --- a/puke/suoha/game_pk_suoha/src/main/java/extend/pk/player/state/EXPlayerAllInState.java +++ b/puke/suoha/game_pk_suoha/src/main/java/extend/pk/player/state/EXPlayerAllInState.java @@ -152,8 +152,12 @@ public class EXPlayerAllInState extends StateBase { System.out.println("all in 下注分数1:"+owner.betScore); + + owner.totalLostScore = owner.totalLostScore - 1; + owner.totalLostScore += owner.lostScore; // 扣除下注分数 - owner.lostScore = 0 - owner.betScore; + owner.lostScore = owner.betScore; + // room.callScore = 0; System.out.println("底池分数:"+room.sidePot); room.sidePot += owner.betScore; diff --git a/puke/suoha/game_pk_suoha/src/main/java/extend/pk/player/state/EXPlayerBetState.java b/puke/suoha/game_pk_suoha/src/main/java/extend/pk/player/state/EXPlayerBetState.java index d27a39e..902c90f 100644 --- a/puke/suoha/game_pk_suoha/src/main/java/extend/pk/player/state/EXPlayerBetState.java +++ b/puke/suoha/game_pk_suoha/src/main/java/extend/pk/player/state/EXPlayerBetState.java @@ -116,6 +116,7 @@ public class EXPlayerBetState extends StateBase { */ public void addSidePot(EXPlayer owner) { EXRoom room = owner.getRoom(); + // 初始化每轮打出的总分数 // for (Entry entry : room.playerMapBySeat.entrySet()) { // EXPlayer player = (EXPlayer) entry.getValue(); @@ -133,9 +134,11 @@ public class EXPlayerBetState extends StateBase { owner.betScore=owner.betScore*2; } + owner.totalLostScore += owner.betScore; // 扣除下注分数 - owner.lostScore = owner.betScore; + owner.lostScore =owner.betScore; + // room.callScore = 0; room.sidePot += owner.betScore; room.raiseRound = 0; diff --git a/puke/suoha/game_pk_suoha/src/main/java/extend/pk/player/state/EXPlayerCallState.java b/puke/suoha/game_pk_suoha/src/main/java/extend/pk/player/state/EXPlayerCallState.java index 2fe6c46..8258c3e 100644 --- a/puke/suoha/game_pk_suoha/src/main/java/extend/pk/player/state/EXPlayerCallState.java +++ b/puke/suoha/game_pk_suoha/src/main/java/extend/pk/player/state/EXPlayerCallState.java @@ -136,11 +136,11 @@ public class EXPlayerCallState extends StateBase { EXRoom room = owner.getRoom(); System.out.println("当前需跟注分数"+room.callScore); // 扣除下注分数 -// owner.lostScore = room.callScore-owner.needScore; + owner.lostScore = room.callScore; //计算总下注分数 -// owner.totalLostScore += owner.lostScore; + owner.totalLostScore += owner.lostScore; - owner.totalLostScore += room.callScore; +// owner.totalLostScore += room.callScore; System.out.println("当前已下注分数"+room.callScore); System.out.println("加注后需要补加的分数:owner.needScore"+owner.needScore); diff --git a/puke/suoha/game_pk_suoha/src/main/java/extend/pk/player/state/EXPlayerFoldState.java b/puke/suoha/game_pk_suoha/src/main/java/extend/pk/player/state/EXPlayerFoldState.java index 1d52a54..ea4b4ba 100644 --- a/puke/suoha/game_pk_suoha/src/main/java/extend/pk/player/state/EXPlayerFoldState.java +++ b/puke/suoha/game_pk_suoha/src/main/java/extend/pk/player/state/EXPlayerFoldState.java @@ -40,8 +40,9 @@ public class EXPlayerFoldState extends StateBase { if (player.fold) { foldCount++; } + } - if (foldCount >= room.playerMapById.size() - 1) { + if (foldCount >= room.playerMapById.size()-1) { over(room); return; } diff --git a/puke/suoha/game_pk_suoha/src/main/java/extend/pk/player/state/EXPlayerRaiseState.java b/puke/suoha/game_pk_suoha/src/main/java/extend/pk/player/state/EXPlayerRaiseState.java index 51b2e40..37bc343 100644 --- a/puke/suoha/game_pk_suoha/src/main/java/extend/pk/player/state/EXPlayerRaiseState.java +++ b/puke/suoha/game_pk_suoha/src/main/java/extend/pk/player/state/EXPlayerRaiseState.java @@ -120,11 +120,12 @@ public class EXPlayerRaiseState extends StateBase { // 扣除下注分数 // owner.lostScore = room.raiseScore-owner.needScore; + owner.lostScore =room.raiseScore; System.out.println("增加的owner.lostScore"+owner.lostScore); -// owner.totalLostScore += owner.lostScore; - owner.totalLostScore += room.raiseScore; + owner.totalLostScore += owner.lostScore; +// owner.totalLostScore += room.raiseScore; // room.sidePot += Math.abs(owner.lostScore); diff --git a/puke/suoha/game_pk_suoha/src/main/java/extend/pk/room/state/EXRoomStartGameState.java b/puke/suoha/game_pk_suoha/src/main/java/extend/pk/room/state/EXRoomStartGameState.java index 2a7a0a9..5c7c161 100644 --- a/puke/suoha/game_pk_suoha/src/main/java/extend/pk/room/state/EXRoomStartGameState.java +++ b/puke/suoha/game_pk_suoha/src/main/java/extend/pk/room/state/EXRoomStartGameState.java @@ -28,10 +28,39 @@ public void enter(EXRoom owner) { // 遍历房间中所有玩家,清除他们的额外状态 for (Entry entry : owner.playerMapBySeat.entrySet()) { EXPlayer player = (EXPlayer) entry.getValue(); + + if (owner.config.getInt(Config.ROOM_CONFIG_BASE_SCORE)==0){ + if (owner.nextRound==1 && owner.config.getInt(Config.ROOM_CONFIG_BASE_SCORE)==0){ + player.totalLostScore=1; + player.lostScore=-1; + } + owner.sidePot = 2; + + }else if (owner.config.getInt(Config.ROOM_CONFIG_BASE_SCORE)==1){ + if (owner.nextRound==1 && owner.config.getInt(Config.ROOM_CONFIG_BASE_SCORE)==1){ + player.totalLostScore=2; + player.lostScore=-2; + } + owner.sidePot = 4; + + }else if (owner.config.getInt(Config.ROOM_CONFIG_BASE_SCORE)==2) { + if (owner.nextRound==1 && owner.config.getInt(Config.ROOM_CONFIG_BASE_SCORE)==2){ + player.totalLostScore=5; + player.lostScore=-5; + } + owner.sidePot = 10; + + } + + + player.clearEx(); } // 清除房间的额外状态 owner.clearEx(); + + System.out.println("底池分数:"+owner.sidePot); + // 开始游戏 owner.startGame(); @@ -43,7 +72,7 @@ public void enter(EXRoom owner) { @Override public void toNextState(EXRoom owner) { - owner.stateMachine.changeState(Global.getState(EXRoomDealState.class)); + owner.stateMachine.changeState(Global.getState(EXRoomDealState.class)); } } diff --git a/puke/suoha/game_pk_suoha/target/classes/extend/pk/EXGameController.class b/puke/suoha/game_pk_suoha/target/classes/extend/pk/EXGameController.class index e5c2d95c91e7ba57d097de0f7c71e78d538dc69d..dfb8d8e5214e60551bec1c5ed1b26d5cd0075c0d 100644 GIT binary patch delta 4239 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 Z%T=_y@S!t)B;7&3qf)-%4LlR){WrvTq_Y43 delta 4135 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 delta 160 zcmZ3j->1LfyD;Zk1{MZ(1_s7ilSH0#GHY*PU`pA_;5T^>zszJs(do=t3{sPKi`r|> zW8`6&&nU^TfKiTN5u+NzVnzdoC5&MVOBs_GmNE7*tYDnTu!?ae!|KV}VzS0b3_1+W z47m(!Kou4YEe!1ptRO2Gk{FU1fB?wK0m?Emurf|%$YaQ7U}998TrDQe7&dvjm?C58 ILPh%W#Dr%sX^V0&Bt0b>EK!xF;5=I5hJ-%p&?PL*!!&goC?X*# S=Ks}_P+y3K@+D{cn*RgJ<|{S; diff --git a/puke/suoha/game_pk_suoha/target/classes/extend/pk/player/state/EXPlayerCallState.class b/puke/suoha/game_pk_suoha/target/classes/extend/pk/player/state/EXPlayerCallState.class index a0c5e52fdbb16f3e811e0d8d520315945d53b526..1880fe8c42c8fdedb31cf552927c478d766090b3 100644 GIT binary patch delta 2034 zcma)7dwk7h82>(J=bZO%2!tNKhHc>-~Va#Qg$k@R$J8ToBIx5MfrTmiI zMMb5;W;53kC0$8ZrNl({n-nK{o^v)I{nMxO$NN6-_kEu4^SsadeSc?d^1fu>feYJq z0q98iCT_!A6Zx3u;$gnR!zS#QYoJ2bkH}(y!lNc!;`SI88ki`crSQ0cMJArWVi%so z5{0EE!X){S*oFW%1y_Ph%(V1t1d zO}vDc4Qv!}lYz|=Tj@d-wwS0!jlf$C)C$EmH@0Jkft>>GGO*i?SMaLr>@o0~fxUw7 zGw`~BH^kiU6S6nOJRsTM66F{P)sWL(jBf;~MoBSYbgCObJ4IW;LVEbVCT zbCIdZ&0ORnt*H?;Rurl!jGAcNg9)0#DMC{u{EC`tYDUc!MQMtrD>TJOR14X;Qqxt` zk`U^hR^lm59^)w=Jl0$4$y5}psTF1sB1*m9Ny)_pW#zdAMP;7Bo`UjBO|9Yc6WoEl zQt#A~!c2|3FhkMRn%dAcirQ*whZ&mMgZ=DjscGq&;wYYbqbY$BgIH%xNt8@5ipqKx zl=PnJRg|JBmC`h&Q-`2W7lJA(%PKDJQ=+M316wCb2(Wh0)JfWTryRJm9JmWHc5Q=S zM@<=&X^nKoM|7p@6m`?oovzoILN_SNvX(mIy7bW0lX_{o5tB9DgaSg-x}8?t+=|o7 zXP&BAb+U4O-JIDc7j4wkTiSNB41M6Y&N$0Do{%2))s#*BxXiMmLeD^Nxu*V7$NEdOmPcm*j6osWI_Llo#_@`To5wMg`$NlZG}h`C ze#9qkli@}rl2C-(5rQ~GVIqq8laY!hn1m8ID3(7Y0gNnMRgWEqFNoQCHDFxB*!pB* zd6}8uu#LhLlyZ3s=x}|GGR_(+xpD)^%3-fhAy$x>Elg#%wlMw3Qnrz4Uwq!W!f0WgibFdZ?xD@Sd{WdJQ2iexKTB#CYV z(K(T^+?vUe&AW=f6bXc0@(&Fhg%1T2ck}UV9K+8{BDui_xn{+4n6)Reb!=i4`fNep zg#0RGCsd*D=qdK-YJ`c_>;bLyKp5L|xEpiP3iDYy z73j=T$;CpJjfHtwgr!)FHT-|Gfr~iAtD{&(b}T1_6%-2J%D}aBXW1U*tCp5J*)1LS z;y$M3RyMSrt$IE2=PszHHJl`(9 z(1CByCvtGbCvYpOk?~)z$Q3Mv8OHyM;c|kJ|AT-9^&sc8VKyEDKRX-uZzcmKSCz;A IIX(J=bZOf(ImSHYKBrdYi}eQ4z2L%&c*(#< z6EEWx1Fwp5lY!0RyTyfaRG8R`fT*__*e(#2ZtTEL1Fwm4mx0}G?7?2S*=OK&18<0a zzkve=-W2gIzkt0h;yV)kph)i;cu%r;U*Q9jbNJB2NBCGYpSbX;s1KR=42Q+`b1D0X zfiL86RBVnJ_|m{v29AsBYZKq#TLUNLa8g2i=f)|VcH?`T;iU!6D*WKaQ2eOylYyTF z;uizwB(Gl;&MW*@zLu7fy1)Zb_}%ImwudfSPP;$iE{xXr1Al7#g}(_+tn)?#Yok44 z$XrxuTtYP=YC`Um+~m@d{DS1nqN3cgzWK!^3jb(aMvW#A5hA?PO1y=6$&)80ck>mF z%O6j$r=_H)D_qcIqcBBwO%8Hek&ZTAMTRC9!;>OYlbf`nYc$oPaE<#gUQ+}`YVx2; zQIw`=icwTwQv-_C6enH{<))FQ#&j(q+&8t*Ta+}$Taq)@SLDr5)I?KLJY=nO#QNh= zMQ|7Se3O!je5HkX85(7nuBe%&=F~z_OHJ2dx~5iQXHQK@P1Dqx+Hi+7B~aUtuCu0g z)Sh7E7kA4o>{aShl&C3*k~O7JYRIMwLFE@`78LX@)Rb0-me?tD+d)$Y>E<*kuA>y! ziBdInuCwc?sS90ijd8Y(N++)122D58O&XJ_tD>8&RnCO8TQp_Tt(v;Qr>Q$e6Jk#7 zvQEvJcXs)VGuu|3F5hr!_N>#3Hfic1E$WFXtHxQ}|Ae%vm!{jOH)mL!pXVLmE76oC zIrO2viu!5Frv3^SH4UJFng&tMe+J$!cXG=fg(XF0ng&yjwNEt-9}-MEEhRNoV;shp zpHr1itD@e~sFD2k<)=VkTJf4|tq!l>dJOBFd;%I_EU!8!JCFx2pGZK&w)}W_iH*is zIi6#FF`EoGqLGNZk&iGWAQlrakv|nFh(rMnR9p|n_Jj<7mS%sDyh=(rKSv66K>C%aM8~~WgU6{uGC<}I^KBoaRu1k`oP?98c z4SIW{<8#E@!|}nd#DV)^a;fz&BZwer1L0Q?!h^+enQV107i?n`ep`aYEkD30ig&|0 z65Tv@cm=ZBSD^Rkt;pJf$er*E--akpAFE+ZBcpEsG3_eQ)M^&f$e$HJg8*U!h-=SI z+2XVv{n;;jC+zIx$WHVOU~P5)25$o^F^EtJrc{PK&R&VZgeB-M(h$O449#%FIVy3x z$ip(6iFJ{ObIdqr1ym@UhbLgto*nf%pU$p0xzv6#Q%OK^~-!&ruDEJqDikiyDf54$o;5A$TDUrx44;~vjo zMDA0lul}G|%O47><o^G zHZpxz+jiWA0Mex>Td=7AKbiuz3T46wkC+;0Wc1>%Aqi8P zlTtIN=Eewuh=!V^p|!1sek1O3_zvgXlegd4FIvTD!pnVKv0X+CZD#4@Q)sT_(v@W9 zBefQeh60i9V0dZS>kmf)#SNoUZ+b*eEy%n2(CF)OI7`^BPzv;)#_jNx@KlL9X32}9ep`yV5H0GZ)tZPi&8l_@lB|?_ILfKsWN+ULL-HFS4L2=neQ!<5GNlWr8uY-~KQ7$_y zdEZ{eRW54Dfj@#j!NIfJr|f1Yhw} z5AtnSo2>3f245Jmo)`|rJw~D~36Ge^sK;2;a+&ON3EQ)wiX?1bvy)HL3S==@rGs_G z$zidrlxK%sPAPD~9%c4%IpBjsemRl=$I``#^kYkmGnwLCk`yJyrL1u!MM`qdwY+m9 zRc_^rJLc3hfvI_qTGC3zBm-=)sd{~Yc^0%%qm-TnLq5r{Or0u9EV6`;6)iL(DyS{D QbeYwp1^*vqyAXE&0ZRKug#Z8m diff --git a/puke/suoha/game_pk_suoha/target/classes/extend/pk/room/state/EXRoomStartGameState.class b/puke/suoha/game_pk_suoha/target/classes/extend/pk/room/state/EXRoomStartGameState.class index 722db13dc9c3a1b7eeacd3804bb5a1f209c87828..e47beb86f9c1972c0fdef4ff21adcefd09da6b44 100644 GIT binary patch literal 2819 zcmai0OK=ob6g@9Y(le6|2?GQo1V})bBqYPf50DrkA25=H$YA)1*qJm*lS%j3(*s1s zABy<@B8sB1$|^Q4#FD|FMN#F>g=<&rVBdtd)> z^YRq{cj2=zR-!G08#qdE(<B-F}SN$lVejNjv&5Gi7Bc;?F0;iuDk??0#Fn||uc`ALVkjx;UecU0nS3ods6#}ohh+|77rk9t zVvrAqK;?{s%0K3nr4y*%mbCh`qz4i9hC}7N1h{jZm7GwR(k3*vXr{9XSBevZoYUUx zL&u`Gwp7!LDn5-X`G^CBAf^x{t>G@luaMl@OAr^hC_pV~k;{yrj%(Euz-rWU$64(v zQCa+kSu_VxS@$&x#xP4@3;}_z)nh0W96;B&C=$2|rMrF%LAeTT3Q#y4QO8hHfGlR8 z#Tqh71EW|r^`NvO5V(l4ia^0d%&9B9h{$=I$QPp8I$ynd+6gtOL|S%J8crJC$aN*Ev4p8y#xY%m-P|4Ezf6Ml8Dd?IvodE`nRC?moGJf;>Au2* z|AaNThPAkk_4pYZ@hdjrcQoM-G>f^|A{L-cEJnLquv*?%kMF6mmaA&~h;_J|rDCD{ zBFfc0xR=G;K#ydBJ*kb9+C)wTf`6k_LE}G&D`--1pRz&OQ1~bR?u2|@NF{jMiIxI> zOBngm$g*!xl|^+9L}B-EJMDM5ewBN|<36Co^Py}DP2TUDT<@C<)z)3bazA~y!eq!Z oMFS1DG_WG)&va1x1{n2bhEaemXmP)-{MiM<^hx1=?)sw8f50)kVgLXD delta 818 zcmZ{i%TE(g6vltI9eUg8wA2Dc)B;u%+ER*GA0QxD>jMSf_`*k37BvJ7L8GfK+?$xL z{0m%@kZN5R*2KLl{|1dqgO77NRTjia=G=4VeE0jlbMCy1t%l3%zdn2fa@@CRV}F1s zLqQIZ3v!S{K@M}ogkjA{5Y17|s7-(|TY&X2Zqv#!b8bR2X>**s%?S#clcsV?b6Rso z;TtV2mX^mA-oE6l!pc8>IImdwG^f;5CF^-L5u@GVEax=S4l|tBTyVI^CC!w>Wv)0} zMGm$+Dn2V_pDvdcveU&UJ%z>Pr56s@n63Quv`4QSk{c$Z>2$cstxCD>K$rD z5)T~`ef5t~c1Z5H0CuuVb_&suXb!Inx=Gf2dKFI%ucC&fnC`F9q!c)vjJ8$RPT-e3PC|4tbTLG?+**QRdKjZu?xL^mD<$}h z=yyrol6r*Qg76wY4X-BK%RX`2OWAG2h4l$6DZn6}4VpEnAA(b6x{b~X(wRp9A?Yj} zZGKOr%C^n%*!ALojApQICFX+v$%b6n$fQvAyOd@5{ansKD!oRu(enSs9dNmXA^w+P j3qi}Kp{@7TAdp5g(uc?l$X%OckUg^6;z|o+!WZ}hGBII6