diff options
| -rw-r--r-- | core/src/ch/asynk/gdx/boardgame/boards/HexBoard.java | 7 | 
1 files changed, 4 insertions, 3 deletions
| diff --git a/core/src/ch/asynk/gdx/boardgame/boards/HexBoard.java b/core/src/ch/asynk/gdx/boardgame/boards/HexBoard.java index cdae57b..8059362 100644 --- a/core/src/ch/asynk/gdx/boardgame/boards/HexBoard.java +++ b/core/src/ch/asynk/gdx/boardgame/boards/HexBoard.java @@ -23,6 +23,7 @@ public class HexBoard implements Board      private final float dh;     // hex top : s/2      private final float h;      // square height : s + dh      private final float slope;  // dh / dw +    private final float islope; // dw / dh      private int aOffset;        // to fix Orientation computation from adjacents      private int searchCount;    // to differentiate move computations @@ -66,6 +67,8 @@ public class HexBoard implements Board          this.dw = w / 2.0f;          this.dh = side / 2.0f;          this.h  = side + dh; +        this.slope = dh / dw; +        this.islope = dw / dh;          this.searchCount = 0;          this.stack = new IterableStack<Tile>(10); @@ -76,14 +79,12 @@ public class HexBoard implements Board              this.cols = cols;              this.rows = rows;              this.aOffset = 0; -            this.slope = dh / dw;          } else {              this.x0 = y0;              this.y0 = x0;              this.cols = rows;              this.rows = cols;              this.aOffset = -60; -            this.slope = dw / dh;          }          this.tl = (2 * this.cols - 1); @@ -487,7 +488,7 @@ public class HexBoard implements Board              } else {                  if (line) {                      float k = 0; -                    float p = ((o == Orientation.SE || o == Orientation.NW) ? slope : -slope); +                    float p = ((o == Orientation.SE || o == Orientation.NW) ? islope : -islope);                      if (o == Orientation.SW || o == Orientation.NW)                          k = t.cy - (p * (t.cx + side));                      else | 
