From 96bc701ba7a01b940ad5910d85c7b6958ac4a141 Mon Sep 17 00:00:00 2001 From: Joe Zhao Date: Sat, 6 Dec 2014 19:48:28 +0800 Subject: Restructuring & workflow construction --- player/CmdPlayerHandler.java | 47 ++++++++++++++++++++++++++++++++++++++++++ player/GenericPlayer.java | 6 ++++-- player/PlayerActionServer.java | 6 ++++++ player/human/LocalHuman.java | 2 +- 4 files changed, 58 insertions(+), 3 deletions(-) create mode 100644 player/CmdPlayerHandler.java (limited to 'player') diff --git a/player/CmdPlayerHandler.java b/player/CmdPlayerHandler.java new file mode 100644 index 0000000..8d1e91b --- /dev/null +++ b/player/CmdPlayerHandler.java @@ -0,0 +1,47 @@ +package mahjong.player; + +import mahjong.engine.Action; +import mahjong.engine.Logger; + +/** + * Created by joe on 12/5/14. + */ +public class CmdPlayerHandler implements PlayerActionHandler { + GenericPlayer player; + Logger logger; + + public CmdPlayerHandler(GenericPlayer player) + { + this.player = player; + } + + @Override + public Action stateAlert(Action action) { + if (action.getType()== Action.Type.System) + { + // System info + if (action.getPlace() == Action.Place.Info) + { + if (action.getMessage().compareTo("") == 0) + } + else + switch (action.getPlace()) { + case East: + case South: + case West: + case North: + break; + } + } + else + { + } + return null; + } + + @Override + public void stateUpdate(Action action) { + if (action == null) + return; + } +} \ No newline at end of file diff --git a/player/GenericPlayer.java b/player/GenericPlayer.java index 23cea93..f1a9755 100644 --- a/player/GenericPlayer.java +++ b/player/GenericPlayer.java @@ -1,7 +1,7 @@ package mahjong.player; import mahjong.aux.Card; -import mahjong.aux.set.Aside; +import mahjong.aux.set.Meld; import mahjong.aux.set.Hand; import mahjong.aux.set.Set; import mahjong.engine.Action; @@ -22,7 +22,9 @@ public abstract class GenericPlayer { } public abstract Action stateAlert(Action action); - public abstract void stateUpdate(Action action); + public void stateUpdate(Action action) + { + } public void setScore(int score) { this.score = score; diff --git a/player/PlayerActionServer.java b/player/PlayerActionServer.java index 09d2417..9e126d4 100644 --- a/player/PlayerActionServer.java +++ b/player/PlayerActionServer.java @@ -2,6 +2,7 @@ package mahjong.player; import mahjong.aux.set.Hand; import mahjong.engine.Action; +import mahjong.tools.Alert; /** * Created by joe on 12/4/14. @@ -25,13 +26,18 @@ public class PlayerActionServer implements PlayerActionHandler { return name; } + @Override public Action stateAlert(Action action) { + Alert.Error(action==null,"Action can't be null in alert"); return null; } + @Override public void stateUpdate(Action action) { + if (action == null) + return; } public int getScore() { diff --git a/player/human/LocalHuman.java b/player/human/LocalHuman.java index e04b89a..e9641dd 100644 --- a/player/human/LocalHuman.java +++ b/player/human/LocalHuman.java @@ -1,7 +1,7 @@ package mahjong.player.human; import mahjong.aux.Card; -import mahjong.aux.set.Aside; +import mahjong.aux.set.Meld; import mahjong.aux.set.Hand; import mahjong.engine.Action; import mahjong.player.GenericPlayer; -- cgit v1.2.3-70-g09d2