summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--aux/Card.java26
-rw-r--r--engine/Action.java10
-rw-r--r--player/PlayerAction.java7
-rw-r--r--player/human/LocalHuman.java35
4 files changed, 43 insertions, 35 deletions
diff --git a/aux/Card.java b/aux/Card.java
index cabd2d9..c84b9bb 100644
--- a/aux/Card.java
+++ b/aux/Card.java
@@ -1,5 +1,9 @@
package mahjong.aux;
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStreamReader;
+
/**
* Created by joe on 12/1/14.
*/
@@ -137,4 +141,26 @@ public class Card {
public boolean isZi() { return isFeng() || isYuan(); }
public boolean is19() { return isLaoTou() || isZi();}
public boolean isZhongZhang(){ return !is19(); }
+
+ public static Card readCardFromInput()
+ {
+ BufferedReader br = new BufferedReader(new
+ InputStreamReader(System.in));
+ String cardStr="Yi Wan";
+ try {
+ cardStr = br.readLine();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ return new Card(cardStr);
+ }
+
+ // TODO This way of input will certainly kill users
+ public static Card[] readMultipleCardFromInput(int num)
+ {
+ Card[] res=new Card[num];
+ for (int i=0;i<num;++i)
+ res[i]=readCardFromInput();
+ return res;
+ }
} \ No newline at end of file
diff --git a/engine/Action.java b/engine/Action.java
new file mode 100644
index 0000000..897cc2a
--- /dev/null
+++ b/engine/Action.java
@@ -0,0 +1,10 @@
+package mahjong.engine;
+
+/**
+ * Created by joe on 12/3/14.
+ */
+public class Action {
+ // TODO Generic action
+ // Requirement: printable,parseable,coverage
+ // Coverage: System,player
+}
diff --git a/player/PlayerAction.java b/player/PlayerAction.java
deleted file mode 100644
index fb7b205..0000000
--- a/player/PlayerAction.java
+++ /dev/null
@@ -1,7 +0,0 @@
-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 a977177..dd47666 100644
--- a/player/human/LocalHuman.java
+++ b/player/human/LocalHuman.java
@@ -27,27 +27,6 @@ public class LocalHuman extends GenericPlayer {
System.out.println(player.getName().concat(":\n\t").concat("Putdown:\t").concat(card.getNormalName()));
}
- public Card readCardFromInput()
- {
- BufferedReader br = new BufferedReader(new
- InputStreamReader(System.in));
- String cardStr="Yi Wan";
- try {
- cardStr = br.readLine();
- } catch (IOException e) {
- e.printStackTrace();
- }
- 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);
@@ -69,7 +48,7 @@ public class LocalHuman extends GenericPlayer {
public Card putCard(){
System.out.println("Your deck now:");
hand.print();
- return readCardFromInput();
+ return Card.readCardFromInput();
}
@Override
@@ -81,24 +60,24 @@ public class LocalHuman extends GenericPlayer {
@Override
public Aside confirmPeng(Card card, int from) {
if (genConfirm("Peng?"))
- return new Aside(readMultipleCardFromInput(3), Aside.Type.Peng,from);
+ return new Aside(Card.readMultipleCardFromInput(3), Aside.Type.Peng,from);
return null;
}
@Override
public Aside confirmChi(Card card, int from) {
if (genConfirm("Chi?"))
- return new Aside(readMultipleCardFromInput(3), Aside.Type.jGang, from);
+ return new Aside(Card.readMultipleCardFromInput(3), Aside.Type.jGang, from);
return null;
}
@Override
public Aside confirmJiaAnGang(Card card, int from) {
if (genConfirm("Gang?")) {
- if (readCardFromInput().getId() == card.getId())
- return new Aside(readMultipleCardFromInput(4), Aside.Type.jGang, from);
+ if (Card.readCardFromInput().getId() == card.getId())
+ return new Aside(Card.readMultipleCardFromInput(4), Aside.Type.jGang, from);
else
- return new Aside(readMultipleCardFromInput(4), Aside.Type.aGang, from);
+ return new Aside(Card.readMultipleCardFromInput(4), Aside.Type.aGang, from);
}
return null;
}
@@ -106,7 +85,7 @@ public class LocalHuman extends GenericPlayer {
@Override
public Aside confirmMingGang(Card card, int from) {
if (genConfirm("Gang?"))
- return new Aside(readMultipleCardFromInput(4), Aside.Type.mGang, from);
+ return new Aside(Card.readMultipleCardFromInput(4), Aside.Type.mGang, from);
return null;
}