Programmation Java

Master M2 TTT --- Projet

Sudoku

Règle du jeu

Le Sudoku est un casse-tête qui se présente sous la forme d'une grille 9x9. Le casse-tête est résolu lorsque chaque case de la grille contient un chiffre de 1 à 9 de sorte que

Au départ, un certain nombre de cases sont remplies, ce qui fixe des contraintes pour les autres.

Matériel fourni

Dans l'archive sudoku.zip, on trouvera un répertoire sudoku qui contient:

Vous ne devez pas modifier ces fichiers.

Travail demandé

Le projet consiste à écrire deux classes qui implémentent respectivement l'interface Case et l'interface Jeu.

Un objet jeu de la classe qui implémente Jeu sera créé à l'aide d'un constructeur sans argument; à sa création, cet objet sera tel que pour tout couple (i,j) dans [0;8]x[0;8], jeu.getCase(i,j) retourne une case dont les valeurs possibles sont tous les chiffres de 1 à 9.

Pour tester votre programme, il suffit d'écrire dans une méthode main l'instruction new Sudoban(jeu);Sudoban est la classe du package sudoku.graphique qui vous est fournie et jeu est un objet de votre classe qui implémente Jeu. Ceci déclenche, lorsque l'on lance le programme, l'ouverture d'une fenêtre graphique représentant une grille de sudoku. Dans chaque case est affichée la liste des valeurs possibles; lorsque l'on clique sur une case, selon le mode choisi, une fenêtre permettant de fixer la valeur de cette case ou de supprimer certaines valeurs s'affiche.

Pour écrire la méthode résout, on peut appliquer différents principes:

Rendu de projet

Le projet doit être rendu par courrier électronique au plus tard le 19 février 2011 à lombardymonge.univ-mlv.fr