diff options
| author | Joe Zhao <ztuowen@gmail.com> | 2014-12-03 13:14:19 +0800 | 
|---|---|---|
| committer | Joe Zhao <ztuowen@gmail.com> | 2014-12-03 13:14:19 +0800 | 
| commit | f4a4f8a8cbd6a6277eff2cf9eb7cc48c35e99474 (patch) | |
| tree | 082aae9a6d489a93f7ae1dc48c8404f1323afebc | |
| parent | 635589583b9af8994dd3f947dd3eb31157ecde1f (diff) | |
| download | Mahjong-f4a4f8a8cbd6a6277eff2cf9eb7cc48c35e99474.tar.gz Mahjong-f4a4f8a8cbd6a6277eff2cf9eb7cc48c35e99474.tar.bz2 Mahjong-f4a4f8a8cbd6a6277eff2cf9eb7cc48c35e99474.zip  | |
Moved helper function's ownership
| -rw-r--r-- | aux/Card.java | 26 | ||||
| -rw-r--r-- | engine/Action.java | 10 | ||||
| -rw-r--r-- | player/PlayerAction.java | 7 | ||||
| -rw-r--r-- | player/human/LocalHuman.java | 35 | 
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;      }  | 
