diff options
author | Jérémy Zurcher <jeremy@asynk.ch> | 2020-06-09 07:14:43 +0200 |
---|---|---|
committer | Jérémy Zurcher <jeremy@asynk.ch> | 2020-06-09 07:14:43 +0200 |
commit | 3eef4dae35c7b939c2c8ede377f6274b6a67d81c (patch) | |
tree | 5fc21d8f4a2688c5ebc6e78b10cbfbea8dabd978 /core/src/ch/asynk/gdx/boardgame | |
parent | 0676f408a404c7afef27225dd81b6a8c952c4a98 (diff) | |
download | gdx-boardgame-3eef4dae35c7b939c2c8ede377f6274b6a67d81c.zip gdx-boardgame-3eef4dae35c7b939c2c8ede377f6274b6a67d81c.tar.gz |
Piece : add atLeastOneTileMove()
Diffstat (limited to 'core/src/ch/asynk/gdx/boardgame')
-rw-r--r-- | core/src/ch/asynk/gdx/boardgame/Piece.java | 5 | ||||
-rw-r--r-- | core/src/ch/asynk/gdx/boardgame/boards/HexBoard.java | 2 |
2 files changed, 6 insertions, 1 deletions
diff --git a/core/src/ch/asynk/gdx/boardgame/Piece.java b/core/src/ch/asynk/gdx/boardgame/Piece.java index 6944afc..5f47309 100644 --- a/core/src/ch/asynk/gdx/boardgame/Piece.java +++ b/core/src/ch/asynk/gdx/boardgame/Piece.java @@ -134,4 +134,9 @@ public class Piece implements Drawable, Positionable, Rotable, Scalable // Integer.MAX_VALUE means impracticable return Integer.MAX_VALUE; } + + public boolean atLeastOneTileMove() + { + return true; + } } diff --git a/core/src/ch/asynk/gdx/boardgame/boards/HexBoard.java b/core/src/ch/asynk/gdx/boardgame/boards/HexBoard.java index 639741e..e04f91e 100644 --- a/core/src/ch/asynk/gdx/boardgame/boards/HexBoard.java +++ b/core/src/ch/asynk/gdx/boardgame/boards/HexBoard.java @@ -492,7 +492,7 @@ public class HexBoard implements Board if (cost == Integer.MAX_VALUE) continue; // impracticable int r = src.acc - cost; - if (r < 0 && src != from) continue; // allow at least 1 tile move + if (r < 0 && !(src == from && piece.atLeastOneTileMove())) continue; // allow at least 1 tile move if (dst.searchCount != searchCount) { dst.searchCount = searchCount; |