diff --git a/game_zp_fangpaofa/src/main/java/extend/zp/EXRoom.java b/game_zp_fangpaofa/src/main/java/extend/zp/EXRoom.java index 119f058..ed0c4a1 100644 --- a/game_zp_fangpaofa/src/main/java/extend/zp/EXRoom.java +++ b/game_zp_fangpaofa/src/main/java/extend/zp/EXRoom.java @@ -373,10 +373,6 @@ public class EXRoom extends Room { } } } - //System.out.println(player.handCard); - if (player.handCard.size()==0){ - return 0; - } for (OpCard opCard : player.handCard) { if (opCard.huXi != 0) { huXi += opCard.huXi; @@ -659,20 +655,12 @@ public class EXRoom extends Room { return false; } - public boolean checkPaoTi(List checkOplist){ - for (OpCard opCard : checkOplist) { - if (opCard.type==RuleWeight.TYPE_TI||opCard.type==RuleWeight.TYPE_PAO){ - return true; - } - } - return false; - } - public int caclScoreNew(EXPlayer player, int eventcard, boolean isjiang) { int huxi = 0; int tmpscore = 0; List huxiScore = new ArrayList<>(); + WinCardNew winCard2 = new WinCardNew(player.cardInhand, eventcard, huxi, isjiang, player.opCardList); if (winCard2.checkHu()) { @@ -862,9 +850,6 @@ public class EXRoom extends Room { player.winCard = player.getRoom().drawCard; } } - if(player.winCard==0){ - player.winCard=activePlayer.drawCard; - } player.winer = 1; // 记录小结算 int scoreSrc = caclScore(player); @@ -1154,22 +1139,20 @@ public class EXRoom extends Room { scoreSrc = caclScore(player); // System.out.println("scoreSrc:"+scoreSrc); - // 用于标识一块扁 - // int scoreSrcnew = caclScoreNew(player, - checkpaoflag ? 0 : (this.activeCard == 0 ? activePlayer.drawCard : this.activeCard), this.checkPaoTi(player.opCardList)); - /*int scoreSrcnew = caclScoreNew(player, checkpaoflag ? 0 : (this.activeCard == 0 ? activePlayer.drawCard : this.activeCard), false); - if (scoreSrcnew == 0) { scoreSrcnew = caclScoreNew(player, checkpaoflag ? 0 : (this.activeCard == 0 ? activePlayer.drawCard : this.activeCard), true); - }*/ - - if (scoreSrcnew < scoreSrc) { + } + if (scoreSrcnew < scoreSrc || scoreSrcnew < 15) { scoreSrcnew = caclScoreNew(player, - !checkpaoflag ? 0 : (this.activeCard == 0 ? activePlayer.drawCard : this.activeCard), this.checkPaoTi(player.opCardList)); + !checkpaoflag ? 0 : (this.activeCard == 0 ? activePlayer.drawCard : this.activeCard), false); + if (scoreSrcnew == 0) { + scoreSrcnew = caclScoreNew(player, + !checkpaoflag ? 0 : (this.activeCard == 0 ? activePlayer.drawCard : this.activeCard), true); + } } if (scoreSrcnew >= 15) { diff --git a/game_zp_fangpaofa/src/main/java/extend/zp/RoomCard.java b/game_zp_fangpaofa/src/main/java/extend/zp/RoomCard.java index 1365a46..1d19dab 100644 --- a/game_zp_fangpaofa/src/main/java/extend/zp/RoomCard.java +++ b/game_zp_fangpaofa/src/main/java/extend/zp/RoomCard.java @@ -5,13 +5,14 @@ import java.util.*; import com.taurus.core.entity.ITArray; import com.taurus.core.entity.TObject; import com.taurus.core.plugin.redis.Redis; + import extend.zp.uitl.CardUtil; import redis.clients.jedis.Jedis; public class RoomCard { - public ArrayList cardList; - EXRoom room; - public ArrayList subCardList; + public ArrayList cardList; + EXRoom room; + public ArrayList subCardList; public RoomCard(EXRoom table) { this.cardList = new ArrayList(); @@ -23,237 +24,266 @@ public class RoomCard { public void init() { this.cardList.clear(); this.subCardList.clear(); - //this.sanlong(); - this.testpai(); - /*this.initCard(); +// this.sanlong(); + + this.initCard(); this.shuffle(); this.subCard(); //抽牌 - */ - //this.shuffle(); + this.shuffle(); - //this.testhuxi(); + // this.testhuxi(); - //this.guopaokahu(); - //this.checkpaowei(); - //this.guochicard(); - //this.paohuCard(); + // this.guopaokahu(); + // this.checkpaowei(); + // this.guochicard(); + // this.paohuCard(); // - //this.tieshuPai(); - //this.paohuKazi(); - //this.pengCard(); - //this.xiaohucard(); - //this.tianhuCard(); - //this.ka20Card(); - //this.guopaobuhu(); - //this.ka30Card(); - //this.paohucard2(); - //this.yikuaibian(); - //this.initCard2(); - //this.paoqihu(); - //this.guohuchitech(); - //this.qishouliangti(); - //this.weiqidong(); - //this.yanpai(); - //this.testpai(); - + // this.tieshuPai(); + // this.paohuKazi(); + // this.pengCard(); + // this.xiaohucard(); + // this.tianhuCard(); + // this.ka20Card(); + // this.guopaobuhu(); + // this.ka30Card(); + // this.paohucard2(); + // this.yikuaibian(); + // this.initCard2(); + // this.paoqihu(); + // this.guohuchitech(); + // this.qishouliangti(); + // this.weiqidong(); + // this.yanpai(); + // this.testpai(); } - public void yanzmbupai(){ - List list2 = Arrays.asList(101, 101, 102, 102, 106, 104, 104, 105, 106, 109, 201, 201, 202, 203, 203, 205, 206, 207, 208, 209); - List list = Arrays.asList(103, 103, 103, 104, 105, 106, 107, 110, 110, 204, 204, 204, 204, 207, 207, 208, 210, 210, 210, 210); - List list3 = Arrays.asList(110,107, 110, 206, 202, 202, 108, 104, 202, 109, 208, 206, 106, 209, 102, 210, 205, 202, 209); + public void sanlong() { + List list2 = Arrays.asList(103, 104, 104, 105, 106, 107, 108, 108, 108, 109, 110, 110, 201, 203, 204, 204, 207, + 208, 209, 210); + List list = Arrays.asList(101, 102, 103, 104, 105, 105, 107, 107, 107, 108, 110, 110, 201, 201, 202, 202, 204, + 205, 207, 210); + List list3 = Arrays.asList(207, 106, 205, 206, 202, 202, 108, 104, 202, 109, 208, 206, 106, 209, 102, 210, 205, + 202, 209); +// List list2 = Arrays.asList(102, 104, 107, 107, 108, 108, 109, 109, 110, 203, 204, 204, 205, 207, 207, 208, 208, 208, 208, 209); +// List list = Arrays.asList(103, 103, 103, 104, 106, 109, 110, 201, 202, 202, 202, 202, 203, 206, 206, 206, 207, 209, 210, 210); +// List list3 = Arrays.asList(108, 210, 207, 105, 105, 105, 103, 204, 203, 209, 106, 106, 107, 107, 102, 203, 110, 110, 106, 201); this.cardList.addAll(list); this.cardList.addAll(list2); this.cardList.addAll(list3); } - public void yanzm(){ - List list2 = Arrays.asList(103, 104, 104, 105, 106, 107, 108, 108, 108, 109, 110, 110, 201, 203, 204, 204, 207, 208, 209, 210); - List list = Arrays.asList(101, 102, 103, 104, 105, 105, 107, 107, 107, 108, 110, 110, 201, 201, 202, 202, 204, 205, 207, 210); - List list3 = Arrays.asList(207,106, 205, 206, 202, 202, 108, 104, 202, 109, 208, 206, 106, 209, 102, 210, 205, 202, 209); - this.cardList.addAll(list); - this.cardList.addAll(list2); - this.cardList.addAll(list3); - } - - public void sanlong(){ - List list = Arrays.asList(101, 101, 101, 102, 103, 103, 103, 108, 108, 110, 201, 203, 203, 203, 204, 208, 209, 209, 210, 210); - List list2 = Arrays.asList(102, 102, 104, 105, 106, 106, 107, 107, 108, 109, 110, 201, 205, 205, 207, 207, 208, 209, 209, 210); - List list3 = Arrays.asList(202, 205, 105, 205, 109, 107, 206, 110, 107, 204, 206, 104, 104, 106, 204, 109, 202, 201, 101, 108); - this.cardList.addAll(list); - this.cardList.addAll(list2); - this.cardList.addAll(list3); - } - - - public void testpai(){ - List list = Arrays.asList(101, 104, 104, 105, 107, 107, 107, 108, 109, 201, 202, 206, 206, 207, 208, 208, 209, 210, 210, 210); - List list2 = Arrays.asList(101, 101, 103, 104, 106, 107, 108, 108, 109, 202, 202, 202, 203, 203, 206, 207, 207, 209, 209, 210); - List list3 = Arrays.asList(101, 205, 103, 205, 207, 106, 102, 109, 203, 201, 103, 206, 205, 205, 104, 110, 108, 102, 105, 204); - - this.cardList.addAll(list); - this.cardList.addAll(list2); - this.cardList.addAll(list3); - } - public void testpai2(){ - List list = Arrays.asList(102, 102, 104, 104, 105, 108, 110, 102, 110, 201, 202, 202, 203, 203, 204, 204, 205, 206, 206, 210); - List list2 = Arrays.asList(103, 104, 105, 106, 106, 107, 107, 107, 108, 109, 205, 206, 207, 208, 208, 208, 208, 209, 209, 209); - List list3 = Arrays.asList( 110,203,204, 103,208,104, 209, 206, 207, 206, 105, 109, 205, 205, 208, 209, 207, 109, 203, 208, 102, 210, 106, 104, 107, 202, 105); + public void testpai() { + List list = Arrays.asList(101, 103, 103, 103, 105, 105, 106, 107, 108, 110, 110, 202, 203, 204, 205, 205, 207, + 208, 208, 209); + List list2 = Arrays.asList(101, 101, 104, 104, 105, 105, 106, 108, 108, 109, 109, 110, 201, 202, 203, 206, 208, + 208, 209, 210); + List list3 = Arrays.asList(207, 106, 203, 201, 109, 104, 110, 102, 210, 103, 204, 107, 206, 202, 210, 104, 210, + 206, 201, 206); this.cardList.addAll(list); this.cardList.addAll(list2); this.cardList.addAll(list3); } - public void yanpai(){ - List list = Arrays.asList(205,205, 105, 102, 102, 101, 101, 101, 201, 201, 204, 104, 204, 103, 203, 203, 106, 105, 108,110); - List list2 = Arrays.asList(201,201, 202, 202, 203, 203, 204, 204, 105, 205, 206, 206, 207, 207, 208, 208, 209, 209, 210,210); - List list3 = Arrays.asList( 205,205,102,202, 103,104, 203, 204, 205, 206, 105, 109, 205, 205, 208, 209, 207, 109, 203, 208, 102, 210, 106, 104, 107, 202, 105); + public void testpai2() { + List list = Arrays.asList(102, 102, 104, 104, 105, 108, 110, 102, 110, 201, 202, 202, 203, 203, 204, 204, 205, + 206, 206, 210); + List list2 = Arrays.asList(103, 104, 105, 106, 106, 107, 107, 107, 108, 109, 205, 206, 207, 208, 208, 208, 208, + 209, 209, 209); + List list3 = Arrays.asList(110, 203, 204, 103, 208, 104, 209, 206, 207, 206, 105, 109, 205, 205, 208, 209, 207, + 109, 203, 208, 102, 210, 106, 104, 107, 202, 105); this.cardList.addAll(list); this.cardList.addAll(list2); this.cardList.addAll(list3); } - public void weiqidong(){ - List list = Arrays.asList(101,101, 102, 102, 103, 103, 104, 104, 105, 105, 106, 106, 107, 107, 108, 108, 109, 109, 110,110); - List list2 = Arrays.asList(201,201, 202, 202, 203, 203, 204, 204, 205, 205, 206, 206, 207, 207, 208, 208, 209, 209, 210,210); - List list3 = Arrays.asList( 101,210,102,202, 103,104, 203, 204, 205, 206, 105, 109, 205, 205, 208, 209, 207, 109, 203, 208, 102, 210, 106, 104, 107, 202, 105); + public void yanpai() { + List list = Arrays.asList(205, 205, 105, 102, 102, 101, 101, 101, 201, 201, 204, 104, 204, 103, 203, 203, 106, + 105, 108, 110); + List list2 = Arrays.asList(201, 201, 202, 202, 203, 203, 204, 204, 105, 205, 206, 206, 207, 207, 208, 208, 209, + 209, 210, 210); + List list3 = Arrays.asList(205, 205, 102, 202, 103, 104, 203, 204, 205, 206, 105, 109, 205, 205, 208, 209, 207, + 109, 203, 208, 102, 210, 106, 104, 107, 202, 105); this.cardList.addAll(list); this.cardList.addAll(list2); this.cardList.addAll(list3); } - public void qishouliangti(){ - List list = Arrays.asList(110,202, 202, 203, 110, 103, 204, 204, 205, 205, 205, 106, 107, 107, 207, 203, 205, 110, 110,201); - List list2 = Arrays.asList(105,102, 105, 101, 202, 103, 107, 110, 206, 207, 101, 102, 208, 209, 102, 109, 210, 110, 203,210); - List list3 = Arrays.asList( 201,105,202,208, 105,104, 109, 101, 206, 101, 105, 109, 205, 205, 208, 209, 207, 109, 203, 208, 102, 210, 106, 104, 107, 202, 105); + public void weiqidong() { + List list = Arrays.asList(101, 101, 102, 102, 103, 103, 104, 104, 105, 105, 106, 106, 107, 107, 108, 108, 109, + 109, 110, 110); + List list2 = Arrays.asList(201, 201, 202, 202, 203, 203, 204, 204, 205, 205, 206, 206, 207, 207, 208, 208, 209, + 209, 210, 210); + List list3 = Arrays.asList(101, 210, 102, 202, 103, 104, 203, 204, 205, 206, 105, 109, 205, 205, 208, 209, 207, + 109, 203, 208, 102, 210, 106, 104, 107, 202, 105); this.cardList.addAll(list); this.cardList.addAll(list2); this.cardList.addAll(list3); } - public void guohuchitech(){ - List list = Arrays.asList(110,202, 202, 203, 203, 103, 204, 204, 205, 205, 105, 106, 107, 107, 207, 208, 209, 110, 110,210); - List list2 = Arrays.asList(105,102, 105, 101, 202, 103, 107, 110, 206, 207, 207, 206, 208, 209, 209, 109, 210, 110, 203,210); - List list3 = Arrays.asList( 201,105,202,208, 105,104, 109, 101, 206, 101, 105, 109, 205, 205, 208, 209, 207, 109, 203, 208, 102, 210, 106, 104, 107, 202, 105); - - this.cardList.addAll(list); - this.cardList.addAll(list2); - this.cardList.addAll(list3); - } - public void guohuchitech2(){ - List list = Arrays.asList(109,109, 109, 109, 103, 203, 203, 204, 204, 203, 205, 205, 209, 209, 209, 110, 110, 210, 210,210); - List list2 = Arrays.asList(105,102, 105, 101, 102, 103, 107, 110, 206, 207, 207, 206, 208, 209, 209, 109, 210, 110, 203,210); - List list3 = Arrays.asList( 201,105,202,208, 105,104, 109, 101, 206, 101, 105, 109, 205, 205, 208, 209, 207, 109, 203, 208, 102, 210, 106, 104, 107, 202, 105); + public void qishouliangti() { + List list = Arrays.asList(110, 202, 202, 203, 110, 103, 204, 204, 205, 205, 205, 106, 107, 107, 207, 203, 205, + 110, 110, 201); + List list2 = Arrays.asList(105, 102, 105, 101, 202, 103, 107, 110, 206, 207, 101, 102, 208, 209, 102, 109, 210, + 110, 203, 210); + List list3 = Arrays.asList(201, 105, 202, 208, 105, 104, 109, 101, 206, 101, 105, 109, 205, 205, 208, 209, 207, + 109, 203, 208, 102, 210, 106, 104, 107, 202, 105); this.cardList.addAll(list); this.cardList.addAll(list2); this.cardList.addAll(list3); } - public void paoqihu(){ - List list = Arrays.asList(101,102, 103, 201, 202, 203, 205, 105, 106, 206, 107, 107, 207, 207, 110, 109,108,208, 209,210); - List list2 = Arrays.asList(101,102, 201, 201, 201, 103, 103, 203, 204, 204, 104, 106, 106, 207, 207, 108, 110, 210, 209,208); - List list3 = Arrays.asList( 205,109,206, 107,104, 205, 102, 101, 107, 105, 109, 205, 205, 208, 209, 207, 109, 203, 208, 102, 210, 106, 104, 107, 202, 105); + public void guohuchitech() { + List list = Arrays.asList(110, 202, 202, 203, 203, 103, 204, 204, 205, 205, 105, 106, 107, 107, 207, 208, 209, + 110, 110, 210); + List list2 = Arrays.asList(105, 102, 105, 101, 202, 103, 107, 110, 206, 207, 207, 206, 208, 209, 209, 109, 210, + 110, 203, 210); + List list3 = Arrays.asList(201, 105, 202, 208, 105, 104, 109, 101, 206, 101, 105, 109, 205, 205, 208, 209, 207, + 109, 203, 208, 102, 210, 106, 104, 107, 202, 105); this.cardList.addAll(list); this.cardList.addAll(list2); this.cardList.addAll(list3); } - public void paoqihu2(){ - List list = Arrays.asList(208,208, 207, 107, 107, 104, 105, 106, 202, 207, 210, 102, 102, 103, 110, 110,202,202, 206,203); - List list2 = Arrays.asList(101,102, 103, 101, 102, 103, 107, 110, 206, 207, 207, 206, 208, 209, 209, 109, 210, 110, 203,210); - List list3 = Arrays.asList( 101,110,102,103, 206,104, 109, 101, 206, 101, 105, 109, 205, 205, 208, 209, 207, 109, 203, 208, 102, 210, 106, 104, 107, 202, 105); + public void guohuchitech2() { + List list = Arrays.asList(109, 109, 109, 109, 103, 203, 203, 204, 204, 203, 205, 205, 209, 209, 209, 110, 110, + 210, 210, 210); + List list2 = Arrays.asList(105, 102, 105, 101, 102, 103, 107, 110, 206, 207, 207, 206, 208, 209, 209, 109, 210, + 110, 203, 210); + List list3 = Arrays.asList(201, 105, 202, 208, 105, 104, 109, 101, 206, 101, 105, 109, 205, 205, 208, 209, 207, + 109, 203, 208, 102, 210, 106, 104, 107, 202, 105); this.cardList.addAll(list); this.cardList.addAll(list2); this.cardList.addAll(list3); } - public void checkpaowei(){ - List list = Arrays.asList(103,101, 201, 202, 203, 104, 104, 204, 204, 204, 105, 105, 106, 206, 107, 110, 207, 210, 109,109); - List list2 = Arrays.asList(101,103, 201, 203, 202, 205, 106, 106, 206, 207, 207, 107, 208, 209, 209, 109, 110, 110, 210,210); - List list3 = Arrays.asList( 204,104,203,201, 201,104, 109, 101, 206, 101, 105, 109, 205, 205, 208, 209, 207, 109, 203, 208, 102, 210, 106, 104, 107, 202, 105); + public void paoqihu() { + List list = Arrays.asList(101, 102, 103, 201, 202, 203, 205, 105, 106, 206, 107, 107, 207, 207, 110, 109, 108, + 208, 209, 210); + List list2 = Arrays.asList(101, 102, 201, 201, 201, 103, 103, 203, 204, 204, 104, 106, 106, 207, 207, 108, 110, + 210, 209, 208); + List list3 = Arrays.asList(205, 109, 206, 107, 104, 205, 102, 101, 107, 105, 109, 205, 205, 208, 209, 207, 109, + 203, 208, 102, 210, 106, 104, 107, 202, 105); this.cardList.addAll(list); this.cardList.addAll(list2); this.cardList.addAll(list3); } - public void checkhupai(){ + public void paoqihu2() { + List list = Arrays.asList(208, 208, 207, 107, 107, 104, 105, 106, 202, 207, 210, 102, 102, 103, 110, 110, 202, + 202, 206, 203); + List list2 = Arrays.asList(101, 102, 103, 101, 102, 103, 107, 110, 206, 207, 207, 206, 208, 209, 209, 109, 210, + 110, 203, 210); + List list3 = Arrays.asList(101, 110, 102, 103, 206, 104, 109, 101, 206, 101, 105, 109, 205, 205, 208, 209, 207, + 109, 203, 208, 102, 210, 106, 104, 107, 202, 105); + + this.cardList.addAll(list); + this.cardList.addAll(list2); + this.cardList.addAll(list3); + } + + public void checkpaowei() { + List list = Arrays.asList(103, 101, 201, 202, 203, 104, 104, 204, 204, 204, 105, 105, 106, 206, 107, 110, 207, + 210, 109, 109); + List list2 = Arrays.asList(101, 103, 201, 203, 202, 205, 106, 106, 206, 207, 207, 107, 208, 209, 209, 109, 110, + 110, 210, 210); + List list3 = Arrays.asList(204, 104, 203, 201, 201, 104, 109, 101, 206, 101, 105, 109, 205, 205, 208, 209, 207, + 109, 203, 208, 102, 210, 106, 104, 107, 202, 105); + + this.cardList.addAll(list); + this.cardList.addAll(list2); + this.cardList.addAll(list3); + } + + public void checkhupai() { Jedis jedis5 = Redis.use("group1_db5").getJedis(); try { - String list = jedis5.hget("military_testcheck", "rec_1" ); + String list = jedis5.hget("military_testcheck", "rec_1"); TObject data = (TObject) TObject.newFromJsonData(list); TObject hand1 = (TObject) data.getTObject("info").getTArray("playerData").getTObject(0); - ITArray list1 =(ITArray) hand1.getTArray("hand_card"); + ITArray list1 = (ITArray) hand1.getTArray("hand_card"); TObject hand2 = (TObject) data.getTObject("info").getTArray("playerData").getTObject(1); - ITArray list2 =(ITArray) hand2.getTArray("hand_card"); + ITArray list2 = (ITArray) hand2.getTArray("hand_card"); - for (int i=0;i 0) { + if (this.subCardList.size() > 0) { int card = this.subCardList.remove(0); return card; - }else { + } else { return 0; } - }else { - //this.shuffle(); + } else { +// this.shuffle(); int card = this.cardList.remove(0); return card; } @@ -496,7 +571,7 @@ public class RoomCard { if (this.subCardList.size() == 0) { int card = this.cardList.remove(0); return card; - }else { + } else { int card = this.subCardList.remove(0); return card; } @@ -510,17 +585,17 @@ public class RoomCard { ArrayList dealCards = new ArrayList(); for (int index = 0; index < 20; index++) { int tmpcard = this.pop(); - if(this.checksanlong(dealCards,tmpcard)){ + if (this.checksanlong(dealCards, tmpcard)) { this.cardList.add(tmpcard); this.shuffle(); int tmpcard1 = this.pop(); - if(this.checksanlong(dealCards,tmpcard1)){ + if (this.checksanlong(dealCards, tmpcard1)) { dealCards.add(this.pop()); - }else{ + } else { dealCards.add(tmpcard1); } - }else{ + } else { dealCards.add(tmpcard); } } @@ -529,7 +604,7 @@ public class RoomCard { } public boolean checksanlong(ArrayList dealCards, int tmpcard) { - //判断是否有两条龙 + // 判断是否有两条龙 ArrayList tmpcards = new ArrayList(); tmpcards.addAll(dealCards); tmpcards.add(tmpcard); @@ -543,9 +618,31 @@ public class RoomCard { } } tmpcards.clear(); - if (tnum>=2){ + if (tnum >= 2) { return true; } return false; } + + public static void main(String[] args) { + ArrayList tmpcards = new ArrayList(); + ArrayList dealCards = new ArrayList(); + dealCards.add(108); + dealCards.add(108); + dealCards.add(108); + dealCards.add(208); + dealCards.add(208); + dealCards.add(208); + dealCards.add(208); + tmpcards.addAll(dealCards); + Map cardMap = CardUtil.getCardNumMap(tmpcards); + for (Map.Entry entry : cardMap.entrySet()) { + int card = entry.getKey(); + int num = entry.getValue(); + if (num == 4) { + System.out.println(card); + } + } + + } } diff --git a/game_zp_fangpaofa/src/main/java/extend/zp/player/rule/RuleWei.java b/game_zp_fangpaofa/src/main/java/extend/zp/player/rule/RuleWei.java index 7d3f9a4..c536edf 100644 --- a/game_zp_fangpaofa/src/main/java/extend/zp/player/rule/RuleWei.java +++ b/game_zp_fangpaofa/src/main/java/extend/zp/player/rule/RuleWei.java @@ -18,7 +18,14 @@ public class RuleWei implements IRuleBase { if (player.getRoom().roomoutcardlist.size()==0&&player.seat!=activePlayer.seat){ return false; } +// if (player.outcardList.isEmpty() && player.opCard.size()==0){ +// return false; +// } + if (player.getRoom().card.cardList.size()>=19){ + return false; + } if (CardUtil.cardNum(eventCard, player.cardInhand) == 2) { + player.winCard = player.drawCard; player.drawCard = 0; CardUtil.removeCard(player.cardInhand, eventCard, 2); 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 25ad8c4..0c79b21 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 @@ -2,44 +2,32 @@ package extend.zp.uitl; import com.taurus.core.util.Logger; import extend.zp.EXPlayer; +import extend.zp.EXRoom; import extend.zp.OpCard; import extend.zp.RuleWeight; import extend.zp.player.rulestate.PRChi; -import java.util.List; - - public class Paixing { public static final Logger logger = Logger.getLogger(PRChi.class); - public static boolean checkPaoTi(List checkOplist){ - for (OpCard opCard : checkOplist) { - if (opCard.type==RuleWeight.TYPE_TI||opCard.type==RuleWeight.TYPE_PAO){ - return true; - } - } - return false; - } - public static boolean checkWin(EXPlayer player, int drawCard) { player.resetHuXi(); boolean isWin = false; - //判断是否有跑有提 - if(checkPaoTi(player.opCardList)){ - WinCardPxNew winCard2 = new WinCardPxNew(player.cardInhand, drawCard, player.huXi, true, player.opCardList); - if(winCard2.checkHu()) { - return true; - } - } - - WinCard win = new WinCard(player.cardInhand, drawCard); - EXPlayer activePlayer = (EXPlayer) player.room.playerMapBySeat.get(player.room.activeSeat); - - //原始算法计算 - if (win.tryWin(player)&&!isWin) { + EXRoom room = (EXRoom) player.room; + int haveCardCount = 0; + for (int i = 0; i < player.cardInhand.size(); i++) { + if (player.cardInhand.get(i).intValue() == room.activeCard) { + haveCardCount++; + } + } + if (haveCardCount >= 2) { + win.tryKezi(room.activeCard, player); + } + // 原始算法计算 + if (win.tryWin(player) && !isWin) { if (player.huXi >= 15) { isWin = true; } @@ -47,29 +35,16 @@ public class Paixing { if (!isWin) { player.resetHuXi(); - /*if (player.getRoom().isTianHu) { - if (player.tiCount >= 3) { - player.isMingTang = false; - isWin = true; - } - if (player.kanGroup.size() >= 5) { - player.isMingTang = false; - isWin = true; - } - if (player.tiCount >= 1 && player.kanGroup.size() >= 4) { - player.isMingTang = false; - isWin = true; - } - if (player.tiCount >= 2 && player.kanGroup.size() >= 3) { - player.isMingTang = false; - isWin = true; - } - }*/ - - + /* + * if (player.getRoom().isTianHu) { if (player.tiCount >= 3) { player.isMingTang + * = false; isWin = true; } if (player.kanGroup.size() >= 5) { player.isMingTang + * = false; isWin = true; } if (player.tiCount >= 1 && player.kanGroup.size() >= + * 4) { player.isMingTang = false; isWin = true; } if (player.tiCount >= 2 && + * player.kanGroup.size() >= 3) { player.isMingTang = false; isWin = true; } } + */ for (int i = 0; i < player.pongGroup.size(); i++) { - if (drawCard == player.pongGroup.get(i)[0]&&!player.getRoom().paochucardlist.contains(drawCard)) { + if (drawCard == player.pongGroup.get(i)[0] && !player.getRoom().paochucardlist.contains(drawCard)) { player.kongCount++; WinCard win1 = new WinCard(player.cardInhand, 0); if (win1.tryWin(player)) { @@ -136,7 +111,7 @@ public class Paixing { if (!win.cardList.isEmpty()) { player.handCardEx.addAll(win.cardList); } - + } return isWin; } 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 4692f22..abadcb6 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 @@ -27,7 +27,7 @@ public class WinCard { Collections.sort(this.cardList); } - private boolean tryKezi(int card, EXPlayer player) { + boolean tryKezi(int card, EXPlayer player) { if (CardUtil.cardNum(card, this.cardList) >= 3) { CardUtil.removeCard(this.cardList, card, CardUtil.cardNum(card, this.cardList)); List cardGroup = new ArrayList();