Bonjour à tous, je reviens vers vous avec un nouvel exercice qui me pose problème.
Voici l'énoncé :
Votre programme devra être constitué des classes suivantes.
Case:
1.1-Attributs: ligne, colonne et valeur.
1.2-Fonctions: Constructeurs et accesseurs (get et set).
Grille:
Attributs :
2.1-Un tableau à double dimension d’entiers représentant les éléments de la grille.
2.2-Le constructeur Grille(ArrayList al), qui permet d’initialiser l’objet grille à partir d’un arrayList.
2.3-La fonction grilleToArrayList(ArrayList al), qui permet de sauvegarder la grille dans un ArrayList.
2.4-La fonction estSurLigne(int _valeur, int _ligne) qui vérifie si la ligne _ligne comporte la valeur _valeur.
2.5-La fonction estSurColonne(int _valeur, int _colonne) qui vérifie si la colonne _colonne comporte la valeur _valeur.
2.6-La fonction estDansLeBloc (int _valeur, int _ligne, int _colonne) qui vérifie si la valeur _valeur est incluse dans le bloc contenant l’intersection de la ligne _ligne et de la colonne _colonne.
2.7-La fonction imprimerGrille() qui permet d’afficher la grille selon l’affichage montré ci-dessous.
Test:
3.1-Fonction d’affichage du menu qui offre à l’utilisateur les choix suivants:
3.2-Charger Jeu: cette fonction permet de charger la grille de sudoku du fichier texte, le fichier texte comporte une suite de triplet xyz séparé par des espaces:
x: numéro de la ligne.
y: numéro de la colonne.
z: valeur
3.3-SauvegarderJeu: cette fonction permet de sauvegarder la grille dans le fichier texte, les cases vides ne sont pas sauvegardées.
3.4-JouerSudoku : cette fonction permet de jouer au Sudoku, l’utilisateur devra fournir la ligne, la colonne et la valeur à placer; le programme devra vérifier avant tout que la valeur n’existe ni dans la ligne, ni dans la colonne, ni dans le bloc avant de l’insérer dans la grille. Si la valeur est déjà existante, un message d’erreur s’affiche à l’utilisateur.
3.5-Le programme devra demander à l’utilisateur après chaque placement s’il veut jouer encore.
3.6-Fonction permettant la lecture du fichier et l’initialisation de la grille.
3.7-Fonction de sauvegarde de la grille dans un fichier texte.
Autres fonctions que vous jugez pertinentes.
*************************************Sudoku***********************************
Bienvenue dans le programme de Sudoku, ce programme ...
Veuillez choisir un des choix suivants:
1. Charger jeu.
2. Jouer Sudoku.
3. Quitter.
Votre choix: 1
Veuillez fournir le nom du fichier: c:/sudoku/partie12.txt
Erreur, fichier inexistant!
Veuillez fournir le nom du fichier: c:/sudoku/partie1.txt
Fichier chargé!
-------------------------------------------------------------------------------
-----------------------
| 4 3 | 7 | 9 8 |
| 5 | 3 | |
| 1 | | 3 |
-----------------------
| 6 | 2 7 | |
| 4 7 | | 1 3 |
| | 5 4 | 9 |
-----------------------
| 2 | | 3 |
| | 5 | 4 |
| 5 4 | 1 | 2 6 |
-----------------------
Veuillez choisir un des choix suivants:
1. Sauvegarder jeu.
2. Jouer Sudoku.
3. Quitter.
-------------------------------------------------------------------------------
Votre choix: 2
Veuillez choisir une ligne: 2
Veuillez choisir une colonne: 6
Veuillez choisir une valeur:7
Erreur, la grille comporte déjà la valeur 7 dans le bloc représentant la case (2,6).
-------------------------------------------------------------------------------
| 4 3 | 7 | 9 8 |
| 5 | 3 | |
| 1 | | 3 |
-----------------------
| 6 | 2 7 | |
| 4 7 | | 1 3 |
| | 5 4 | 9 |
-----------------------
| 2 | | 3 |
| | 5 | 4 |
| 5 4 | 1 | 2 6 |
-----------------------
Veuillez choisir un des choix suivants:
1. Sauvegarder jeu.
2. Jouer Sudoku.
3. Quitter.
-------------------------------------------------------------------------------
Votre choix: 2
Veuillez choisir une ligne: 2
Veuillez choisir une colonne: 6
Veuillez choisir une valeur:4
Bravo! La valeur 4 a été insérée dans la case (2,6).
-------------------------------------------------------------------------------
-----------------------
| 4 3 | 7 | 9 8 |
| 5 | 3 4 | |
| 1 | | 3 |
-----------------------
| 6 | 2 7 | |
| 4 7 | | 1 3 |
| | 5 4 | 9 |
-----------------------
| 2 | | 3 |
| | 5 | 4 |
| 5 4 | 1 | 2 6 |
-----------------------
Veuillez choisir un des choix suivants:
1. Sauvegarder jeu.
2. Jouer Sudoku.
3. Quitter.
-------------------------------------------------------------------------------
Votre choix: 1
Veuillez fournir le nom du fichier: c:/sudoku/partie2.txt
Fichier sauvegardé!
-------------------------------------------------------------------------------
-----------------------
| 4 3 | 7 | 9 8 |
| 5 | 3 4 | |
| 1 | | 3 |
-----------------------
| 6 | 2 7 | |
| 4 7 | | 1 3 |
| | 5 4 | 9 |
-----------------------
| 2 | | 3 |
| | 5 | 4 |
| 5 4 | 1 | 2 6 |
-----------------------
Veuillez choisir un des choix suivants:
1. Sauvegarder jeu.
2. Jouer Sudoku.
3. Quitter.
-------------------------------------------------------------------------------
Votre choix: 3
Merci d’avoir joué au jeu sudoku.
Contenu du fichier partie1.txt
014 023 037 069 088 125 143 211 263 306 342 357 404 427 461 483 535 544 589 622 673 745 764 805 824 851 862 876
Contenu du fichier partie2.txt
014 023 037 069 088 125 143 211 263 306 342 357 404 427 461 483 535 544 589 622 673 745 764 805 824 851 862 876 154
Je voulais savoir si vous pouviez m'aider à m'orienter pour la création de ce programme. Je vais bientôt poster ce que j'ai commencé à faire.
Partager