Squashed commit of the following:

commit 41f1be6be7
Author: ROGER <gwendal.roger@etu.univ-lyon1.fr>
Date:   Tue Feb 4 16:18:24 2025 +0100

    04/02/2025 : Ajout de Console.errorln pour les remontée d'erreurs

commit ef3506c4eb
Author: ROGER <gwendal.roger@etu.univ-lyon1.fr>
Date:   Tue Feb 4 16:07:59 2025 +0100

    04/02/2025 : Ajout de la JavaDoc

commit f57aa34d36
Author: Morph01 <thibaut6969delastreet@gmail.com>
Date:   Mon Feb 3 11:37:12 2025 +0100

    Squashed commit of the following:

    commit 60c1634e1a159bf992b2ed1cdff632490294c48b
    Author: Morph01 <thibaut6969delastreet@gmail.com>
    Date:   Mon Feb 3 11:36:25 2025 +0100

        fix: remove .idea et .vscode
This commit is contained in:
2025-02-09 10:23:09 +01:00
parent a060cde5b2
commit ea868017ee
21 changed files with 212 additions and 283 deletions

View File

@@ -14,6 +14,10 @@ public class Sudoku {
private final List<Contrainte> contraintes;
private String nom;
/**
* Constructeur permettant d'initialiser un sudoku à partir de la taille de sa grille
* @param taille
*/
public Sudoku(int taille) {
this.grille = new Grille(taille, this);
this.contraintes = new ArrayList<>();
@@ -56,6 +60,10 @@ public class Sudoku {
return grille.verifierToutesContraintes(contraintes);
}
/**
* Méthode permettant de retourner la grille complète
* @return
*/
public Grille getGrille() {
return grille;
}
@@ -331,10 +339,10 @@ public class Sudoku {
try {
tailleGrille = Integer.parseInt(scanner.nextLine());
if (tailleGrille <= 0) {
System.out.println("Erreur : Veuillez entrer un entier positif.");
Console.errorln("Erreur : Veuillez entrer un entier positif.");
}
} catch (NumberFormatException e) {
System.out.println("Erreur : Entrée invalide. Veuillez entrer un nombre.");
Console.errorln("Erreur : Entrée invalide. Veuillez entrer un nombre.");
}
}
return tailleGrille;
@@ -400,14 +408,14 @@ public class Sudoku {
break; // Sortie de la boucle si l'utilisateur tape ESC
}
if (input.isEmpty()) {
System.out.println("Veuillez entrer un numéro de ligne valide.");
Console.errorln("Veuillez entrer un numéro de ligne valide.");
continue; // Recommencer la saisie de la ligne si l'entrée est vide
}
try {
ligne = Integer.parseInt(input); // Convertir la ligne en entier
break; // Sortir de la boucle si la ligne est valide
} catch (NumberFormatException e) {
System.out.println("Veuillez entrer un numéro de ligne valide (un nombre entier).");
Console.errorln("Veuillez entrer un numéro de ligne valide (un nombre entier).");
}
}
// ARRET DE LA BOUCLE SI SAISIE DE "ESC"
@@ -421,14 +429,14 @@ public class Sudoku {
System.out.println("Entrez le numéro de colonne :");
input = scanner.nextLine(); // Lire la colonne
if (input.isEmpty()) {
System.out.println("Veuillez entrer un numéro de colonne valide.");
Console.errorln("Veuillez entrer un numéro de colonne valide.");
continue; // Recommencer la saisie de la colonne si l'entrée est vide
}
try {
colonne = Integer.parseInt(input); // Convertir la colonne en entier
break; // Sortir de la boucle si la colonne est valide
} catch (NumberFormatException e) {
System.out.println("Veuillez entrer un numéro de colonne valide (un nombre entier).");
Console.errorln("Veuillez entrer un numéro de colonne valide (un nombre entier).");
}
}
@@ -438,7 +446,7 @@ public class Sudoku {
System.out.println("Entrez le symbole :");
symbole = scanner.nextLine(); // Lire le symbole
if (symbole.isEmpty()) {
System.out.println("Veuillez entrer un symbole valide.");
Console.errorln("Veuillez entrer un symbole valide.");
continue; // Recommencer la saisie du symbole si l'entrée est vide
}
try {
@@ -501,7 +509,7 @@ public class Sudoku {
// Vérification des limites
if (choixLigne < 0 || choixLigne >= tailleGrille || choixColonne < 0
|| choixColonne >= tailleGrille) {
System.out.println("Erreur : Coordonnées hors limites ! Veuillez réessayer.");
Console.errorln("Erreur : Coordonnées hors limites ! Veuillez réessayer.");
coordonneesValides = false;
continue;
}
@@ -509,7 +517,7 @@ public class Sudoku {
// Vérification si la coordonnée existe déjà dans TOUTE la grille
String coordonneeStr = choixLigne + "-" + choixColonne;
if (toutesLesCoordonnees.contains(coordonneeStr)) {
System.out.println(
Console.errorln(
"Erreur : Ces coordonnées sont déjà utilisées dans un autre bloc ! Veuillez en entrer une nouvelle.");
coordonneesValides = false;
}
@@ -526,7 +534,7 @@ public class Sudoku {
sudoku.getGrille().creerBlocPersonnalise(listeCases);
System.out.println("Bloc " + nombreBloc + " enregistré avec succès !");
} catch (IllegalArgumentException e) {
System.out.println("Erreur lors de la création du bloc : " + e.getMessage());
Console.errorln("Erreur lors de la création du bloc : " + e.getMessage());
System.out.println("Veuillez recommencer la saisie de ce bloc.");
continue; // Recommence le bloc en cours
}