mirror of
https://github.com/wahyd4/RobotSimulator.git
synced 2026-08-08 21:06:38 +10:00
101 lines
1.9 KiB
Java
101 lines
1.9 KiB
Java
package au.com.seek.domain;
|
|
|
|
|
|
public enum Direction {
|
|
NORTH {
|
|
@Override
|
|
public Direction turnRight() {
|
|
return EAST;
|
|
}
|
|
|
|
@Override
|
|
public Direction turnLeft() {
|
|
return WEST;
|
|
}
|
|
|
|
@Override
|
|
public int stepValueOnXAxis() {
|
|
return 0;
|
|
}
|
|
|
|
@Override
|
|
public int stepValueOnYAxis() {
|
|
return STEP_VALUE;
|
|
}
|
|
},
|
|
EAST {
|
|
@Override
|
|
public Direction turnRight() {
|
|
return SOUTH;
|
|
}
|
|
|
|
@Override
|
|
public Direction turnLeft() {
|
|
return NORTH;
|
|
}
|
|
|
|
@Override
|
|
public int stepValueOnXAxis() {
|
|
return STEP_VALUE;
|
|
}
|
|
|
|
@Override
|
|
public int stepValueOnYAxis() {
|
|
return 0;
|
|
}
|
|
},
|
|
SOUTH {
|
|
@Override
|
|
public Direction turnRight() {
|
|
return WEST;
|
|
}
|
|
|
|
@Override
|
|
public Direction turnLeft() {
|
|
return EAST;
|
|
}
|
|
|
|
@Override
|
|
public int stepValueOnXAxis() {
|
|
return 0;
|
|
}
|
|
|
|
@Override
|
|
public int stepValueOnYAxis() {
|
|
return NEGATIVE_STEP_VALUE;
|
|
}
|
|
},
|
|
WEST {
|
|
@Override
|
|
public Direction turnRight() {
|
|
return NORTH;
|
|
}
|
|
|
|
@Override
|
|
public Direction turnLeft() {
|
|
return SOUTH;
|
|
}
|
|
|
|
@Override
|
|
public int stepValueOnXAxis() {
|
|
return NEGATIVE_STEP_VALUE;
|
|
}
|
|
|
|
@Override
|
|
public int stepValueOnYAxis() {
|
|
return 0;
|
|
}
|
|
};
|
|
|
|
private static final int NEGATIVE_STEP_VALUE = -1;
|
|
private static final int STEP_VALUE = 1;
|
|
|
|
public abstract Direction turnRight();
|
|
|
|
public abstract Direction turnLeft();
|
|
|
|
public abstract int stepValueOnXAxis();
|
|
|
|
public abstract int stepValueOnYAxis();
|
|
}
|