J'ai déja codé (en java pour ma part) un ptit truc qui sortait une grille de sudoku parmis une liste prédéfinie, puis nous permettait de la remplir et une fois remplie, vérifiait si il n'y avait pas de fautes.
Ca, c'est pas trop dur.
Apparemment, ce que tu cherches a faire, ca serait de créer une grille de sudoku a TOTALEMENT aléatoire a partir de rien?
Crois moi, ca ne sera pas du tout aussi facile qu'on pourrait l'imaginer...
Car tu peux très bien te dire "je place 15 chiffres aléatoirement, en vérifiant qu'ils sont tous cohérent les un par rapport aux autres"... Ca sera relativement facile, a mon avis en quoi, une petite centaine de ligne au plus ca devrait être torché?
Mais en faisant cela, il y a deux problèmes:
1) Est ce que grâce aux chiffres placés aléatoirement on peux trouver les autres chiffres, ceux qui manquent?
2) Est ce qu'il n'existe qu'une et une seule solution pour ce sudoku?
C'est surtout ces 2 choses la qui te poseront problèmes.
Sinon, -Loo, dans ton code, ca ne serait pas plus simple d'utiliser un boolean pour "redonne" ?
J'ai pas regardé avec attention, mais je pense que ca serait plus logique/simple
Edit: Sinon, après avoir un peu réfléchi, je pense que pour régler ces problèmes, il faudrait en fait que le code génère une grille de sudoku completée et correcte, et qu'a partir de cette grille là, il enlève les chiffres que l'on pourrait trouver grâce aux autres, et ceci un a la fois, l'un après l'autre.
Après avoir enlevé un chiffre, le code reessaye de trouver un chiffre que l'on pourrait trouver dans la "nouvelle" grille, cette "nouvelle" grille étant forcément la même que juste avant, moins le chiffre que l'on a enlevé

.
Une fois que l'ordinateur ne trouve plus de chiffre a enlever, on sort de la boucle, et notre grille de sudoku est prêtre a être completéeç
De cette manière, on serait sur de pouvoir completer la grille, vu que les chiffres ne partirait que si on peux les trouver grace a d'autres chiffres...
Franchement, je pense que c'est plutot comme ca qu'il faut raisoner. Maintenant, évidemment, faut trouver les bonnes conditions pour permettre d'enlever les "bons" chiffres de la grille, mais ca jte laisse chercher
