Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

RÉSOLVEUR DE SUDOKU


Information sur la source

Catégorie :Jeux Source .NET ( DotNet ) Classé sous : sudoku, jeu, japonais Niveau : Initié Date de création : 25/01/2006 Date de mise à jour : 25/01/2006 18:19:26 Vu / téléchargé: 14 106 / 1 943

Note :
9,5 / 10 - par 2 personnes
9,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (8)
Ajouter un commentaire et/ou une note

Description

Cliquez pour voir la capture en taille normale
Ce code permet de résoudre un Sudoku, (si vous ne savez pas ce que c'est, tapez "Sudoku" sur google, vous trouverez facilement...).

La fenêtre présente 9*9 textbox représentant la grille sudoku, puis vous suivez la démarche suivante :

1) Vous entrez les chiffres connus
2) Cliquez sur "Résoudre sans supposition"

-Trois cas de figure :
a) Il ne trouve rien   -> jmp 3)
b) Il ne trouve pas tout (ça ne sert à rien de cliquer plusieurs fois)  -> jmp 3)
c) Il trouve tout  -> jmp 6)

3) Cliquez sur "Résoudre avec une supposition"

-Trois cas de figure :
a) Il trouve rien  ->  jmp 4)
b) Il un chiffre (celui qui permet de trouver le plus de nouvelles solutions en une fois)  -> jmp 2)

4) La grille a trop peu d'informations, il vous faut ajouter manuellement un nombre, attention que ce genre de grille comporte alors plusieurs solutions et ne répond donc pas à une règle de base des sudokus qui est de n'en avoir qu'une. Néanmoins, beaucoup de grille 'difficiles' sur internet en comportent plusieurs...

5) jmp 2)

6) C'est gagné !

Vous remarquerez que les chiffres entré manuellements sont noirs, tandis que ceux trouvés par le programme sont rouges. Cela signifie qu'ils ont le statut de proposition. Vous pouvez les refuser ou les accepter avec les 2 boutons prévus à cet effet. Il est conseillé de s'en servir vu que les propositions avancée par le point 3 sont les plus fructueuses, mais pas spécialement les bonnes, elles peuvent vous mener dans une impasse. Dans ce cas, à vous de refusez les propositions et de faire un supposition manuelle (oui désolé, c'est pas encore parfait...)

Vous vous demandez peut-être pourquoi j'ai pas fais un deuxième niveau de supposition ? Ben tout simplement parce que j'ai essayé et que j'ai mis 1h30 (ben oui, il faut multiplier le temps par 81 à chaque fois...) pour trouver la grille en entier alors que j'avais mis 14 secondes pour la trouver en faisant une supposition manuelle...
 

Source

Conclusion

Je suis désolé, je code mal, je fais pas de commentaires et les noms de mes variables ne sont pas des plus judicieux. C'est la première (peut-être deuxième mais la première était pas sérieuse) fois que je met un code en ligne et je n'ai jamais pensé que d'autre aurait à lire mon code en programmant. Si ce programme suscite de l'intérêt, je restructurerai un petit peu tout ça avec plaisir, mais comme c'est vraiment pas le côté que j'aime en prog et que je suis flemard...
Au passage, quelqu'un sait comment je peux avoir les évènements de mes textbox ? Parce que si je mets WithEvents, je peux pas faire un tableau et moi il m'en faut un.
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Historique

25 janvier 2006 18:19:28 :
- Petite faute, voir commentaire de Renfield - Update du zip

Commentaires et avis

signaler à un administrateur
Commentaire de Julien237 le 25/01/2006 14:15:28

Heu je m'y retrouve pas dans tout les fichiers du zip, si quelqu'un sait me dire lesquels sont vraiment essentiels, c'est sympa...

signaler à un administrateur
Commentaire de Renfield le 25/01/2006 17:12:41 administrateur CS

lances le fichier .vbproj

"Vous remarquerez que les chiffres entré manuellements sont rouges, tandis que ceux trouvés par le programme sont rouges."

signaler à un administrateur
Commentaire de Julien237 le 25/01/2006 18:14:17

Ah heu oui, une petite faute de frappe mentale, merci.

signaler à un administrateur
Commentaire de guyvdv le 12/02/2006 16:20:28

Cher Julien, je crois qu'il manque .vbp quand c'est ecris en vb6
Je veux quandmeme essayer ton programme, mais je ne peut pas le charger
D'habitude je travaille avec vb.net 2003, et je vai profiter de l'offre vb.net 2005 express
Mais comme je crois que c'est du vb6 merci de mettre sur vbfrance le *.vbp
La solution de Renfield ne fonctionne pas chez moi
A+
Guy van der Velden

signaler à un administrateur
Commentaire de guyvdv le 12/02/2006 16:58:18


C'est quandmem du .net , j'ai arriver a copier-coller des partis de tes fichiers dans un project neuf en vb.net 2003
Maintenant il me reste que etudier hihihi
A+
Guy van der velden

signaler à un administrateur
Commentaire de babboss le 16/02/2006 15:03:43

Pas ce resolver de sudoku ;)
Si tu ve avoir des evenement avec un tableau de TextBox il faut utiliser AddHandlers:
AddHandlers TaTextBox.Evenement, AddressOf SubAAppelerPourLEvenement
Dans l'evenement du recupere la TextBox conserné avec le parametre sender

Voila, bonne continuation ;)

signaler à un administrateur
Commentaire de babboss le 16/02/2006 15:04:58

Pas Mal* je voulai dire :/

signaler à un administrateur
Commentaire de xixi666 le 27/02/2006 23:26:22

<quote>Vous vous demandez peut-être pourquoi j'ai pas fais un deuxième niveau de supposition ? Ben tout simplement parce que j'ai essayé et que j'ai mis 1h30 (ben oui, il faut multiplier le temps par 81 à chaque fois...) pour trouver la grille en entier alors que j'avais mis 14 secondes pour la trouver en faisant une supposition manuelle... </quote>

Cher julien,
Je doutes pas que ton programme a surrement des interets dans moultes domaine, mais en tout cas essaye de le perfectionner du point de vue algorithmique au lieu de te contenter d'une solution de bourrinage ultime ;)
Un bon algorithme de resolution de sudoku est instantané quelquesoit la grille.
Quelques indices : pour chaque case, calculer les coups possible et ceux interdits. Quand il n'y a qu'un seul coup possible, valider la case. De même quand dans un groupement (ligne, colone, carré de 3x3) il n'y a qu'une seule case contenant un chiffre particulier de possible (meme si d'autres chiffres sont possibles pour cette case), valider le chiffre en question.
Enfin utiliser un algo recursif ou de backtracking pour trouver la solution si les methodes precedentes ne suffisent pas, tout en continuant d'appliquer les deux regles de base pour chaques itérations (elles suffisent pour bien des grilles faciles, mais pour certaines difficiles un parcours des possibilités restantes est obligatoire).

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

sudoku [ par tushar12 ] hritik bonjour tout le monde je dois faire un projet en informatique sur le jeu de sudoku. Donc je voulais savoir si quelqu'un a d&#233;ja programmer jeu sudoku [ par jerusal ] salut dans le jeu du sudoku j ai fai  la methode de matrice , alors je doi faire un test de soduko c a d que je doi pas avoir le meme numero horizonta Créer un "Keygen" pour mon logiciel ? comment ? [ par OaSiS22 ] Bonjour, (j' ai peut-etre posté dans un mauvais topic et peut etre mauvais site-forum)Voila, je suis en train de créer un jeu (fps) que je veux faire Problème avec CreateGraphics [ par hvb ] Salut à tous.Je ne poste pas souvent de questions mais me voila confronté à un problème pour ma cinquième et derniere PTI.Je code actuellement un peti de visual basic vers java [ par Cedricle100 ] bonjourvoila j aimerais savoir si il est possible d avoir un jeu en java et le logiciel d aide en visual basic : je m explique : j ai un copain qui m CREATION D'UNE SALLE DE JEU [ par WebPicasso069 ] Bonjour,Voila je rédige ce petit message afin d'avoir un peu d'aide! J'aimerai à l'heure actuel créer une salle de jeu (Style celle de yahoo pour le b Le Framework 1.1 et 2.0 [ par klingfilm ] Bonjour à tous,J'ai réalisé une petite application (5MB) sur VB.net (VStudio 2005) avec une version du Canada en Windows Vista. Mon application sera i Aide pour un script de jeu [ par raz67 ] Bonjours a tous voila je suis nul en programation et j'aimerais enfaite créer un script que je pourais executer en appuyant sur une touche meme qu Jeu de carte multijoueur en ligne [ par zaptfire ] Bonjour, Je souhaite monter un projet de jeu de carte multijoueur via le net réference : http://www.urban-rivals.com (avec un autre systeme de jeu) j Connaitre la couleur d'un pixel [ par Razor_rws1 ] Salut, ça fais 3 fois que je pose la même question mais sans succès. Pourtant, il me semble que la question ne sois pas si compliqué. J'imagine que je


Nos sponsors

Sondage...

CalendriCode

Janvier 2009
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,452 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.