refactor: remove unused classes and methods, improve code clarity
This commit is contained in:
@@ -18,23 +18,10 @@ public class Bloc {
|
|||||||
cases.add(c);
|
cases.add(c);
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean contains(Symbole s) {
|
|
||||||
for (Case c : cases) {
|
|
||||||
if (c.getSymbole().equals(s)) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getCouleur() {
|
public String getCouleur() {
|
||||||
return couleur;
|
return couleur;
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getCouleurIndex() {
|
|
||||||
return couleurIndex;
|
|
||||||
}
|
|
||||||
|
|
||||||
public List<Case> getCases() {
|
public List<Case> getCases() {
|
||||||
return cases;
|
return cases;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,31 +0,0 @@
|
|||||||
package sudoku;
|
|
||||||
|
|
||||||
import java.util.Collection;
|
|
||||||
import java.util.HashSet;
|
|
||||||
import java.util.Set;
|
|
||||||
|
|
||||||
public class ContrainteCasePartagee implements Contrainte {
|
|
||||||
private Set<Case> casesLiees;
|
|
||||||
|
|
||||||
public ContrainteCasePartagee(Collection<Case> cases) {
|
|
||||||
this.casesLiees = new HashSet<>(cases);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean estRespectee(Grille grille, Case caseActuelle) {
|
|
||||||
if (!casesLiees.contains(caseActuelle))
|
|
||||||
return true;
|
|
||||||
|
|
||||||
Symbole reference = null;
|
|
||||||
for (Case c : casesLiees) {
|
|
||||||
if (c.getSymbole() == null)
|
|
||||||
continue;
|
|
||||||
if (reference == null) {
|
|
||||||
reference = c.getSymbole();
|
|
||||||
} else if (!c.getSymbole().equals(reference)) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -45,8 +45,8 @@ public class Grille {
|
|||||||
* on génère donc 'taille' couleurs.
|
* on génère donc 'taille' couleurs.
|
||||||
*/
|
*/
|
||||||
private void initColors() {
|
private void initColors() {
|
||||||
int numberOfColors = taille; // nombre de couleurs = nombre de blocs (pour sudoku classique)
|
// nombre de couleurs = nombre de blocs (pour sudoku classique)
|
||||||
List<ColorGenerator.Color> colors = ColorGenerator.greatScheme(numberOfColors);
|
List<ColorGenerator.Color> colors = ColorGenerator.greatScheme(taille);
|
||||||
generatedColors = new ArrayList<>();
|
generatedColors = new ArrayList<>();
|
||||||
for (ColorGenerator.Color color : colors) {
|
for (ColorGenerator.Color color : colors) {
|
||||||
generatedColors.add(convertToAnsi(color));
|
generatedColors.add(convertToAnsi(color));
|
||||||
@@ -82,17 +82,6 @@ public class Grille {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// public void setCaseAvecPropagation(int ligne, int colonne, Symbole symbole) {
|
|
||||||
// // Affecte la valeur dans la grille courante
|
|
||||||
// setCase(ligne, colonne, symbole);
|
|
||||||
|
|
||||||
// // Si cette case est partagée et qu'il y a un multidoku, on propage
|
|
||||||
// // immédiatement la valeur
|
|
||||||
// if (multidoku != null && multidoku.isSharedCase(getCase(ligne, colonne))) {
|
|
||||||
// multidoku.propagateSharedCase(getCase(ligne, colonne), symbole);
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
public Case getCase(int ligne, int colonne) {
|
public Case getCase(int ligne, int colonne) {
|
||||||
return cases[ligne][colonne];
|
return cases[ligne][colonne];
|
||||||
}
|
}
|
||||||
@@ -124,19 +113,23 @@ public class Grille {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Choisir la couleur suivante en fonction du nombre de blocs déjà créés
|
// Choisir la couleur suivante en fonction du nombre de blocs déjà créés
|
||||||
int couleurIndex = blocs.size() % generatedColors.size();
|
setCouleurBloc(positions);
|
||||||
Bloc bloc = new Bloc(generatedColors.get(couleurIndex), couleurIndex);
|
|
||||||
|
|
||||||
for (int[] pos : positions) {
|
|
||||||
bloc.ajouterCase(cases[pos[0]][pos[1]]);
|
|
||||||
}
|
|
||||||
blocs.add(bloc);
|
|
||||||
|
|
||||||
} catch (IllegalArgumentException e) {
|
} catch (IllegalArgumentException e) {
|
||||||
Console.errorln(e.getMessage());
|
Console.errorln(e.getMessage());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void setCouleurBloc(List<int[]> positions) {
|
||||||
|
int couleurIndex = blocs.size() % generatedColors.size();
|
||||||
|
Bloc bloc = new Bloc(generatedColors.get(couleurIndex), couleurIndex);
|
||||||
|
|
||||||
|
for (int[] pos : positions) {
|
||||||
|
bloc.ajouterCase(cases[pos[0]][pos[1]]);
|
||||||
|
}
|
||||||
|
blocs.add(bloc);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Crée des blocs carrés (par exemple pour un sudoku classique).
|
* Crée des blocs carrés (par exemple pour un sudoku classique).
|
||||||
*/
|
*/
|
||||||
@@ -163,13 +156,7 @@ public class Grille {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Affectation cyclique d'une couleur issue de la palette générée
|
// Affectation cyclique d'une couleur issue de la palette générée
|
||||||
int couleurIndex = blocs.size() % generatedColors.size();
|
setCouleurBloc(positions);
|
||||||
Bloc bloc = new Bloc(generatedColors.get(couleurIndex), couleurIndex);
|
|
||||||
|
|
||||||
for (int[] pos : positions) {
|
|
||||||
bloc.ajouterCase(cases[pos[0]][pos[1]]);
|
|
||||||
}
|
|
||||||
blocs.add(bloc);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch (IllegalArgumentException e) {
|
} catch (IllegalArgumentException e) {
|
||||||
@@ -207,13 +194,7 @@ public class Grille {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int couleurIndex = blocs.size() % generatedColors.size();
|
setCouleurBloc(positions);
|
||||||
Bloc bloc = new Bloc(generatedColors.get(couleurIndex), couleurIndex);
|
|
||||||
|
|
||||||
for (int[] pos : positions) {
|
|
||||||
bloc.ajouterCase(cases[pos[0]][pos[1]]);
|
|
||||||
}
|
|
||||||
blocs.add(bloc);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch (IllegalArgumentException e) {
|
} catch (IllegalArgumentException e) {
|
||||||
@@ -271,7 +252,7 @@ public class Grille {
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case 2: // Lettres
|
case 2: // Lettres
|
||||||
if (input.length() == 1 && Character.isLetter(input.charAt(0))) {
|
if (input.length() == 1 && Symbole.of(input.charAt(0)).isLetter()) {
|
||||||
Symbole charTemp = Symbole.of(input.charAt(0));
|
Symbole charTemp = Symbole.of(input.charAt(0));
|
||||||
if (symbolesPossibles.contains(charTemp)) {
|
if (symbolesPossibles.contains(charTemp)) {
|
||||||
Console.errorln("Ce symbole existe déjà, veuillez entrer un autre symbole");
|
Console.errorln("Ce symbole existe déjà, veuillez entrer un autre symbole");
|
||||||
@@ -321,7 +302,7 @@ public class Grille {
|
|||||||
for (Symbole symbole : symbolesPossibles) {
|
for (Symbole symbole : symbolesPossibles) {
|
||||||
sb.append(symbole.toString()).append(" ");
|
sb.append(symbole.toString()).append(" ");
|
||||||
}
|
}
|
||||||
System.out.println(sb.toString());
|
System.out.println(sb);
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getTaille() {
|
public int getTaille() {
|
||||||
@@ -365,17 +346,6 @@ public class Grille {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Case getCaseLibre() {
|
|
||||||
for (int i = 0; i < taille; i++) {
|
|
||||||
for (int j = 0; j < taille; j++) {
|
|
||||||
if (cases[i][j].getSymbole() == null) {
|
|
||||||
return cases[i][j];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getLongueurSymboleLePlusLong() {
|
public int getLongueurSymboleLePlusLong() {
|
||||||
int max = 0;
|
int max = 0;
|
||||||
for (Symbole symbole : symbolesPossibles) {
|
for (Symbole symbole : symbolesPossibles) {
|
||||||
|
|||||||
@@ -3,8 +3,8 @@ package sudoku;
|
|||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
public class Multidoku {
|
public class Multidoku {
|
||||||
private List<SudokuPlacement> placements = new ArrayList<>();
|
private final List<SudokuPlacement> placements = new ArrayList<>();
|
||||||
private List<ContrainteCasePartagee> contraintesPartagees;
|
private final List<ContrainteCasePartagee> contraintesPartagees;
|
||||||
|
|
||||||
public Multidoku() {
|
public Multidoku() {
|
||||||
this.contraintesPartagees = new ArrayList<>();
|
this.contraintesPartagees = new ArrayList<>();
|
||||||
@@ -141,7 +141,7 @@ public class Multidoku {
|
|||||||
caseCorrespondante.setSymbole(symbole);
|
caseCorrespondante.setSymbole(symbole);
|
||||||
|
|
||||||
Sudoku autreSudoku = trouverSudokuPourCase(caseCorrespondante);
|
Sudoku autreSudoku = trouverSudokuPourCase(caseCorrespondante);
|
||||||
if (!autreSudoku.estValide(caseCorrespondante)) {
|
if (autreSudoku != null && !autreSudoku.estValide(caseCorrespondante)) {
|
||||||
restaurerCases(sauvegarde);
|
restaurerCases(sauvegarde);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -214,16 +214,16 @@ public class Multidoku {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Classe interne pour la contrainte de cases partagées
|
// Classe interne pour la contrainte de cases partagées
|
||||||
public class ContrainteCasePartagee implements Contrainte {
|
public static class ContrainteCasePartagee implements Contrainte {
|
||||||
private Map<Case, Case> casesLiees; // Map associant chaque case à sa correspondante
|
private final Map<Case, Case> casesLiees; // Map associant chaque case à sa correspondante
|
||||||
private Set<Sudoku> sudokusLies;
|
private final Set<Sudoku> sudokusLies;
|
||||||
|
|
||||||
public ContrainteCasePartagee(List<Case> cases, Multidoku multidoku) {
|
public ContrainteCasePartagee(List<Case> cases, Multidoku multidoku) {
|
||||||
this.casesLiees = new HashMap<>();
|
this.casesLiees = new HashMap<>();
|
||||||
this.sudokusLies = new HashSet<>();
|
this.sudokusLies = new HashSet<>();
|
||||||
|
|
||||||
// Les cases sont données dans l'ordre : d'abord celles du premier sudoku,
|
// Les cases sont données dans l'ordre : d'abord celles du premier sudoku,
|
||||||
// puis celles du second dans le même ordre
|
// puis celles du second dans le même ordre.
|
||||||
int size = cases.size() / 2;
|
int size = cases.size() / 2;
|
||||||
for (int i = 0; i < size; i++) {
|
for (int i = 0; i < size; i++) {
|
||||||
Case c1 = cases.get(i);
|
Case c1 = cases.get(i);
|
||||||
|
|||||||
@@ -30,10 +30,6 @@ public class Sudoku {
|
|||||||
contraintes.add(contrainte);
|
contraintes.add(contrainte);
|
||||||
}
|
}
|
||||||
|
|
||||||
// public void creerBloc(List<int[]> positions, int blocHeight, int blocWidth) {
|
|
||||||
// grille.creerBloc(positions, blocHeight, blocWidth);
|
|
||||||
// }
|
|
||||||
|
|
||||||
public boolean estValide(Case c) {
|
public boolean estValide(Case c) {
|
||||||
for (Contrainte contrainte : contraintes) {
|
for (Contrainte contrainte : contraintes) {
|
||||||
if (!contrainte.estRespectee(grille, c)) {
|
if (!contrainte.estRespectee(grille, c)) {
|
||||||
@@ -63,7 +59,7 @@ public class Sudoku {
|
|||||||
return grille;
|
return grille;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Sudoku menuGrille() {
|
public static void menuGrille() {
|
||||||
Scanner scanner = new Scanner(System.in);
|
Scanner scanner = new Scanner(System.in);
|
||||||
// ETAPE 1 : TAILLE GRILLE
|
// ETAPE 1 : TAILLE GRILLE
|
||||||
System.out.println("ETAPE 1 : Choisir la taille de la grille");
|
System.out.println("ETAPE 1 : Choisir la taille de la grille");
|
||||||
@@ -84,8 +80,6 @@ public class Sudoku {
|
|||||||
// ETAPE 5 : RESOLUTION
|
// ETAPE 5 : RESOLUTION
|
||||||
System.out.println("ETAPE 5 : Résolution du sudoku");
|
System.out.println("ETAPE 5 : Résolution du sudoku");
|
||||||
choixResolution(sudoku, scanner);
|
choixResolution(sudoku, scanner);
|
||||||
|
|
||||||
return sudoku;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void choixContraintes(Sudoku sudoku, Scanner scanner) {
|
private static void choixContraintes(Sudoku sudoku, Scanner scanner) {
|
||||||
@@ -181,7 +175,7 @@ public class Sudoku {
|
|||||||
return tailleGrille;
|
return tailleGrille;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static Sudoku setValeursGrille(Sudoku sudoku, Scanner scanner, int tailleGrille, int typeSymbole) {
|
private static void setValeursGrille(Sudoku sudoku, Scanner scanner, int tailleGrille, int typeSymbole) {
|
||||||
// Etude de la taille de la grille pour choisir le type de génération
|
// Etude de la taille de la grille pour choisir le type de génération
|
||||||
if (carreParfait(tailleGrille)) {
|
if (carreParfait(tailleGrille)) {
|
||||||
System.out.println(tailleGrille + " est un carré parfait.");
|
System.out.println(tailleGrille + " est un carré parfait.");
|
||||||
@@ -198,7 +192,7 @@ public class Sudoku {
|
|||||||
case 1:
|
case 1:
|
||||||
// Entrer les blocs manuellement
|
// Entrer les blocs manuellement
|
||||||
System.out.println("Entrez les blocs manuellement.");
|
System.out.println("Entrez les blocs manuellement.");
|
||||||
creationBlocMannuel(sudoku, scanner, tailleGrille);
|
creationBlocManuel(sudoku, scanner, tailleGrille);
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
// Entrer les blocs à l'aide de la longueur et de la largeur
|
// Entrer les blocs à l'aide de la longueur et de la largeur
|
||||||
@@ -256,7 +250,7 @@ public class Sudoku {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Demander et vérifier la colonne
|
// Demander et vérifier la colonne
|
||||||
int colonne = -1;
|
int colonne;
|
||||||
while (true) {
|
while (true) {
|
||||||
System.out.println("Entrez le numéro de colonne :");
|
System.out.println("Entrez le numéro de colonne :");
|
||||||
input = scanner.nextLine(); // Lire la colonne
|
input = scanner.nextLine(); // Lire la colonne
|
||||||
@@ -273,7 +267,7 @@ public class Sudoku {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Demander et vérifier le symbole
|
// Demander et vérifier le symbole
|
||||||
String symbole = "";
|
String symbole;
|
||||||
while (true) {
|
while (true) {
|
||||||
System.out.println("Entrez le symbole :");
|
System.out.println("Entrez le symbole :");
|
||||||
symbole = scanner.nextLine(); // Lire le symbole
|
symbole = scanner.nextLine(); // Lire le symbole
|
||||||
@@ -282,7 +276,7 @@ public class Sudoku {
|
|||||||
continue; // Recommencer la saisie du symbole si l'entrée est vide
|
continue; // Recommencer la saisie du symbole si l'entrée est vide
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
Symbole s = null;
|
Symbole s;
|
||||||
switch (typeSymbole) {
|
switch (typeSymbole) {
|
||||||
case 1:
|
case 1:
|
||||||
// Entiers
|
// Entiers
|
||||||
@@ -312,7 +306,6 @@ public class Sudoku {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return sudoku;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private static boolean carreParfait(int nombre) {
|
private static boolean carreParfait(int nombre) {
|
||||||
@@ -323,7 +316,7 @@ public class Sudoku {
|
|||||||
return racine * racine == nombre;
|
return racine * racine == nombre;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static Sudoku creationBlocMannuel(Sudoku sudoku, Scanner scanner, int tailleGrille) {
|
private static void creationBlocManuel(Sudoku sudoku, Scanner scanner, int tailleGrille) {
|
||||||
int nombreBloc = tailleGrille; // Nombre de blocs dans la grille
|
int nombreBloc = tailleGrille; // Nombre de blocs dans la grille
|
||||||
|
|
||||||
Set<String> toutesLesCoordonnees = new HashSet<>(); // Stocke toutes les coordonnées utilisées
|
Set<String> toutesLesCoordonnees = new HashSet<>(); // Stocke toutes les coordonnées utilisées
|
||||||
@@ -361,7 +354,6 @@ public class Sudoku {
|
|||||||
System.out.println(
|
System.out.println(
|
||||||
"Erreur : Ces coordonnées sont déjà utilisées dans un autre bloc ! Veuillez en entrer une nouvelle.");
|
"Erreur : Ces coordonnées sont déjà utilisées dans un autre bloc ! Veuillez en entrer une nouvelle.");
|
||||||
coordonneesValides = false;
|
coordonneesValides = false;
|
||||||
continue;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
} while (!coordonneesValides); // Tant que la saisie est invalide, on redemande
|
} while (!coordonneesValides); // Tant que la saisie est invalide, on redemande
|
||||||
@@ -383,6 +375,5 @@ public class Sudoku {
|
|||||||
|
|
||||||
nombreBloc--; // Passer au bloc suivant
|
nombreBloc--; // Passer au bloc suivant
|
||||||
}
|
}
|
||||||
return sudoku;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,9 +1,9 @@
|
|||||||
package sudoku;
|
package sudoku;
|
||||||
|
|
||||||
public class SudokuPlacement {
|
public class SudokuPlacement {
|
||||||
private Sudoku sudoku;
|
private final Sudoku sudoku;
|
||||||
private int offsetLigne;
|
private final int offsetLigne;
|
||||||
private int offsetColonne;
|
private final int offsetColonne;
|
||||||
|
|
||||||
public SudokuPlacement(Sudoku sudoku, int offsetLigne, int offsetColonne) {
|
public SudokuPlacement(Sudoku sudoku, int offsetLigne, int offsetColonne) {
|
||||||
this.sudoku = sudoku;
|
this.sudoku = sudoku;
|
||||||
|
|||||||
@@ -48,8 +48,4 @@ public class Symbole {
|
|||||||
Symbole symbole = (Symbole) obj;
|
Symbole symbole = (Symbole) obj;
|
||||||
return valeur.equals(symbole.valeur);
|
return valeur.equals(symbole.valeur);
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getHashCode() {
|
|
||||||
return valeur.hashCode();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +0,0 @@
|
|||||||
package sudoku;
|
|
||||||
|
|
||||||
public class TestSudokuEmojis {
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -45,9 +45,6 @@ public class TestBlocRectangle {
|
|||||||
System.out.println("Symboles possibles :");
|
System.out.println("Symboles possibles :");
|
||||||
sudoku.getGrille().printSymbolesPossibles();
|
sudoku.getGrille().printSymbolesPossibles();
|
||||||
|
|
||||||
// blocRectangle.resoudre(sudoku, true);
|
|
||||||
// System.out.println("Sudoku resolu :");
|
|
||||||
// System.out.println(sudoku.getGrille().toString());
|
|
||||||
System.out.println("FIN TEST BLOC RECTANGLE");
|
System.out.println("FIN TEST BLOC RECTANGLE");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,10 +13,18 @@ public class TestSudokuEmojis {
|
|||||||
// Create a new Sudoku
|
// Create a new Sudoku
|
||||||
Sudoku sudoku = new Sudoku(9);
|
Sudoku sudoku = new Sudoku(9);
|
||||||
|
|
||||||
|
List<Symbole> symboles = new ArrayList<>();
|
||||||
|
symboles.add(Symbole.of("😎"));
|
||||||
|
symboles.add(Symbole.of("😂"));
|
||||||
|
symboles.add(Symbole.of("😍"));
|
||||||
|
symboles.add(Symbole.of("😜"));
|
||||||
|
symboles.add(Symbole.of("😇"));
|
||||||
|
symboles.add(Symbole.of("😘"));
|
||||||
|
symboles.add(Symbole.of("😋"));
|
||||||
|
symboles.add(Symbole.of("😊"));
|
||||||
|
symboles.add(Symbole.of("😉"));
|
||||||
sudoku.getGrille()
|
sudoku.getGrille()
|
||||||
.setSymbolesPossibles(new ArrayList<>(List.of(Symbole.of("😎"), Symbole.of("😂"), Symbole.of("😍"),
|
.setSymbolesPossibles(new ArrayList<>(symboles));
|
||||||
Symbole.of("😜"), Symbole.of("😇"), Symbole.of("😘"), Symbole.of("😋"), Symbole.of("😊"),
|
|
||||||
Symbole.of("😉"))));
|
|
||||||
|
|
||||||
sudoku.ajouterContrainte(new ContrainteLigne());
|
sudoku.ajouterContrainte(new ContrainteLigne());
|
||||||
sudoku.ajouterContrainte(new ContrainteColonne());
|
sudoku.ajouterContrainte(new ContrainteColonne());
|
||||||
|
|||||||
@@ -13,10 +13,18 @@ public class TestSudokuLettres {
|
|||||||
// Create a new Sudoku
|
// Create a new Sudoku
|
||||||
Sudoku sudoku = new Sudoku(9);
|
Sudoku sudoku = new Sudoku(9);
|
||||||
|
|
||||||
|
List<Symbole> symboles = new ArrayList<>();
|
||||||
|
symboles.add(Symbole.of("L"));
|
||||||
|
symboles.add(Symbole.of("E"));
|
||||||
|
symboles.add(Symbole.of("T"));
|
||||||
|
symboles.add(Symbole.of("T"));
|
||||||
|
symboles.add(Symbole.of("R"));
|
||||||
|
symboles.add(Symbole.of("E"));
|
||||||
|
symboles.add(Symbole.of("S"));
|
||||||
|
symboles.add(Symbole.of("O"));
|
||||||
|
symboles.add(Symbole.of("H"));
|
||||||
sudoku.getGrille()
|
sudoku.getGrille()
|
||||||
.setSymbolesPossibles(new ArrayList<>(List.of(Symbole.of("L"), Symbole.of("E"), Symbole.of("T"),
|
.setSymbolesPossibles(new ArrayList<>(symboles));
|
||||||
Symbole.of("T"), Symbole.of("R"), Symbole.of("E"), Symbole.of("S"), Symbole.of("O"),
|
|
||||||
Symbole.of("H"))));
|
|
||||||
|
|
||||||
sudoku.ajouterContrainte(new ContrainteLigne());
|
sudoku.ajouterContrainte(new ContrainteLigne());
|
||||||
sudoku.ajouterContrainte(new ContrainteColonne());
|
sudoku.ajouterContrainte(new ContrainteColonne());
|
||||||
|
|||||||
@@ -13,11 +13,19 @@ public class TestSudokusString {
|
|||||||
// Create a new Sudoku
|
// Create a new Sudoku
|
||||||
Sudoku sudoku = new Sudoku(9);
|
Sudoku sudoku = new Sudoku(9);
|
||||||
|
|
||||||
|
List<Symbole> symboles = new ArrayList<>();
|
||||||
|
symboles.add(Symbole.of("Sudoku"));
|
||||||
|
symboles.add(Symbole.of("🗿"));
|
||||||
|
symboles.add(Symbole.of("Test"));
|
||||||
|
symboles.add(Symbole.of("😂"));
|
||||||
|
symboles.add(Symbole.of("1"));
|
||||||
|
symboles.add(Symbole.of("woW"));
|
||||||
|
symboles.add(Symbole.of("😎"));
|
||||||
|
symboles.add(Symbole.of("42"));
|
||||||
|
symboles.add(Symbole.of("π"));
|
||||||
sudoku.getGrille()
|
sudoku.getGrille()
|
||||||
.setSymbolesPossibles(
|
.setSymbolesPossibles(
|
||||||
new ArrayList<>(List.of(Symbole.of("Sudoku"), Symbole.of("🗿"), Symbole.of("Test"),
|
new ArrayList<>(symboles));
|
||||||
Symbole.of("😂"), Symbole.of("1"), Symbole.of("woW"), Symbole.of("😎"),
|
|
||||||
Symbole.of("42"), Symbole.of("π"))));
|
|
||||||
|
|
||||||
sudoku.ajouterContrainte(new ContrainteLigne());
|
sudoku.ajouterContrainte(new ContrainteLigne());
|
||||||
sudoku.ajouterContrainte(new ContrainteColonne());
|
sudoku.ajouterContrainte(new ContrainteColonne());
|
||||||
|
|||||||
Reference in New Issue
Block a user