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 /player | |
parent | 20192ee5e02f3b87992764b68063028cb15e9d50 (diff) | |
download | Mahjong-635589583b9af8994dd3f947dd3eb31157ecde1f.tar.gz Mahjong-635589583b9af8994dd3f947dd3eb31157ecde1f.tar.bz2 Mahjong-635589583b9af8994dd3f947dd3eb31157ecde1f.zip |
Revised Aside
Need better input method
Diffstat (limited to 'player')
-rw-r--r-- | player/GenericPlayer.java | 8 | ||||
-rw-r--r-- | player/PlayerAction.java | 7 | ||||
-rw-r--r-- | player/human/LocalHuman.java | 20 |
3 files changed, 29 insertions, 6 deletions
diff --git a/player/GenericPlayer.java b/player/GenericPlayer.java index bae29a1..b965310 100644 --- a/player/GenericPlayer.java +++ b/player/GenericPlayer.java @@ -12,6 +12,7 @@ import java.io.IOException; */ public abstract class GenericPlayer { public Hand hand=new Hand(); + int score; protected String name; @@ -30,4 +31,11 @@ public abstract class GenericPlayer { public abstract boolean confirmHu(Card card,int from); + public void setScore(int score) { + this.score = score; + } + + public int getScore() { + return score; + } } diff --git a/player/PlayerAction.java b/player/PlayerAction.java new file mode 100644 index 0000000..fb7b205 --- /dev/null +++ b/player/PlayerAction.java @@ -0,0 +1,7 @@ +package mahjong.player; + +/** + * Created by joe on 12/3/14. + */ +public class PlayerAction { +} diff --git a/player/human/LocalHuman.java b/player/human/LocalHuman.java index 48da715..a977177 100644 --- a/player/human/LocalHuman.java +++ b/player/human/LocalHuman.java @@ -22,7 +22,7 @@ public class LocalHuman extends GenericPlayer { @Override public void stateUpdate(GenericPlayer player, Aside aside, Card card) { if (aside!=null) - System.out.println(player.getName().concat(":\n\t").concat(aside.getType().name()).concat("\tStart with\t").concat(aside.getRep().getNormalName())); + System.out.println(player.getName().concat(":\n\t").concat(aside.getType().name()).concat("\tStart with\t").concat(aside.getRep()[0].getNormalName())); if (card!=null) System.out.println(player.getName().concat(":\n\t").concat("Putdown:\t").concat(card.getNormalName())); } @@ -40,6 +40,14 @@ public class LocalHuman extends GenericPlayer { return new Card(cardStr); } + public Card[] readMultipleCardFromInput(int num) + { + Card[] res=new Card[num]; + for (int i=0;i<num;++i) + res[i]=readCardFromInput(); + return res; + } + public boolean genConfirm(String question) { System.out.println(question); @@ -73,14 +81,14 @@ public class LocalHuman extends GenericPlayer { @Override public Aside confirmPeng(Card card, int from) { if (genConfirm("Peng?")) - return new Aside(card, Aside.Type.Peng,from); + return new Aside(readMultipleCardFromInput(3), Aside.Type.Peng,from); return null; } @Override public Aside confirmChi(Card card, int from) { if (genConfirm("Chi?")) - return new Aside(readCardFromInput(), Aside.Type.jGang, from); + return new Aside(readMultipleCardFromInput(3), Aside.Type.jGang, from); return null; } @@ -88,9 +96,9 @@ public class LocalHuman extends GenericPlayer { public Aside confirmJiaAnGang(Card card, int from) { if (genConfirm("Gang?")) { if (readCardFromInput().getId() == card.getId()) - return new Aside(card, Aside.Type.jGang, from); + return new Aside(readMultipleCardFromInput(4), Aside.Type.jGang, from); else - return new Aside(card, Aside.Type.aGang, from); + return new Aside(readMultipleCardFromInput(4), Aside.Type.aGang, from); } return null; } @@ -98,7 +106,7 @@ public class LocalHuman extends GenericPlayer { @Override public Aside confirmMingGang(Card card, int from) { if (genConfirm("Gang?")) - return new Aside(card, Aside.Type.mGang, from); + return new Aside(readMultipleCardFromInput(4), Aside.Type.mGang, from); return null; } |