Fix tile swapping issue

This commit fixes incorrect tile swaps at puzzle grid edges.
This commit is contained in:
POGROTH THE HYPED
2024-06-22 12:09:17 +02:00
parent a1733ef25d
commit 562b196912

View File

@@ -28,9 +28,9 @@ public class PuzzleController {
int sqrtSize = (int) Math.sqrt(size);
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);
} 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);
} else if (index >= sqrtSize && model.getTile(index - sqrtSize) == emptyTile) {
model.swapTiles(index, index - sqrtSize);