From 8f4330f7106252ef2a39c2fa87563edfb6bcabfa Mon Sep 17 00:00:00 2001 From: Melvyn Date: Fri, 24 Jan 2025 16:17:56 +0100 Subject: [PATCH] merge --- app/src/main/java/gui/SudokuRenderer.java | 6 +++--- app/src/main/java/gui/menu/SudokuView.java | 10 +++++----- app/src/main/java/sudoku/ImmutableCell.java | 9 --------- app/src/main/java/sudoku/Main.java | 1 + .../java/sudoku/constraint/BlockConstraint.java | 5 ++--- .../java/sudoku/constraint/ColumnConstraint.java | 2 +- .../main/java/sudoku/constraint/IConstraint.java | 2 +- .../main/java/sudoku/constraint/LineConstraint.java | 2 +- app/src/main/java/sudoku/io/SudokuFile.java | 2 -- app/src/main/java/sudoku/io/SudokuPrinter.java | 2 +- app/src/main/java/sudoku/io/SudokuSave.java | 2 -- app/src/main/java/sudoku/io/SudokuSerializer.java | 13 ++++++------- app/src/main/java/sudoku/solver/Solver.java | 5 ++--- app/src/main/java/sudoku/{ => structure}/Block.java | 2 +- app/src/main/java/sudoku/{ => structure}/Cell.java | 8 +++++++- .../java/sudoku/{ => structure}/Coordinate.java | 2 +- .../main/java/sudoku/{ => structure}/MultiDoku.java | 2 +- .../main/java/sudoku/{ => structure}/Sudoku.java | 2 +- .../java/sudoku/{ => structure}/SudokuFactory.java | 3 ++- app/src/test/java/sudoku/SudokuSerializerTest.java | 2 ++ app/src/test/java/sudoku/solver/SolverTest.java | 5 ++++- 21 files changed, 42 insertions(+), 45 deletions(-) delete mode 100644 app/src/main/java/sudoku/ImmutableCell.java rename app/src/main/java/sudoku/{ => structure}/Block.java (96%) rename app/src/main/java/sudoku/{ => structure}/Cell.java (88%) rename app/src/main/java/sudoku/{ => structure}/Coordinate.java (94%) rename app/src/main/java/sudoku/{ => structure}/MultiDoku.java (98%) rename app/src/main/java/sudoku/{ => structure}/Sudoku.java (99%) rename app/src/main/java/sudoku/{ => structure}/SudokuFactory.java (97%) diff --git a/app/src/main/java/gui/SudokuRenderer.java b/app/src/main/java/gui/SudokuRenderer.java index bb3f131..a662f34 100644 --- a/app/src/main/java/gui/SudokuRenderer.java +++ b/app/src/main/java/gui/SudokuRenderer.java @@ -10,9 +10,9 @@ import imgui.ImVec2; import imgui.ImVec4; import imgui.flag.ImGuiCol; import imgui.flag.ImGuiStyleVar; -import sudoku.Block; -import sudoku.Cell; -import sudoku.Sudoku; +import sudoku.structure.Block; +import sudoku.structure.Cell; +import sudoku.structure.Sudoku; public class SudokuRenderer { diff --git a/app/src/main/java/gui/menu/SudokuView.java b/app/src/main/java/gui/menu/SudokuView.java index dbf7b2b..c064703 100644 --- a/app/src/main/java/gui/menu/SudokuView.java +++ b/app/src/main/java/gui/menu/SudokuView.java @@ -11,11 +11,11 @@ import imgui.ImVec2; import imgui.ImVec4; import imgui.flag.ImGuiCol; import imgui.flag.ImGuiStyleVar; -import sudoku.Block; -import sudoku.Cell; -import sudoku.MultiDoku; -import sudoku.Sudoku; -import sudoku.SudokuFactory; +import sudoku.structure.Block; +import sudoku.structure.Cell; +import sudoku.structure.MultiDoku; +import sudoku.structure.Sudoku; +import sudoku.structure.SudokuFactory; public class SudokuView extends BaseView { diff --git a/app/src/main/java/sudoku/ImmutableCell.java b/app/src/main/java/sudoku/ImmutableCell.java deleted file mode 100644 index 3442562..0000000 --- a/app/src/main/java/sudoku/ImmutableCell.java +++ /dev/null @@ -1,9 +0,0 @@ -package sudoku; - -public class ImmutableCell extends Cell { - - public ImmutableCell(int symbolIndex) { - super(symbolIndex); - } - -} diff --git a/app/src/main/java/sudoku/Main.java b/app/src/main/java/sudoku/Main.java index 2b32777..ca6a820 100644 --- a/app/src/main/java/sudoku/Main.java +++ b/app/src/main/java/sudoku/Main.java @@ -4,6 +4,7 @@ package sudoku; import sudoku.io.SudokuPrinter; +import sudoku.structure.SudokuFactory; import java.util.Arrays; diff --git a/app/src/main/java/sudoku/constraint/BlockConstraint.java b/app/src/main/java/sudoku/constraint/BlockConstraint.java index caa1667..2ea7d66 100644 --- a/app/src/main/java/sudoku/constraint/BlockConstraint.java +++ b/app/src/main/java/sudoku/constraint/BlockConstraint.java @@ -1,8 +1,7 @@ package sudoku.constraint; -import sudoku.Block; -import sudoku.Cell; -import sudoku.Sudoku; +import sudoku.structure.Block; +import sudoku.structure.Sudoku; public class BlockConstraint implements IConstraint{ diff --git a/app/src/main/java/sudoku/constraint/ColumnConstraint.java b/app/src/main/java/sudoku/constraint/ColumnConstraint.java index 7045b00..0d69e6d 100644 --- a/app/src/main/java/sudoku/constraint/ColumnConstraint.java +++ b/app/src/main/java/sudoku/constraint/ColumnConstraint.java @@ -1,6 +1,6 @@ package sudoku.constraint; -import sudoku.Sudoku; +import sudoku.structure.Sudoku; public class ColumnConstraint implements IConstraint { diff --git a/app/src/main/java/sudoku/constraint/IConstraint.java b/app/src/main/java/sudoku/constraint/IConstraint.java index 3d7fca9..7b80652 100644 --- a/app/src/main/java/sudoku/constraint/IConstraint.java +++ b/app/src/main/java/sudoku/constraint/IConstraint.java @@ -3,7 +3,7 @@ package sudoku.constraint; import java.util.ArrayList; import java.util.List; -import sudoku.Sudoku; +import sudoku.structure.Sudoku; public interface IConstraint { diff --git a/app/src/main/java/sudoku/constraint/LineConstraint.java b/app/src/main/java/sudoku/constraint/LineConstraint.java index b568928..694b24f 100644 --- a/app/src/main/java/sudoku/constraint/LineConstraint.java +++ b/app/src/main/java/sudoku/constraint/LineConstraint.java @@ -1,6 +1,6 @@ package sudoku.constraint; -import sudoku.Sudoku; +import sudoku.structure.Sudoku; public class LineConstraint implements IConstraint { diff --git a/app/src/main/java/sudoku/io/SudokuFile.java b/app/src/main/java/sudoku/io/SudokuFile.java index f862138..2b4e015 100644 --- a/app/src/main/java/sudoku/io/SudokuFile.java +++ b/app/src/main/java/sudoku/io/SudokuFile.java @@ -1,7 +1,5 @@ package sudoku.io; -import sudoku.MultiDoku; - public class SudokuFile { diff --git a/app/src/main/java/sudoku/io/SudokuPrinter.java b/app/src/main/java/sudoku/io/SudokuPrinter.java index 30bd607..263965a 100644 --- a/app/src/main/java/sudoku/io/SudokuPrinter.java +++ b/app/src/main/java/sudoku/io/SudokuPrinter.java @@ -1,6 +1,6 @@ package sudoku.io; -import sudoku.Sudoku; +import sudoku.structure.Sudoku; public class SudokuPrinter { diff --git a/app/src/main/java/sudoku/io/SudokuSave.java b/app/src/main/java/sudoku/io/SudokuSave.java index 9dc8b15..1f5019e 100644 --- a/app/src/main/java/sudoku/io/SudokuSave.java +++ b/app/src/main/java/sudoku/io/SudokuSave.java @@ -1,7 +1,5 @@ package sudoku.io; -import sudoku.MultiDoku; - public class SudokuSave { public static enum AlgoResolution { diff --git a/app/src/main/java/sudoku/io/SudokuSerializer.java b/app/src/main/java/sudoku/io/SudokuSerializer.java index 0fdd96a..d930d6d 100644 --- a/app/src/main/java/sudoku/io/SudokuSerializer.java +++ b/app/src/main/java/sudoku/io/SudokuSerializer.java @@ -6,11 +6,10 @@ import java.util.List; import org.json.JSONArray; import org.json.JSONObject; -import sudoku.Block; -import sudoku.Cell; -import sudoku.ImmutableCell; -import sudoku.MultiDoku; -import sudoku.Sudoku; +import sudoku.structure.Block; +import sudoku.structure.Cell; +import sudoku.structure.MultiDoku; +import sudoku.structure.Sudoku; public class SudokuSerializer { @@ -44,7 +43,7 @@ public class SudokuSerializer { JSONObject cellJsonObject = new JSONObject(); cellJsonObject.put("blockID", blockID); cellJsonObject.put("symboleIndex", symboleIndex); - if (cell instanceof ImmutableCell) { + if (!cell.isMutable()) { cellJsonObject.put("immutable", true); } jsonCells.put(cellJsonObject); @@ -111,7 +110,7 @@ public class SudokuSerializer { JSONObject entry = cellsJson.getJSONObject(i); int symboleIndex = entry.getInt("symboleIndex"); if (entry.has("immutable")) { - cells.add(new ImmutableCell(symboleIndex)); + cells.add(new Cell(symboleIndex, false)); } else { cells.add(new Cell(symboleIndex)); } diff --git a/app/src/main/java/sudoku/solver/Solver.java b/app/src/main/java/sudoku/solver/Solver.java index e075461..74c5f29 100644 --- a/app/src/main/java/sudoku/solver/Solver.java +++ b/app/src/main/java/sudoku/solver/Solver.java @@ -1,8 +1,7 @@ package sudoku.solver; -import sudoku.MultiDoku; -import sudoku.Cell; -import sudoku.io.SudokuPrinter; +import sudoku.structure.MultiDoku; +import sudoku.structure.Cell; import java.util.List; diff --git a/app/src/main/java/sudoku/Block.java b/app/src/main/java/sudoku/structure/Block.java similarity index 96% rename from app/src/main/java/sudoku/Block.java rename to app/src/main/java/sudoku/structure/Block.java index d7ededc..cf76f72 100644 --- a/app/src/main/java/sudoku/Block.java +++ b/app/src/main/java/sudoku/structure/Block.java @@ -1,4 +1,4 @@ -package sudoku; +package sudoku.structure; import java.util.ArrayList; import java.util.List; diff --git a/app/src/main/java/sudoku/Cell.java b/app/src/main/java/sudoku/structure/Cell.java similarity index 88% rename from app/src/main/java/sudoku/Cell.java rename to app/src/main/java/sudoku/structure/Cell.java index d66013e..758267c 100644 --- a/app/src/main/java/sudoku/Cell.java +++ b/app/src/main/java/sudoku/structure/Cell.java @@ -1,4 +1,4 @@ -package sudoku; +package sudoku.structure; import java.util.ArrayList; import java.util.List; @@ -21,6 +21,12 @@ public class Cell { this.possibleSymbols = new ArrayList<>(); } + public Cell(int symbolIndex, boolean isMutable) { + this.symbolIndex = symbolIndex; + this.possibleSymbols = new ArrayList<>(); + this.isMutable = isMutable; + } + public int getSymbolIndex() { return this.symbolIndex; } diff --git a/app/src/main/java/sudoku/Coordinate.java b/app/src/main/java/sudoku/structure/Coordinate.java similarity index 94% rename from app/src/main/java/sudoku/Coordinate.java rename to app/src/main/java/sudoku/structure/Coordinate.java index c00b8ad..bef337a 100644 --- a/app/src/main/java/sudoku/Coordinate.java +++ b/app/src/main/java/sudoku/structure/Coordinate.java @@ -1,4 +1,4 @@ -package sudoku; +package sudoku.structure; public class Coordinate { diff --git a/app/src/main/java/sudoku/MultiDoku.java b/app/src/main/java/sudoku/structure/MultiDoku.java similarity index 98% rename from app/src/main/java/sudoku/MultiDoku.java rename to app/src/main/java/sudoku/structure/MultiDoku.java index 1c65754..cf68c69 100644 --- a/app/src/main/java/sudoku/MultiDoku.java +++ b/app/src/main/java/sudoku/structure/MultiDoku.java @@ -1,4 +1,4 @@ -package sudoku; +package sudoku.structure; import java.util.ArrayList; import java.util.List; diff --git a/app/src/main/java/sudoku/Sudoku.java b/app/src/main/java/sudoku/structure/Sudoku.java similarity index 99% rename from app/src/main/java/sudoku/Sudoku.java rename to app/src/main/java/sudoku/structure/Sudoku.java index 3e09b32..df7fe77 100644 --- a/app/src/main/java/sudoku/Sudoku.java +++ b/app/src/main/java/sudoku/structure/Sudoku.java @@ -1,4 +1,4 @@ -package sudoku; +package sudoku.structure; import sudoku.constraint.IConstraint; diff --git a/app/src/main/java/sudoku/SudokuFactory.java b/app/src/main/java/sudoku/structure/SudokuFactory.java similarity index 97% rename from app/src/main/java/sudoku/SudokuFactory.java rename to app/src/main/java/sudoku/structure/SudokuFactory.java index 87f5c30..f235c7a 100644 --- a/app/src/main/java/sudoku/SudokuFactory.java +++ b/app/src/main/java/sudoku/structure/SudokuFactory.java @@ -1,9 +1,10 @@ -package sudoku; +package sudoku.structure; import sudoku.constraint.BlockConstraint; import sudoku.constraint.ColumnConstraint; import sudoku.constraint.IConstraint; import sudoku.constraint.LineConstraint; +import sudoku.structure.*; import java.util.ArrayList; import java.util.List; diff --git a/app/src/test/java/sudoku/SudokuSerializerTest.java b/app/src/test/java/sudoku/SudokuSerializerTest.java index f4a2d98..5f56606 100644 --- a/app/src/test/java/sudoku/SudokuSerializerTest.java +++ b/app/src/test/java/sudoku/SudokuSerializerTest.java @@ -8,6 +8,8 @@ import org.junit.jupiter.api.Test; import sudoku.io.SudokuPrinter; import sudoku.io.SudokuSerializer; +import sudoku.structure.MultiDoku; +import sudoku.structure.SudokuFactory; public class SudokuSerializerTest { diff --git a/app/src/test/java/sudoku/solver/SolverTest.java b/app/src/test/java/sudoku/solver/SolverTest.java index 0617e33..deeabc9 100644 --- a/app/src/test/java/sudoku/solver/SolverTest.java +++ b/app/src/test/java/sudoku/solver/SolverTest.java @@ -1,8 +1,11 @@ package sudoku.solver; import org.junit.jupiter.api.Test; -import sudoku.*; import sudoku.io.SudokuPrinter; +import sudoku.structure.Cell; +import sudoku.structure.MultiDoku; +import sudoku.structure.Sudoku; +import sudoku.structure.SudokuFactory; import java.util.List;