From 561d4f5d2744b216f29828811c87756f67b6019e 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: Fri, 20 Jun 2025 01:24:27 +0800 Subject: [PATCH] =?UTF-8?q?refactor(room):=20=E9=87=8D=E6=9E=84=E6=88=BF?= =?UTF-8?q?=E9=97=B4=E5=BA=95=E5=88=86=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 移除 EXRoomDealState 和 EXRoomStartGameState 中重复的底分计算逻辑- 在 EXRoom 中添加统一的底分计算方法 - 优化底分扣除和边池增加的逻辑 - 删除不必要的注释和未使用的代码 --- .../src/main/java/extend/pk/EXRoom.java | 5 +++ .../extend/pk/room/state/EXRoomDealState.java | 30 +++++++++++++++-- .../pk/room/state/EXRoomStartGameState.java | 31 ++---------------- .../target/classes/extend/pk/EXRoom.class | Bin 7273 -> 7273 bytes .../pk/room/state/EXRoomDealState.class | Bin 4436 -> 4696 bytes .../pk/room/state/EXRoomStartGameState.class | Bin 2818 -> 2238 bytes 6 files changed, 36 insertions(+), 30 deletions(-) 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 68ed7d0..adfd211 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,10 +84,13 @@ public class EXRoom extends Room { + public EXPlayer win; public EXRoom(String roomid, Map redis_room_map) { super(roomid, redis_room_map); + + card = new RoomCard(this, 2, maxPlayers); if (!this.config.containsKey(Config.ROOM_CONFIG_PRW_FORE)) { this.config.putInt(Config.ROOM_CONFIG_PRW_FORE, 2); @@ -119,6 +122,8 @@ public class EXRoom extends Room { this.config.putInt(Config.ROOM_CONFIG_BASE_SCORE, 0); } + + // System.out.println("底注"+this.config.getInt(Config.ROOM_CONFIG_BASE_SCORE)); // int num = this.config.getInt(Config.ROOM_CONFIG_BASE_SCORE); // System.out.println(num); diff --git a/puke/suoha/game_pk_suoha/src/main/java/extend/pk/room/state/EXRoomDealState.java b/puke/suoha/game_pk_suoha/src/main/java/extend/pk/room/state/EXRoomDealState.java index cce2bd9..784de58 100644 --- a/puke/suoha/game_pk_suoha/src/main/java/extend/pk/room/state/EXRoomDealState.java +++ b/puke/suoha/game_pk_suoha/src/main/java/extend/pk/room/state/EXRoomDealState.java @@ -100,8 +100,34 @@ public class EXRoomDealState extends StateBase { // 扣除底分 for (Entry entry : room.playerMapByPlaying.entrySet()) { EXPlayer player = (EXPlayer) entry.getValue(); - player.lostScore -= room.config.getInt(Config.ROOM_CONFIG_BASE_SCORE); - room.sidePot += room.config.getInt(Config.ROOM_CONFIG_BASE_SCORE); +// player.lostScore -= room.config.getInt(Config.ROOM_CONFIG_BASE_SCORE); +// room.sidePot += room.config.getInt(Config.ROOM_CONFIG_BASE_SCORE); + if (room.config.getInt(Config.ROOM_CONFIG_BASE_SCORE)==0){ + if (room.nextRound==1 && room.config.getInt(Config.ROOM_CONFIG_BASE_SCORE)==0){ + player.totalLostScore=1; + player.lostScore=-1; + } + room.sidePot = 2; + + } + if (room.config.getInt(Config.ROOM_CONFIG_BASE_SCORE)==1){ + if (room.nextRound==1 && room.config.getInt(Config.ROOM_CONFIG_BASE_SCORE)==1){ + player.totalLostScore=2; + player.lostScore=-2; + + } + room.sidePot = 4; + + } + if (room.config.getInt(Config.ROOM_CONFIG_BASE_SCORE)==2) { + if (room.nextRound==1 && room.config.getInt(Config.ROOM_CONFIG_BASE_SCORE)==2){ + player.totalLostScore=5; + player.lostScore=-5; + + } + room.sidePot = 10; + + } } // 广播协议 TObject param = new TObject(); 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 c24688f..2d3ecf7 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 @@ -29,40 +29,15 @@ 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); + //根据用户id拿用户信息 +// EXPlayer player = (EXPlayer) owner.playerMapById.get(owner.owner_id); + // 开始游戏 owner.startGame(); diff --git a/puke/suoha/game_pk_suoha/target/classes/extend/pk/EXRoom.class b/puke/suoha/game_pk_suoha/target/classes/extend/pk/EXRoom.class index ed4d9b25e2072a544572569a6b390e3982d54933..575e88a701c62e3c81851db3aa1274f3af91b6d4 100644 GIT binary patch delta 378 zcmWNLNhri&07u_H*%MPUn6VUb7)oxYlmm?-2TQpS3R$BFaS=6RZNxW`lt_q!FyVlU z{Y1!~IG~0kyP?5%{q_32XE)dlv*~IjM`WmzjCquhPaOrcP)H9&49R7RQWhv@oeK7- z;*x6Y)bL5I;zGTmqCp9vQHiEWiKA7Vscj)9TruNCJHB+FrV}k)MA1zQ7BQts^z4;H zpCp8M(@g67abo~)2GL2Uo?&7cA&yZ}7$cK$a+#3sX|dsN^_jz+c{JGMzu}WJb1v5M*?{wm}eq*A(dCMc_W8+%J`50pS1FY2?rLw SndC>tI$7eEW&Xr&(9l0PCT^er delta 378 zcmWNMTPWml7>1vJvQ7y#<1oyYjSJM~Zl;tA8ntraP%aEb5gVb_p_H6SF&n>WYom?C zq!3M_gxU=%%L zLYzGL1>HewIsP^XI-$L7P-n7)-bb99GfJuMF!h4XGi3A z8Q?EN>?vnRtNVde9IAMO#p_r^Pw?ebbr{|)XL#}tf6fW!f-o+L;EH6f$>atrw|wVL c1nz0%L1sT<;|T}PIQh>MugvhK)wq&_XAREbg#5N0$xjb#Xk+xl?<0 zX>+&!yvNDCw&0iOj_$KqYSV%Hb;SpqEYs_9ixoDRy2^vP@he#gvan+$BX$5UGF@%Hlv<;-&2aBKVQ@WL2R$KLc&yhy#pONy8E$7V_tBPh0b zMe!=HS-h^;LUFi_ndO#oN4Nu|x4LJB3xTi}w`o^MOIiNcT8* z_Sj&#FT1b1vVDFs9 z2jVc~+qs`JC#5*6 zj%M0x-rbb67RfE^NOe$4t0iQ~#%1Pm(oPQ~rkZ9AJyT6b4Y?VyHMmaA5KML>w%r+# zq*Sv+Ac9Uhrs38Z@Yv;a`ggcQ1n!KYk7#s~E$~&xJBE9z=HW$&1)YZ8NaQMnzIX8(~}3z1#4#vo!EkxjzufPIui5nThJQj2nnk!Dx3 z>mgzf<7gnQNs)O;xuQs|%K{n21ya!=YkbFydh%*HPtVE`nU#KTr@pQDXnRti?|&BP fB?a>SuY#!77vUK#GuM26u94Li#uS-uSzP?zV-9_e delta 1606 zcmZ{kc~q2D7{-6!Fmi`)E=ZuJofh<1odiToJqP8aptuf7PK%}%lQStYG6>^BX47if zV%E^2klAXBEe4`kDXp5)Zl&42ubS;yWbd5;($4XZx%a*IzVGuqbD#HqyZi3y6WQ_4 z<}JV={<0ZKFo_Y&wW%OvqDq@W<|R=@wN04$iUl?i zUeLT~qLb(&zXV_;Til%Yr$@zRJEu72&EH&70;Z zEwCsYsPN}hmgf{rDGB;&0#%x~*cILC?49zq<{jQu?AGkzz34t?Ze%a-Yw8T`UOv!# z$VZw^be9R}B3-DNU`#*A_Z)Uk>6dui|d?ppu0bf}2xv4%(VL?@uuf|hW z9hQvT0l5P;U+|^oE52528m9S%Z{sIJEL2%_K`=P3Li1frgX9lZe6RU|eVYCJ7}J%P zr#Zk+(fq^{hj|0xN^jT~4k&)s{KBt_-!#AThvrYVX$~5k)WfAu4u$4wCg5qvPh8Pu zdN5QS_Rb7d1?VjnkCayciCFT#iewxus~njvnY;Ach_zk<2V>fkkj@+{v5qG&j`6ax z47!Y?qeXg;H70sevNvL~#-ij+jiZ=}bdd*=XKq@^mU9|sN~E}uvzaVEr(|z$M>Ekm zoGWWYXm^N~}7mNtBG% z%tp>=rmH1yBGqeAoYl-R7AqMqL7GJi=@YY?>1LwtL!G^xQyUpBH9gXLHq*;N6UX^C z$c}8gkK8WZfP3wshG>53jL7gN^x8u$nF(oqvzj>B80Cx^HH2h|1N0GT*~}7OXN&MM zxtnrX1)0ZOYQ>l}ghW84yu^9zl&@WfW!cgJ#xkcM42{{7Ah{XsHrC45##k0Hp0#$~ zXlwh8&JyDPJnJFe#X+XY?Zrzw+&dQM-*k;RH>r(`4i^hk3q)v^lZ4oU>%MMO35M5Qe{#gnP`*VHTo-iiltmAu6DP^8kv9;(&@W7zGs^KnTtn-mP-qVJ|U%UxQjl0y8Hb7|J`+`%IAtxpMQOv1Dcp}Swm}(3U-Fr z#qJP$*c)OW`>i>kIT%87NYmyLq}`Rm_8^BjqUmtSr*#=e?Rm^X9JgMlH78t7(q*ep zxvb{2&7RSmb?N4uOYwOwXnJhwqUMsOcX}qNRG%03z1+8!Dnma5n#+a+S2R}*gA8f< z4A;1BxWTZZbR=;v5uZ#B-->r8#%kK`B*z~bMi};f`oaY_snXms+~$rV?Dacg?}dMP zWRx+(UB(TgOc;_(YVH~C^T6=X_HClh@QBA=#vdtoVtC3kP0H|`7v492nNv%hBJye> z;xz@ndjTg|tS5#Chq^|S3e};g+}PpuI+gEVJ8_j-Ewi;>9tu$>Y?3eyw`P;r`)G^J^lOTH{Brrh!hWO>!f-jPLB ziV96Z`|E4SN;< literal 2818 zcmai0OK=ob6g@9Y(wRwzgaJY#1PDZ!BqYPfFA2YVh|wfO2E$Lp&ZL<%OuEOO9v~|I zP{jWiQ520;R^h^hSTY#2D68DLaP5j6Y+R`2LaR{pyzWjWlLXwne(%0>@4KJ#ZoeOI zT)GV44tyHI3bY5Y933Utip~<;hprObj|b$?t)Qm_3VIc6lbAjQ4;Ev431Zk0!b9kn z!ks|`u}coS<#JDmv%MkC_6G4V_9=KIgbK75W54`9DhEvt10lpQD1mwix8s0RPAC`( z!N9=~4k4*vSnik#ECnfnq87t6oQ(prB6a-&fi`PU7bxpCOuaWVJfPbV^Wvt%b=k6J#@f?mT zcwWT|IHBT2oK*3W9A1{gD{^=h5e2WQcpYyDEXd_4=GcarXw4YOL0Q|ftCvn)J3o5$ zw}W(Q9f|3h zBkyVsN3mpFo4?gY%b(A43Ey?TljXmrern{Io zj-Sk8I*`zvel3|H35()B1!`O_J6guhq@$7vQF>`OBhjuMKKlih$mHAtLUXjtD=4rs zGU-x!v}pE2&AX>eL5@ED<)wp$Iqo3)U>6B0Dh7QYrROfyV!d zB#-k{Tomb=9O%^TV#o4CY^ZtF@uW21UFv*?7)naImo%qzCSOZ7>L3~GahXlnWp9rb zAL5TgpnAqe6C)eT>xU<|Va#t;zbSv7`2!3K1NlOlodq4YM6p;*p>>jMOb!s-}G3y{U^ zGgwVQSzr{OPu)0O6$o5Fc~zj`0_HRnUO@O9j^~4@w$@iSrtR#k3Q&pq>0Q&4U~syp(>EY+;jgfX~<&USD61TDt2GQf^cOPRn!k>aa$G( zvslFa>Us`~Wl{rfQU_4Uc{P?{F;lseZMp_Kx!T9KOdPd*#6)n6RXI)cS*HForu+-6 z#$~L*&sd8qScj{8hW&yT{Duwq1Do(CwurfC7YooS7V$YI3s%qb8u0@)*KoEBKT-Ei zmWqY)izsJz;cgc59^z$zJ=DEKt*4|Cg@2<=LGwS@tDr@}hU?h8@h?8^g#5X1l-%hc zSqk_qW#CJ~OTR%)7Rz!R3b~uTG~egCRpEihT|lYlLirY&+~k{F=bH@HH++xfe)eug r$)IP72AXbapf=~vbWZyQ81!a_QGhLIb-!&)G7zFq3ZJ>_ih}