diff options
| author | Jérémy Zurcher <jeremy@asynk.ch> | 2020-07-08 15:22:17 +0200 | 
|---|---|---|
| committer | Jérémy Zurcher <jeremy@asynk.ch> | 2020-07-08 15:22:17 +0200 | 
| commit | d7013cbbb335c2a70fd6f48a30d0c48b050f4c43 (patch) | |
| tree | 9b768d2f26f35414d02d92b82df99dea15792a2e /core/src/ch/asynk/gdx/boardgame | |
| parent | e2a7408c96c5f03b81d1250161bdf7310258443f (diff) | |
| download | gdx-boardgame-d7013cbbb335c2a70fd6f48a30d0c48b050f4c43.zip gdx-boardgame-d7013cbbb335c2a70fd6f48a30d0c48b050f4c43.tar.gz  | |
HexBoard : fix slope usage on horizontal condition
Diffstat (limited to 'core/src/ch/asynk/gdx/boardgame')
| -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  | 
