summaryrefslogtreecommitdiffstats
path: root/core/src/ch/asynk/tankontank/engine/Board.java
diff options
context:
space:
mode:
Diffstat (limited to 'core/src/ch/asynk/tankontank/engine/Board.java')
-rw-r--r--core/src/ch/asynk/tankontank/engine/Board.java83
1 files changed, 1 insertions, 82 deletions
diff --git a/core/src/ch/asynk/tankontank/engine/Board.java b/core/src/ch/asynk/tankontank/engine/Board.java
index 9b05b9f..01839e9 100644
--- a/core/src/ch/asynk/tankontank/engine/Board.java
+++ b/core/src/ch/asynk/tankontank/engine/Board.java
@@ -33,87 +33,6 @@ public abstract class Board implements Disposable
public Tile getNewTile(float cx, float cy);
}
- public enum Orientation
- {
- ALL(0, 63),
- KEEP(0, 0),
- NORTH(270, 1),
- NORTH_EAST(210, 2),
- SOUTH_EAST(150, 4),
- SOUTH(90, 8),
- SOUTH_WEST (30, 16),
- NORTH_WEST(330, 32);
-
- public static int offset = 0;
- public static float delta = 5f;
- private final int r;
- public final int s;
-
- Orientation(int r, int s) { this.r = r; this.s = s; }
-
- public float r() { return offset + r; }
-
- public boolean isInSides(int sides)
- {
- return ((sides & s) == s);
- }
-
- public Orientation left()
- {
- if (this == NORTH) return NORTH_WEST;
- else return fromSide(s >> 1);
- }
-
- public Orientation right()
- {
- if (this == NORTH_WEST) return NORTH;
- else return fromSide(s << 1);
- }
-
- public Orientation opposite()
- {
- return left().left().left();
- }
-
- public int allBut()
- {
- return ALL.s & (s ^ 0xFFFF);
- }
-
- public int getFrontSides()
- {
- return s | left().s | right().s;
- }
-
- public int getBackSides()
- {
- return opposite().getFrontSides();
- }
-
- public static Orientation fromSide(int s)
- {
- if (s == 1) return NORTH;
- else if (s == NORTH_EAST.s) return NORTH_EAST;
- else if (s == SOUTH_EAST.s) return SOUTH_EAST;
- else if (s == SOUTH.s) return SOUTH;
- else if (s == SOUTH_WEST.s) return SOUTH_WEST;
- else if (s == NORTH_WEST.s) return NORTH_WEST;
- else return KEEP;
- }
-
- public static Orientation fromRotation(float r)
- {
- if (r < 0) r += 360f;
- if ((r > (NORTH.r - 5f)) && (r < (NORTH.r + 5f))) return NORTH;
- else if ((r > (NORTH_EAST.r - delta)) && (r < (NORTH_EAST.r + delta))) return NORTH_EAST;
- else if ((r > (SOUTH_EAST.r - delta)) && (r < (SOUTH_EAST.r + delta))) return SOUTH_EAST;
- else if ((r > (SOUTH.r - delta)) && (r < (SOUTH.r + delta))) return SOUTH;
- else if ((r > (SOUTH_WEST.r - delta)) && (r < (SOUTH_WEST.r + delta))) return SOUTH_WEST;
- else if ((r > (NORTH_WEST.r - delta)) && (r < (NORTH_WEST.r + delta))) return NORTH_WEST;
- else return KEEP;
- }
- }
-
public static class Config
{
public int cols;
@@ -435,7 +354,7 @@ public abstract class Board implements Disposable
for (int i = (nodes.size() - 2); i >= 0; i--) {
SearchBoard.Node node = nodes.get(i);
GridPoint3 point = gridPoint3Pool.obtain();
- point.set(node.col, node.row, getOrientation(prev, node).r);
+ point.set(node.col, node.row, (int) getOrientation(prev, node).r());
path.add(point);
prev = node;
}