diff --git a/game_zp_fangpaofa/src/main/java/extend/zp/uitl/Paixing.java b/game_zp_fangpaofa/src/main/java/extend/zp/uitl/Paixing.java index 0c79b21..edd6fe4 100644 --- a/game_zp_fangpaofa/src/main/java/extend/zp/uitl/Paixing.java +++ b/game_zp_fangpaofa/src/main/java/extend/zp/uitl/Paixing.java @@ -24,8 +24,11 @@ public class Paixing { } } if (haveCardCount >= 2) { - win.tryKezi(room.activeCard, player); + player.huXi+=win.tryKeziBefore(room.activeCard, player); + + logger.info("当前胡息:"+player.huXi); } + logger.info("当前行动的牌:" + room.activeCard); // 原始算法计算 if (win.tryWin(player) && !isWin) { if (player.huXi >= 15) { diff --git a/game_zp_fangpaofa/src/main/java/extend/zp/uitl/WinCard.java b/game_zp_fangpaofa/src/main/java/extend/zp/uitl/WinCard.java index abadcb6..358507a 100644 --- a/game_zp_fangpaofa/src/main/java/extend/zp/uitl/WinCard.java +++ b/game_zp_fangpaofa/src/main/java/extend/zp/uitl/WinCard.java @@ -376,5 +376,18 @@ public class WinCard { WinCard win = new WinCard(list, 106); boolean res = win.tryWin(player); } + + int tryKeziBefore(int card, EXPlayer player) { + int huXi = 0; + if (CardUtil.cardNum(card, this.cardList) >= 3) { + if (player.getRoom().isTianHu && card == player.getRoom().drawCard && player.getRoom().bankerSeat == player.seat) { + huXi = Paixing.caclHuxi(RuleWeight.TYPE_KAN, card); + } else { + huXi = Paixing.caclHuxi(RuleWeight.TYPE_PONG, card); + } + } + return huXi; + + } }