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 | |
parent | 4b018af45ad8a133ae7abe2b164c18e3e345291b (diff) | |
download | Mahjong-2bd91f30c298f6fbdd1d0f84f26e1f228ec37152.tar.gz Mahjong-2bd91f30c298f6fbdd1d0f84f26e1f228ec37152.tar.bz2 Mahjong-2bd91f30c298f6fbdd1d0f84f26e1f228ec37152.zip |
New framework
-rw-r--r-- | engine/Logger.java | 7 | ||||
-rw-r--r-- | player/GenericPlayer.java | 13 | ||||
-rw-r--r-- | player/ai/AIPlayer.java | 19 | ||||
-rw-r--r-- | player/human/LocalHuman.java | 73 |
4 files changed, 32 insertions, 80 deletions
diff --git a/engine/Logger.java b/engine/Logger.java new file mode 100644 index 0000000..2fa1219 --- /dev/null +++ b/engine/Logger.java @@ -0,0 +1,7 @@ +package mahjong.engine; + +/** + * Created by joe on 12/3/14. + */ +public class Logger { +} 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; } } |