diff --git a/app/src/main/java/sudoku/constraint/BlockConstraint.java b/app/src/main/java/sudoku/constraint/BlockConstraint.java index 2ea7d66..fb5d891 100644 --- a/app/src/main/java/sudoku/constraint/BlockConstraint.java +++ b/app/src/main/java/sudoku/constraint/BlockConstraint.java @@ -3,6 +3,9 @@ package sudoku.constraint; import sudoku.structure.Block; import sudoku.structure.Sudoku; +/** + * Contrainte de bloc + */ public class BlockConstraint implements IConstraint{ @Override diff --git a/app/src/main/java/sudoku/constraint/ColumnConstraint.java b/app/src/main/java/sudoku/constraint/ColumnConstraint.java index 19d3aff..2affbcd 100644 --- a/app/src/main/java/sudoku/constraint/ColumnConstraint.java +++ b/app/src/main/java/sudoku/constraint/ColumnConstraint.java @@ -3,6 +3,9 @@ package sudoku.constraint; import sudoku.structure.Cell; import sudoku.structure.Sudoku; +/** + * Contrainte de colonne + */ public class ColumnConstraint implements IConstraint { @Override diff --git a/app/src/main/java/sudoku/constraint/Constraint.java b/app/src/main/java/sudoku/constraint/Constraint.java index 14b7c3d..df4c449 100644 --- a/app/src/main/java/sudoku/constraint/Constraint.java +++ b/app/src/main/java/sudoku/constraint/Constraint.java @@ -1,9 +1,9 @@ package sudoku.constraint; -import java.util.List; - -import sudoku.structure.Sudoku; - +/** + * Enumération utilisée afin de simplifier l'affichage en graphique. + * Un sudoku peut tout de même contenir des contraintes qui ne sont pas dans cette énumération. + */ public enum Constraint { Block("Bloc", new BlockConstraint()), @@ -19,14 +19,6 @@ public enum Constraint { this.displayName = displayName; } - public boolean canBePlaced(Sudoku s, int x, int y, int newValue) { - return getConstraint().canBePlaced(s, x, y, newValue); - } - - public List getPossibleSymbols(final Sudoku s, int x, int y) { - return getConstraint().getPossibleSymbols(s, x, y); - } - public String getDisplayName() { return displayName; } diff --git a/app/src/main/java/sudoku/constraint/DiagonalConstraint.java b/app/src/main/java/sudoku/constraint/DiagonalConstraint.java index 95d6842..50aed9c 100644 --- a/app/src/main/java/sudoku/constraint/DiagonalConstraint.java +++ b/app/src/main/java/sudoku/constraint/DiagonalConstraint.java @@ -2,6 +2,9 @@ package sudoku.constraint; import sudoku.structure.Sudoku; +/** + * Contrainte de diagonale + */ public class DiagonalConstraint implements IConstraint { @Override diff --git a/app/src/main/java/sudoku/constraint/IConstraint.java b/app/src/main/java/sudoku/constraint/IConstraint.java index 5bd082f..453c02c 100644 --- a/app/src/main/java/sudoku/constraint/IConstraint.java +++ b/app/src/main/java/sudoku/constraint/IConstraint.java @@ -1,22 +1,12 @@ package sudoku.constraint; -import java.io.Serializable; -import java.util.ArrayList; -import java.util.List; - import sudoku.structure.Sudoku; -public interface IConstraint extends Serializable { +/** + * Interface de base pour la déclaration d'une contrainte + * Elle est en théorie assez générique pour implémenter n'importe quelle + * contrainte + */ +public interface IConstraint { boolean canBePlaced(final Sudoku s, int x, int y, int newSymbolIndex); - - default List getPossibleSymbols(final Sudoku s, int x, int y) { - List possibilities = new ArrayList<>(); - for (int i = 0; i < s.getSize(); i++) { - if (canBePlaced(s, x, y, i)) { - possibilities.add(i); - } - } - return possibilities; - } - } diff --git a/app/src/main/java/sudoku/constraint/LineConstraint.java b/app/src/main/java/sudoku/constraint/LineConstraint.java index 694b24f..cd39e13 100644 --- a/app/src/main/java/sudoku/constraint/LineConstraint.java +++ b/app/src/main/java/sudoku/constraint/LineConstraint.java @@ -2,6 +2,9 @@ package sudoku.constraint; import sudoku.structure.Sudoku; +/** + * Contrainte de ligne + */ public class LineConstraint implements IConstraint { @Override