diff options
Diffstat (limited to 'core/src/ch')
4 files changed, 36 insertions, 33 deletions
diff --git a/core/src/ch/asynk/gdx/boardgame/Orientation.java b/core/src/ch/asynk/gdx/boardgame/Orientation.java index 98d1eda..835afe4 100644 --- a/core/src/ch/asynk/gdx/boardgame/Orientation.java +++ b/core/src/ch/asynk/gdx/boardgame/Orientation.java @@ -5,14 +5,14 @@ public enum Orientation      ALL(255,    0),      KEEP( 0,    0),      DEFAULT(0, -1), -    N(   1,    -1), -    NW(  2,    -1), -    W(   4,    -1), -    SW(  8,    -1), -    S(  16,    -1), -    SE( 32,    -1), -    E(  64,    -1), -    NE(128,    -1); +    E(   1,    -1), +    NE(  2,    -1), +    N(   4,    -1), +    NW(  8,    -1), +    W(  16,    -1), +    SW( 32,    -1), +    S(  64,    -1), +    SE(128,    -1);      private int s;      private int r;      Orientation(int s, int r) @@ -28,14 +28,14 @@ public enum Orientation      public static void setValues(int [] angles)      {          DEFAULT.r = angles[0]; -        N.r  = angles[1]; -        NW.r = angles[2]; -        W.r  = angles[3]; -        SW.r = angles[4]; -        S.r  = angles[5]; -        SE.r = angles[6]; -        E.r  = angles[7]; -        NE.r = angles[8]; +        E.r  = angles[1]; +        NE.r = angles[2]; +        N.r  = angles[3]; +        NW.r = angles[4]; +        W.r  = angles[5]; +        SW.r = angles[6]; +        S.r  = angles[7]; +        SE.r = angles[8];      }      public int allBut() @@ -50,40 +50,40 @@ public enum Orientation      public Orientation left()      { -        Orientation o = (this == NE) ? N : fromS(this.s << 1); +        Orientation o = (this == SE) ? E : fromS(this.s << 1);          return (o.r == -1) ? o.left() : o;      }      public Orientation right()      { -        Orientation o = (this == N) ? NE : fromS(this.s >> 1); +        Orientation o = (this == E) ? SE : fromS(this.s >> 1);          return (o.r == -1) ? o.right() : o;      }      public static Orientation fromS(int s)      { -        if (s == N.s) return N; +             if (s ==  E.s) return  E; +        else if (s == NE.s) return NE; +        else if (s ==  N.s) return  N;          else if (s == NW.s) return NW; -        else if (s == W.s) return W; +        else if (s ==  W.s) return  W;          else if (s == SW.s) return SW; -        else if (s == S.s) return S; +        else if (s ==  S.s) return  S;          else if (s == SE.s) return SE; -        else if (s == E.s) return E; -        else if (s == NE.s) return NE;          else return KEEP;      }      public static Orientation fromR(float r)      {          if (r < 0) r += 360f; -        if ((r > (N.r - delta)) && (r < (N.r + delta))) return N; +             if ((r > ( E.r - delta)) && (r < ( E.r + delta))) return  E; +        else if ((r > (NE.r - delta)) && (r < (NE.r + delta))) return NE; +        else if ((r > ( N.r - delta)) && (r < ( N.r + delta))) return  N;          else if ((r > (NW.r - delta)) && (r < (NW.r + delta))) return NW; -        else if ((r > (W.r - delta)) && (r < (W.r + delta))) return W; +        else if ((r > ( W.r - delta)) && (r < ( W.r + delta))) return  W;          else if ((r > (SW.r - delta)) && (r < (SW.r + delta))) return SW; -        else if ((r > (S.r - delta)) && (r < (S.r + delta))) return S; +        else if ((r > ( S.r - delta)) && (r < ( S.r + delta))) return  S;          else if ((r > (SE.r - delta)) && (r < (SE.r + delta))) return SE; -        else if ((r > (E.r - delta)) && (r < (E.r + delta))) return E; -        else if ((r > (NE.r - delta)) && (r < (NE.r + delta))) return NE;          else return KEEP;      } diff --git a/core/src/ch/asynk/gdx/boardgame/boards/HexBoard.java b/core/src/ch/asynk/gdx/boardgame/boards/HexBoard.java index 30aef0b..c78fb77 100644 --- a/core/src/ch/asynk/gdx/boardgame/boards/HexBoard.java +++ b/core/src/ch/asynk/gdx/boardgame/boards/HexBoard.java @@ -33,8 +33,9 @@ public class HexBoard implements Board      //   rows are vertical°      //   bottom left is the left vertice of the most bottom-left horizontal hex side of the map -    private static final int [] vAngles = {330, -1, 30, 90, 150,  -1, 210, 270, 330}; -    private static final int [] hAngles = {  0,  0, 60, -1, 120, 180, 240,  -1, 300}; +    // [0] is 0° facing East +    private static final int [] vAngles = {60,  0, 60, -1, 120, 180, 240,  -1, 300}; +    private static final int [] hAngles = {90, -1, 30, 90, 150,  -1, 210, 270, 330};      public HexBoard(float side, float x0, float y0, BoardFactory.BoardOrientation boardOrientation)      { diff --git a/core/src/ch/asynk/gdx/boardgame/boards/SquareBoard.java b/core/src/ch/asynk/gdx/boardgame/boards/SquareBoard.java index bfe23a7..665d1ca 100644 --- a/core/src/ch/asynk/gdx/boardgame/boards/SquareBoard.java +++ b/core/src/ch/asynk/gdx/boardgame/boards/SquareBoard.java @@ -8,7 +8,8 @@ public class SquareBoard implements Board      private final float x0;     // bottom left x offset      private final float y0;     // bottom left y offset -    private static final int [] angles = { 0, 0, -1, 90, -1, 180, -1, 270, -1}; +    // [0] is 0° facing East +    private static final int [] angles = {90, 0, -1, 90, -1, 180, -1, 270, -1, 0};      public SquareBoard(float side, float x0, float y0)      { diff --git a/core/src/ch/asynk/gdx/boardgame/boards/TriangleBoard.java b/core/src/ch/asynk/gdx/boardgame/boards/TriangleBoard.java index f49550d..1fbd034 100644 --- a/core/src/ch/asynk/gdx/boardgame/boards/TriangleBoard.java +++ b/core/src/ch/asynk/gdx/boardgame/boards/TriangleBoard.java @@ -16,8 +16,9 @@ public class TriangleBoard implements Board      private final float h23;    // 2/3 height of the triangle      private final float h43;    // 4/3 height of the triangle -    private static final int [] vAngles = {330, -1, 30, 90, 150,  -1, 210, 270, 330}; -    private static final int [] hAngles = {  0,  0, 60, -1, 120, 180, 240,  -1, 300}; +    // [0] is 0° facing East +    private static final int [] vAngles = {60,  0, 60, -1, 120, 180, 240,  -1, 300}; +    private static final int [] hAngles = {30, -1, 30, 90, 150,  -1, 210, 270, 330};      public TriangleBoard(float side, float x0, float y0, BoardFactory.BoardOrientation boardOrientation)      {  | 
