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