A. Class Sudoku : La classe Sudoku permet de générer une grille de Sudoku. Elle s’occupe de l’interface graphique avec les actions de l’utilisateur : clic sur une case, présence de commandes dans le menu Seules quelques méthodes permettant la gestion du tableau sont définies "publiques" permettant à une classe héritant celle-ci accédera à ces méthodes. 1. Propriétés : protected int ordre Cette variable est un nombre entier qui définit la taille d’un bloc dans la grille. Ainsi, la valeur 3 définiera une grille Sudoku contenant 3 blocs carr\’es de dimension 3x3 2. Constructeurs : Sudoku public Sudoku(int tailleGrille) Description Ce construction génère la grille Sudoku et l’affiche à l’écran Le paramètre tailleGrille définit la taille de la grille Sudoku Sudoku public Sudoku(int tailleGrille, int largeurFenetre) Description Ce construction génère la grille Sudoku et l’affiche à l’écran Le paramètre tailleGrille définit la taille de la grille Sudoku Le paramètre largeurFenetre définit la taille en pixel de la largeur de la fenetre 3. Méthodes : affichageActualise protected void affichageActualise() Description En cas de modification de la valeur de cases de la grille, cette commande permet de rafraichir son affichage. affichageReinitialise protected void affichageReinitialise() Description Cette commande permet d’effacer toutes les valeurs des cases et rafraîchit l’affichage. afficheMessage protected void afficheMessage(java.lang.String message) Description Cette méthode permet d’afficher une boîte à dialogue contenant un message à destination de l’utilisateur de la grille Sudoku. Parameters message – Cette variable contient le message caseCouleur protected void caseCouleur(int lig, int col, boolean couleur) Description Cette méthode permet de modifier la couleur de fond de la case sélectionnée. http://chingatome.net Parameters lig – Numéro de la ligne de la case voulue col – Numéro de la colonne de la case voulue couleur – Indique si la case sera coloriée (true) ou non (false) caseEcrit protected void caseEcrit(int lig, int col, java.lang.String valeur) See also Sudoku.caseValeurEcrit(int,int,int) (in , page 2) caseValeurEcrit protected void caseValeurEcrit(int lig, int col, int valeur) Description Cette méthode permet de changer la valeur de la case se situant à l’intersection de la ligne "lig" et de la colonne "col". Parameters lig – Numéro de la ligne de la case voulue. col – Numéro de la colonne de la case voulue. valeur – Nouvelle valeur de la case caseValeurLit protected int caseValeurLit(int lig, int col) Description Cette méthode permet de retourner la valeur de la case se trouvant à l’intersection de ligne "lig" et de la colonne "col". Parameters lig – Numéro de la ligne de la case voulue col – Numéro de la colonne de la case voulue Returns – La valeur de la case clavierChoixNombre protected int clavierChoixNombre(int lig, int col) Description Lors du clic sur une case, la classe Sudoku affiche un clavier facilitant la saisie. Cette méthode retourne un nombre qui indique au clavier les nombres à afficher. On peut modifier cette commande afin que le clavier n’affiche que certains valeurs (par exemple, les valeurs possibles d’un case) La valeur retournée est un entier dont les premiers 9 bits sont significatifs et indiquera lesquels des nombres de 1 à 9 seront affichées dans le clavier. Parameters lig – Numéro de la ligne de la classe cliquée. col – Numéro de la colonne de la classe cliquée. Returns – Si la valeur retournée est 511, le clavier affichera tous les nombres de 1 à 9. Si la valeur retournée est 5, le clavier affichera les deux nombres 1 et 3. fonctionA protected void fonctionA() Description Cette méthode est actionnée lorsque l’utilisateur clique sur la commande "Action A" de la barre de menu. fonctionB http://chingatome.net protected void fonctionB() Description Cette méthode est actionnée lorsque l’utilisateur clique sur la commande "Action B" de la barre de menu. fonctionC protected void fonctionC() Description Cette méthode est actionnée lorsque l’utilisateur clique sur la commande "Action C" de la barre de menu. fonctionD protected void fonctionD() Description Cette méthode est actionnée lorsque l’utilisateur clique sur la commande "Action D" de la barre de menu. fonctionOuvrir protected boolean fonctionOuvrir(java.lang.String cheminFichier) Description Cette méthode permet de charger un fichier (.sudo) contenant la sauvegarde d’une grille. Parameters cheminFichier – Chemin absolut du fichier contenant la sauvegarde. Returns – Retourne true si le chargement du fichier s’est correctement passé et false sinon. fonctionSauvegarde protected boolean fonctionSauvegarde(java.lang.String cheminFichier) Description Cette méthode permet de sauvegarder la grille actuelle dans un fichier. Parameters cheminFichier – Représente le chemin absolut du fichier qui contiendra la sauvegarde Returns – Retourne true si la sauvegarde s’est correctement déroulée et false sinon. grilleChangeValeurs public void grilleChangeValeurs(int[][] v) Description Cette méthode prend un nouveau tableau d’entier pour l’afficher dans la grille actuelle. Parameters v – Ce tableau d’entiers représentera la nouvelle grille Sudoku. grilleCopie public void grilleCopie(int[][] original, int[][] destination) Description Cette méthode permet de palier à un défaut de Java : la duplication de tableaux. Elle permet de faire une copie en mémoire d’un tableau vers un autre. Parameters original – Tableau d’entiers qui sera copié destination – Variable qui recevra le tableau d’entiers grilleRecupereValeurs public int[][] grilleRecupereValeurs() Description Cette méthode permet de retourner le tableau d’entiers (de dimension ordre x ordre) représentant la grille Sudoku dans sa configuration actuelle. Returns – Tableau d’entiers représentant la grille. http://chingatome.net main public static void main(java.lang.String[] args) Parameters args – http://chingatome.net