From 562b1969126c0641bf4b6e2c395e1c11f67da10f Mon Sep 17 00:00:00 2001 From: POGROTH THE HYPED <82341064+magicalmonke@users.noreply.github.com> Date: Sat, 22 Jun 2024 12:09:17 +0200 Subject: [PATCH] Fix tile swapping issue This commit fixes incorrect tile swaps at puzzle grid edges. --- .../java/me/taako/swt/prog2/controller/PuzzleController.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/me/taako/swt/prog2/controller/PuzzleController.java b/src/main/java/me/taako/swt/prog2/controller/PuzzleController.java index e5f0d9e..45e11a2 100644 --- a/src/main/java/me/taako/swt/prog2/controller/PuzzleController.java +++ b/src/main/java/me/taako/swt/prog2/controller/PuzzleController.java @@ -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);