Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package routines;
- import game.GameBoard;
- import game.Player;
- public abstract class Routine {
- public enum RoutineState { Success, Failure, Running };
- protected RoutineState state;
- protected Routine() { }
- public abstract void act(Player player, GameBoard board);
- public abstract void reset();
- public void start() {
- if(this.state == null)
- this.state = RoutineState.Running;
- else if(this.state != null) {
- this.state = null;
- this.state = RoutineState.Running;
- }
- }
- public void succeed() {
- System.out.println(">>> Routine: " + this.getClass().getSimpleName() + " SUCCEEDED");
- this.state = RoutineState.Success;
- }
- public void fail() {
- System.out.println(">>> Routine: " + this.getClass().getSimpleName() + " FAILED");
- this.state = RoutineState.Failure;
- }
- public boolean isSuccess() {
- return state.equals(RoutineState.Success);
- }
- public boolean isFailure() {
- return state.equals(RoutineState.Failure);
- }
- public boolean isRunning() {
- return state.equals(RoutineState.Running);
- }
- public RoutineState getState() {
- return state;
- }
- public void setState(RoutineState state) {
- this.state = state;
- }
- @Override
- public String toString() {
- return super.getClass().getSimpleName();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement