summaryrefslogtreecommitdiff
path: root/player/human/LocalHuman.java
diff options
context:
space:
mode:
Diffstat (limited to 'player/human/LocalHuman.java')
-rw-r--r--player/human/LocalHuman.java55
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;
}
}