diff options
author | Joe Zhao <ztuowen@gmail.com> | 2014-12-03 13:05:53 +0800 |
---|---|---|
committer | Joe Zhao <ztuowen@gmail.com> | 2014-12-03 13:05:53 +0800 |
commit | 635589583b9af8994dd3f947dd3eb31157ecde1f (patch) | |
tree | d4f1fc0c7d8483bf6b21e6c5139dea0adb9db4c4 /engine/Engine.java | |
parent | 20192ee5e02f3b87992764b68063028cb15e9d50 (diff) | |
download | Mahjong-635589583b9af8994dd3f947dd3eb31157ecde1f.tar.gz Mahjong-635589583b9af8994dd3f947dd3eb31157ecde1f.tar.bz2 Mahjong-635589583b9af8994dd3f947dd3eb31157ecde1f.zip |
Revised Aside
Need better input method
Diffstat (limited to 'engine/Engine.java')
-rw-r--r-- | engine/Engine.java | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/engine/Engine.java b/engine/Engine.java index efd853c..eec7b73 100644 --- a/engine/Engine.java +++ b/engine/Engine.java @@ -45,6 +45,16 @@ public class Engine { deck = Deck.generateDeck(); } + public static void playerPutAsideCards(GenericPlayer player, Card card, Aside aside) + { + boolean mark=true; + for (Card asCard:aside.getRep()) + if (card.getId() == asCard.getId() && mark) + mark = true; + else + player.hand.remove(asCard); + } + public void mainLoop() { start(); @@ -61,14 +71,15 @@ public class Engine { hu=true; System.out.println(player.getName().concat(" Hule")); } - // An Gang + // Gang if (player.hand.gangAble(card)) { Aside aside = player.confirmJiaAnGang(card, 0); - if (aside.getRep().getStdId()==card.getStdId()) + if (aside.getRep()[0].getStdId()==card.getStdId()) { + // An for (Aside exAside:player.hand.asides) - if (exAside.getRep().getStdId() == card.getStdId()) { + if (exAside.getRep()[0].getStdId() == card.getStdId()) { aside.setFrom(exAside.getFrom()); player.hand.asides.remove(exAside); break; @@ -76,9 +87,8 @@ public class Engine { player.hand.asides.add(aside); } else { - player.hand.asides.add(aside); - for (int i=0;i<3;++i) - player.hand.remove(card); + // Jia + playerPutAsideCards(player,card,aside); // @TODO Remove consider card no } } |