diff options
Diffstat (limited to 'core/src/ch/asynk/gdx')
-rw-r--r-- | core/src/ch/asynk/gdx/boardgame/boards/HexBoard.java | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/core/src/ch/asynk/gdx/boardgame/boards/HexBoard.java b/core/src/ch/asynk/gdx/boardgame/boards/HexBoard.java index 1ee05ea..785da0e 100644 --- a/core/src/ch/asynk/gdx/boardgame/boards/HexBoard.java +++ b/core/src/ch/asynk/gdx/boardgame/boards/HexBoard.java @@ -70,7 +70,6 @@ public class HexBoard implements Board this.dw = w / 2.0f; this.dh = side / 2.0f; this.h = side + dh; - this.slope = dh / dw; this.searchCount = 0; this.stack = new IterableStack<Tile>(10); @@ -78,9 +77,11 @@ public class HexBoard implements Board if (this.orientation == BoardFactory.BoardOrientation.VERTICAL) { this.aOffset = 0; this.tl = (2 * cols - 1); + this.slope = dh / dw; } else { this.aOffset = -60; this.tl = (2 * rows - 1); + this.slope = dw / dh; } this.adjacents = new Tile[6]; @@ -223,14 +224,14 @@ public class HexBoard implements Board dx -= ((col * this.h) + this.side); dy -= (row * this.w); // upper or lower rectangle - if (dy > ((this.dw - dx) / this.slope)) { - if (dy > ((2 * this.dw) - (dx / this.slope))) { + if (dy > ((this.dw - dx) * this.slope)) { + if (dy > ((2 * this.dw) - (dx * this.slope))) { // upper right hex col += 1; row += 1; } } else { - if (dy < (dx / this.slope)) { + if (dy < (dx * this.slope)) { // lower right hex col += 1; } |