PlayerLogic.java
package io.github.some_example_name;
public class PlayerLogic {
public enum Frame {
FRONT,
BACK,
SIDE
}
public static class FrameState {
public final Frame frame;
public final boolean flipX;
public FrameState(Frame frame, boolean flipX) {
this.frame = frame;
this.flipX = flipX;
}
}
public static FrameState decideFrame(Player.Direction direction) {
switch (direction) {
case UP:
return new FrameState(Frame.BACK, false);
case DOWN:
return new FrameState(Frame.FRONT, false);
case LEFT:
return new FrameState(Frame.SIDE, false);
case RIGHT:
return new FrameState(Frame.SIDE, true);
case NORTHEAST:
return new FrameState(Frame.BACK, true);
case NORTHWEST:
return new FrameState(Frame.BACK, false);
case SOUTHEAST:
return new FrameState(Frame.FRONT, true);
case SOUTHWEST:
return new FrameState(Frame.FRONT, false);
default:
return new FrameState(Frame.FRONT, false);
}
}
}