diff options
Diffstat (limited to 'player/human/LocalHuman.java')
-rw-r--r-- | player/human/LocalHuman.java | 55 |
1 files changed, 46 insertions, 9 deletions
diff --git a/player/human/LocalHuman.java b/player/human/LocalHuman.java index 4ae8bf7..48da715 100644 --- a/player/human/LocalHuman.java +++ b/player/human/LocalHuman.java @@ -27,10 +27,8 @@ public class LocalHuman extends GenericPlayer { System.out.println(player.getName().concat(":\n\t").concat("Putdown:\t").concat(card.getNormalName())); } - @Override - public Card putCard(){ - System.out.println("Your deck now:"); - hand.print(); + public Card readCardFromInput() + { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String cardStr="Yi Wan"; @@ -42,6 +40,30 @@ public class LocalHuman extends GenericPlayer { return new Card(cardStr); } + public boolean genConfirm(String question) + { + System.out.println(question); + BufferedReader br = new BufferedReader(new + InputStreamReader(System.in)); + String inStr="O"; + try { + while (inStr.toUpperCase().compareTo("Y")!=0 && inStr.toUpperCase().compareTo("N")!=0) + inStr = br.readLine(); + } catch (IOException e) { + e.printStackTrace(); + } + if (inStr.toUpperCase().compareTo("Y")==0) + return true; + return false; + } + + @Override + public Card putCard(){ + System.out.println("Your deck now:"); + hand.print(); + return readCardFromInput(); + } + @Override public void give(Card card) { System.out.println("You drew:\n\t".concat(card.getNormalName())); @@ -49,27 +71,42 @@ public class LocalHuman extends GenericPlayer { } @Override - public Aside confirmPeng(Card card) { + public Aside confirmPeng(Card card, int from) { + if (genConfirm("Peng?")) + return new Aside(card, Aside.Type.Peng,from); return null; } @Override - public Aside confirmChi(Card card) { + public Aside confirmChi(Card card, int from) { + if (genConfirm("Chi?")) + return new Aside(readCardFromInput(), Aside.Type.jGang, from); return null; } @Override - public Aside confirmJiaAnGang(Card card) { + public Aside confirmJiaAnGang(Card card, int from) { + if (genConfirm("Gang?")) { + if (readCardFromInput().getId() == card.getId()) + return new Aside(card, Aside.Type.jGang, from); + else + return new Aside(card, Aside.Type.aGang, from); + } return null; } @Override - public Aside confirmMingGang(Card card) { + public Aside confirmMingGang(Card card, int from) { + if (genConfirm("Gang?")) + return new Aside(card, Aside.Type.mGang, from); return null; } @Override - public boolean confirmHu() { + public boolean confirmHu(Card card, int from) { + System.out.println("Card:\n\t".concat(card.getNormalName())); + if (genConfirm("Hu?")) + return true; return false; } } |