diff options
| author | Joe Zhao <ztuowen@gmail.com> | 2014-12-03 20:12:13 +0800 | 
|---|---|---|
| committer | Joe Zhao <ztuowen@gmail.com> | 2014-12-03 20:12:13 +0800 | 
| commit | 2bd91f30c298f6fbdd1d0f84f26e1f228ec37152 (patch) | |
| tree | 588d3fe4fa97e990601afc31aafb54f6caa9c3d4 /player | |
| parent | 4b018af45ad8a133ae7abe2b164c18e3e345291b (diff) | |
| download | Mahjong-2bd91f30c298f6fbdd1d0f84f26e1f228ec37152.tar.gz Mahjong-2bd91f30c298f6fbdd1d0f84f26e1f228ec37152.tar.bz2 Mahjong-2bd91f30c298f6fbdd1d0f84f26e1f228ec37152.zip  | |
New framework
Diffstat (limited to 'player')
| -rw-r--r-- | player/GenericPlayer.java | 13 | ||||
| -rw-r--r-- | player/ai/AIPlayer.java | 19 | ||||
| -rw-r--r-- | player/human/LocalHuman.java | 73 | 
3 files changed, 25 insertions, 80 deletions
diff --git a/player/GenericPlayer.java b/player/GenericPlayer.java index b965310..23cea93 100644 --- a/player/GenericPlayer.java +++ b/player/GenericPlayer.java @@ -4,6 +4,7 @@ import mahjong.aux.Card;  import mahjong.aux.set.Aside;  import mahjong.aux.set.Hand;  import mahjong.aux.set.Set; +import mahjong.engine.Action;  import java.io.IOException; @@ -20,16 +21,8 @@ public abstract class GenericPlayer {          return name;      } -    public abstract void stateUpdate(GenericPlayer player,Aside aside,Card card); -    public abstract Card putCard(); -    public abstract void give(Card card); - -    public abstract Aside confirmPeng(Card card, int from); -    public abstract Aside confirmChi(Card card, int from); -    public abstract Aside confirmJiaAnGang(Card card, int from); -    public abstract Aside confirmMingGang(Card card, int from); - -    public abstract boolean confirmHu(Card card,int from); +    public abstract Action stateAlert(Action action); +    public abstract void stateUpdate(Action action);      public void setScore(int score) {          this.score = score; diff --git a/player/ai/AIPlayer.java b/player/ai/AIPlayer.java new file mode 100644 index 0000000..8619fe0 --- /dev/null +++ b/player/ai/AIPlayer.java @@ -0,0 +1,19 @@ +package mahjong.player.ai; + +import mahjong.engine.Action; +import mahjong.player.GenericPlayer; + +/** + * Created by joe on 12/3/14. + */ +public class AIPlayer extends GenericPlayer { +    @Override +    public Action stateAlert(Action action) { +        return null; +    } + +    @Override +    public void stateUpdate(Action action) { + +    } +} diff --git a/player/human/LocalHuman.java b/player/human/LocalHuman.java index dd47666..e04b89a 100644 --- a/player/human/LocalHuman.java +++ b/player/human/LocalHuman.java @@ -3,6 +3,7 @@ package mahjong.player.human;  import mahjong.aux.Card;  import mahjong.aux.set.Aside;  import mahjong.aux.set.Hand; +import mahjong.engine.Action;  import mahjong.player.GenericPlayer;  import java.io.BufferedReader; @@ -20,80 +21,12 @@ 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()[0].getNormalName())); -        if (card!=null) -            System.out.println(player.getName().concat(":\n\t").concat("Putdown:\t").concat(card.getNormalName())); -    } - -    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 Card.readCardFromInput(); -    } - -    @Override -    public void give(Card card) { -        System.out.println("You drew:\n\t".concat(card.getNormalName())); -        hand.add(card); -    } - -    @Override -    public Aside confirmPeng(Card card, int from) { -        if (genConfirm("Peng?")) -            return new Aside(Card.readMultipleCardFromInput(3), Aside.Type.Peng,from); +    public Action stateAlert(Action action) {          return null;      }      @Override -    public Aside confirmChi(Card card, int from) { -        if (genConfirm("Chi?")) -            return new Aside(Card.readMultipleCardFromInput(3), Aside.Type.jGang, from); -        return null; -    } - -    @Override -    public Aside confirmJiaAnGang(Card card, int from) { -        if (genConfirm("Gang?")) { -            if (Card.readCardFromInput().getId() == card.getId()) -                return new Aside(Card.readMultipleCardFromInput(4), Aside.Type.jGang, from); -            else -                return new Aside(Card.readMultipleCardFromInput(4), Aside.Type.aGang, from); -        } -        return null; -    } +    public void stateUpdate(Action action) { -    @Override -    public Aside confirmMingGang(Card card, int from) { -        if (genConfirm("Gang?")) -            return new Aside(Card.readMultipleCardFromInput(4), Aside.Type.mGang, from); -        return null; -    } - -    @Override -    public boolean confirmHu(Card card, int from) { -        System.out.println("Card:\n\t".concat(card.getNormalName())); -        if (genConfirm("Hu?")) -            return true; -        return false;      }  }  | 
