Fix tile swapping issue
This commit fixes incorrect tile swaps at puzzle grid edges.
This commit is contained in:
@@ -28,9 +28,9 @@ public class PuzzleController {
|
|||||||
int sqrtSize = (int) Math.sqrt(size);
|
int sqrtSize = (int) Math.sqrt(size);
|
||||||
int emptyTile = size - 1;
|
int emptyTile = size - 1;
|
||||||
|
|
||||||
if (index > 0 && model.getTile(index - 1) == emptyTile) {
|
if (index % sqrtSize != 0 && model.getTile(index - 1) == emptyTile) {
|
||||||
model.swapTiles(index, index - 1);
|
model.swapTiles(index, index - 1);
|
||||||
} else if (index < size - 1 && model.getTile(index + 1) == emptyTile) {
|
} else if ((index + 1) % sqrtSize != 0 && model.getTile(index + 1) == emptyTile) {
|
||||||
model.swapTiles(index, index + 1);
|
model.swapTiles(index, index + 1);
|
||||||
} else if (index >= sqrtSize && model.getTile(index - sqrtSize) == emptyTile) {
|
} else if (index >= sqrtSize && model.getTile(index - sqrtSize) == emptyTile) {
|
||||||
model.swapTiles(index, index - sqrtSize);
|
model.swapTiles(index, index - sqrtSize);
|
||||||
|
|||||||
Reference in New Issue
Block a user