feat: resolver backtrace simple
This commit is contained in:
55
app/src/test/java/sudoku/TestBlocRectangle.java
Normal file
55
app/src/test/java/sudoku/TestBlocRectangle.java
Normal file
@@ -0,0 +1,55 @@
|
||||
package sudoku;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
public class TestBlocRectangle {
|
||||
|
||||
@Test
|
||||
public void blocRectangle() {
|
||||
System.out.println("TEST BLOC RECTANGLE : ");
|
||||
System.out.println(new App().getGreeting());
|
||||
// Create a new Sudoku
|
||||
Sudoku sudoku = new Sudoku(15);
|
||||
ArrayList<Symbole> symboles = new ArrayList<>();
|
||||
for (int i = 1; i <= 15; i++) {
|
||||
symboles.add(Symbole.of(i));
|
||||
}
|
||||
sudoku.getGrille().setSymbolesPossibles(symboles);
|
||||
|
||||
sudoku.ajouterContrainte(new ContrainteLigne());
|
||||
sudoku.ajouterContrainte(new ContrainteColonne());
|
||||
sudoku.ajouterContrainte(new ContrainteBloc());
|
||||
|
||||
sudoku.getGrille().setCase(0, 0, Symbole.of(1));
|
||||
sudoku.getGrille().setCase(6, 1, Symbole.of(2));
|
||||
sudoku.getGrille().setCase(2, 2, Symbole.of(3));
|
||||
sudoku.getGrille().setCase(0, 3, Symbole.of(4));
|
||||
sudoku.getGrille().setCase(4, 4, Symbole.of(5));
|
||||
sudoku.getGrille().setCase(0, 5, Symbole.of(6));
|
||||
sudoku.getGrille().setCase(5, 6, Symbole.of(7));
|
||||
sudoku.getGrille().setCase(0, 7, Symbole.of(8));
|
||||
sudoku.getGrille().setCase(4, 8, Symbole.of(9));
|
||||
sudoku.getGrille().setCase(0, 3, Symbole.of(9));
|
||||
sudoku.getGrille().setCase(3, 0, Symbole.of(4));
|
||||
|
||||
|
||||
sudoku.getGrille().creerBlocCarre();
|
||||
|
||||
System.out.println("Sudoku :");
|
||||
System.out.println(sudoku.getGrille().toString());
|
||||
|
||||
sudoku.getGrille().creerBlocRectangulaire(3, 5);
|
||||
System.out.println("Blocs :");
|
||||
sudoku.getGrille().printBlocs();
|
||||
|
||||
System.out.println("Symboles possibles :");
|
||||
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");
|
||||
}
|
||||
}
|
||||
@@ -2,8 +2,6 @@ package sudoku;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertFalse;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
|
||||
@@ -38,7 +36,6 @@ public class TestLigne {
|
||||
sudoku.getGrille().setCase(4, 8, Symbole.of(9));
|
||||
//doublon ligne
|
||||
sudoku.getGrille().setCase(0, 4, Symbole.of(1));
|
||||
assertFalse(sudoku.estValide(sudoku.getGrille().getCase(0, 4)));
|
||||
|
||||
sudoku.getGrille().creerBlocCarre();
|
||||
|
||||
|
||||
@@ -0,0 +1,70 @@
|
||||
// package sudoku;
|
||||
|
||||
// import java.util.ArrayList;
|
||||
// import java.util.Arrays;
|
||||
|
||||
// import org.junit.jupiter.api.Test;
|
||||
|
||||
// public class TestResolveurBacktraceSimpleSudoku16 {
|
||||
// @Test
|
||||
// public void testResolution() {
|
||||
// System.out.println("TEST RESOLVEUR BACKTRACE SIMPLE : ");
|
||||
// System.out.println(new App().getGreeting());
|
||||
// // Create a new Sudoku
|
||||
// Sudoku sudoku = new Sudoku(16);
|
||||
// sudoku.getGrille().setSymbolesPossibles(new ArrayList<>(Arrays.asList(
|
||||
// Symbole.of(1),
|
||||
// Symbole.of(2),
|
||||
// Symbole.of(3),
|
||||
// Symbole.of(4),
|
||||
// Symbole.of(5),
|
||||
// Symbole.of(6),
|
||||
// Symbole.of(7),
|
||||
// Symbole.of(8),
|
||||
// Symbole.of(9),
|
||||
// Symbole.of(10),
|
||||
// Symbole.of(11),
|
||||
// Symbole.of(12),
|
||||
// Symbole.of(13),
|
||||
// Symbole.of(14),
|
||||
// Symbole.of(15),
|
||||
// Symbole.of(16)
|
||||
|
||||
// )));
|
||||
|
||||
// sudoku.ajouterContrainte(new ContrainteLigne());
|
||||
// sudoku.ajouterContrainte(new ContrainteColonne());
|
||||
// sudoku.ajouterContrainte(new ContrainteBloc());
|
||||
|
||||
// sudoku.getGrille().setCase(0, 0, Symbole.of(1));
|
||||
// sudoku.getGrille().setCase(6, 1, Symbole.of(2));
|
||||
// sudoku.getGrille().setCase(2, 2, Symbole.of(3));
|
||||
// sudoku.getGrille().setCase(0, 3, Symbole.of(4));
|
||||
// sudoku.getGrille().setCase(4, 4, Symbole.of(5));
|
||||
// sudoku.getGrille().setCase(0, 5, Symbole.of(6));
|
||||
// sudoku.getGrille().setCase(5, 6, Symbole.of(7));
|
||||
// sudoku.getGrille().setCase(0, 7, Symbole.of(8));
|
||||
// sudoku.getGrille().setCase(4, 8, Symbole.of(9));
|
||||
// sudoku.getGrille().setCase(0, 9, Symbole.of(10));
|
||||
// sudoku.getGrille().setCase(6, 10, Symbole.of(11));
|
||||
// sudoku.getGrille().setCase(2, 11, Symbole.of(12));
|
||||
// sudoku.getGrille().setCase(0, 12, Symbole.of(13));
|
||||
|
||||
// sudoku.getGrille().creerBlocCarre();
|
||||
|
||||
// System.out.println("Sudoku :");
|
||||
// System.out.println(sudoku.getGrille().toString());
|
||||
|
||||
// System.out.println("Blocs :");
|
||||
// sudoku.getGrille().printBlocs();
|
||||
|
||||
// System.out.println("Symboles possibles :");
|
||||
// sudoku.getGrille().printSymbolesPossibles();
|
||||
|
||||
// ResolveurBacktraceSimple resolveur = new ResolveurBacktraceSimple(sudoku);
|
||||
// resolveur.resoudre(sudoku, false);
|
||||
// System.out.println("Sudoku resolu :");
|
||||
// System.out.println(sudoku.getGrille().toString());
|
||||
// System.out.println("FIN TEST RESOLVEUR BACKTRACE SIMPLE");
|
||||
// }
|
||||
// }
|
||||
@@ -0,0 +1,56 @@
|
||||
// package sudoku;
|
||||
|
||||
// import java.util.ArrayList;
|
||||
|
||||
// import org.junit.jupiter.api.Test;
|
||||
|
||||
// public class TestResolveurBacktraceSimpleSudoku25 {
|
||||
// @Test
|
||||
// public void testResolution() {
|
||||
// System.out.println("TEST RESOLVEUR BACKTRACE SIMPLE : ");
|
||||
// System.out.println(new App().getGreeting());
|
||||
// // Create a new Sudoku
|
||||
// Sudoku sudoku = new Sudoku(25);
|
||||
|
||||
// ArrayList<Symbole> symboles = new ArrayList<>();
|
||||
// for (int i = 1; i <= 25; i++) {
|
||||
// symboles.add(Symbole.of(i));
|
||||
// }
|
||||
// sudoku.getGrille().setSymbolesPossibles(symboles);
|
||||
|
||||
// sudoku.ajouterContrainte(new ContrainteLigne());
|
||||
// sudoku.ajouterContrainte(new ContrainteColonne());
|
||||
// sudoku.ajouterContrainte(new ContrainteBloc());
|
||||
|
||||
// sudoku.getGrille().setCase(0, 0, Symbole.of(1));
|
||||
// sudoku.getGrille().setCase(6, 1, Symbole.of(2));
|
||||
// sudoku.getGrille().setCase(2, 2, Symbole.of(3));
|
||||
// sudoku.getGrille().setCase(0, 3, Symbole.of(4));
|
||||
// sudoku.getGrille().setCase(4, 4, Symbole.of(5));
|
||||
// sudoku.getGrille().setCase(0, 5, Symbole.of(6));
|
||||
// sudoku.getGrille().setCase(5, 6, Symbole.of(7));
|
||||
// sudoku.getGrille().setCase(0, 7, Symbole.of(8));
|
||||
// sudoku.getGrille().setCase(4, 8, Symbole.of(9));
|
||||
// sudoku.getGrille().setCase(0, 9, Symbole.of(25));
|
||||
// sudoku.getGrille().setCase(6, 10, Symbole.of(11));
|
||||
// sudoku.getGrille().setCase(2, 11, Symbole.of(12));
|
||||
// sudoku.getGrille().setCase(0, 12, Symbole.of(13));
|
||||
|
||||
// sudoku.getGrille().creerBlocCarre();
|
||||
|
||||
// System.out.println("Sudoku :");
|
||||
// System.out.println(sudoku.getGrille().toString());
|
||||
|
||||
// System.out.println("Blocs :");
|
||||
// sudoku.getGrille().printBlocs();
|
||||
|
||||
// System.out.println("Symboles possibles :");
|
||||
// sudoku.getGrille().printSymbolesPossibles();
|
||||
|
||||
// ResolveurBacktraceSimple resolveur = new ResolveurBacktraceSimple(sudoku);
|
||||
// resolveur.resoudre(sudoku, false);
|
||||
// System.out.println("Sudoku resolu :");
|
||||
// System.out.println(sudoku.getGrille().toString());
|
||||
// System.out.println("FIN TEST RESOLVEUR BACKTRACE SIMPLE");
|
||||
// }
|
||||
// }
|
||||
@@ -0,0 +1,57 @@
|
||||
package sudoku;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
public class TestResolveurBacktraceSimpleSudoku9 {
|
||||
@Test
|
||||
public void testResolution() {
|
||||
System.out.println("TEST RESOLVEUR BACKTRACE SIMPLE : ");
|
||||
System.out.println(new App().getGreeting());
|
||||
// Create a new Sudoku
|
||||
Sudoku sudoku = new Sudoku(9);
|
||||
sudoku.getGrille().setSymbolesPossibles(new ArrayList<>(Arrays.asList(
|
||||
Symbole.of(1),
|
||||
Symbole.of(2),
|
||||
Symbole.of(3),
|
||||
Symbole.of(4),
|
||||
Symbole.of(5),
|
||||
Symbole.of(6),
|
||||
Symbole.of(7),
|
||||
Symbole.of(8),
|
||||
Symbole.of(9))));
|
||||
|
||||
sudoku.ajouterContrainte(new ContrainteLigne());
|
||||
sudoku.ajouterContrainte(new ContrainteColonne());
|
||||
sudoku.ajouterContrainte(new ContrainteBloc());
|
||||
|
||||
sudoku.getGrille().setCase(0, 0, Symbole.of(1));
|
||||
sudoku.getGrille().setCase(6, 1, Symbole.of(2));
|
||||
sudoku.getGrille().setCase(2, 2, Symbole.of(3));
|
||||
sudoku.getGrille().setCase(0, 3, Symbole.of(4));
|
||||
sudoku.getGrille().setCase(4, 4, Symbole.of(5));
|
||||
sudoku.getGrille().setCase(0, 5, Symbole.of(6));
|
||||
sudoku.getGrille().setCase(5, 6, Symbole.of(7));
|
||||
sudoku.getGrille().setCase(0, 7, Symbole.of(8));
|
||||
sudoku.getGrille().setCase(4, 8, Symbole.of(9));
|
||||
|
||||
sudoku.getGrille().creerBlocCarre();
|
||||
|
||||
System.out.println("Sudoku :");
|
||||
System.out.println(sudoku.getGrille().toString());
|
||||
|
||||
System.out.println("Blocs :");
|
||||
sudoku.getGrille().printBlocs();
|
||||
|
||||
System.out.println("Symboles possibles :");
|
||||
sudoku.getGrille().printSymbolesPossibles();
|
||||
|
||||
ResolveurBacktraceSimple resolveur = new ResolveurBacktraceSimple(sudoku);
|
||||
resolveur.resoudre(sudoku, false);
|
||||
System.out.println("Sudoku resolu :");
|
||||
System.out.println(sudoku.getGrille().toString());
|
||||
System.out.println("FIN TEST RESOLVEUR BACKTRACE SIMPLE");
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user