SUDOKU MANIA

Messages postés
263
Date d'inscription
lundi 29 mars 2004
Statut
Membre
Dernière intervention
4 mars 2008
- - Dernière réponse : mouad001
Messages postés
21
Date d'inscription
mardi 25 mai 2004
Statut
Membre
Dernière intervention
5 août 2014
- 8 avril 2007 à 14:59
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/33353-sudoku-mania

Cacophrene
Messages postés
263
Date d'inscription
lundi 29 mars 2004
Statut
Membre
Dernière intervention
4 mars 2008
-
Salut !

Les commentaires en anglais c'est moyen... et je me demande d'ailleurs pourquoi on les accepte ici, alors qu'on critique ceux qui s'expriment en espagnol. VBFrance est un site francophone, on devrait donc s'y exprimer en français (et d'ailleurs il en va de même pour les titres : "Sudoku solver" se traduit par "solveur de Sudoku", ce n'est pas bien méchant à vrai dire...)

Au reste le code est assez court, mais le visuel n'est pas transcendant. Moi je mets 6/10.

Cordialement,
Cacophrène
Vb Lover
Messages postés
221
Date d'inscription
vendredi 30 novembre 2001
Statut
Membre
Dernière intervention
13 février 2010
3 -
ok, ok... c'est en français maintenant! sinon, je ne le répèterai jamais assez, mais je trouve que l'intérêt de ce site (en général) est de fournir des codes, des idées d'algorithmes etc..., et non des programmes tout jolis tout beaux. En particulier pour ce genre de code, ce qui est intéressant (en tout cas pour ceux qui débutent, la source est d'ailleurs en niveau 1) c'est d'utiliser une structure avec des modules de classe qui pourra être réutilisée dans n'importe quel autre jeu de même type. Mais bon, c'est sûr qu'avec une image ou deux le produit se vend mieux:)
us_30
Messages postés
2065
Date d'inscription
lundi 11 avril 2005
Statut
Membre
Dernière intervention
14 mars 2016
8 -
Salut,


C'est quoi un code assez "propre" pour toi ?


J'ai regardé le code que tu présentes et j'ai qlq petites interrogations... si tu pouvais m'éclairer... Dans Cnode, dans la déclaration, il est codé : "BEGIN" comme instruction ?... Je crois savoir que cette instruction est connue sous d'autres langages, mais je ne savais pas qu'elle existait sous VB. Que signifie-t-elle ? As-tu des informations dessus, svp ?


Euh... et pis, je suis comme Cacophrène, un peu gêné par les commentaires tout en anglais, les messages au joueur, tout en anglais, les noms des variables typiquement anglais... Pas la moindre trace de français... Tu te converti complètement à l'anglais ?


(... j'ai regardé tes autres sources, cela fait la deuxième source de suite du même genre, avec également une présentation des commentaires entourés des lignes de présentation avec des tirets en en-tête comme ceci : '---------... alors, qu'avant non... tu changes mêmes tes habitudes... J'espère que c'est pas du pompé/collé, que tu nous présentes là... je préfère penser que non.)


Us.
us_30
Messages postés
2065
Date d'inscription
lundi 11 avril 2005
Statut
Membre
Dernière intervention
14 mars 2016
8 -
Désolé, je viens d'écrire hors ligne, sans voir que tu avais posté déjà une réponse... N'empêche...

Us.
Vb Lover
Messages postés
221
Date d'inscription
vendredi 30 novembre 2001
Statut
Membre
Dernière intervention
13 février 2010
3 -
Par assez propre, je voulais en fait dire que l'algorithme n'était pas du tout optimisé (je sais, le mien peut aussi être optimisé, mais il résout les "diaboliques" du Figaro quasi instantanément).
Pour le BEGIN, je crois que tu as dû te tromper, je n'ai jamais utilisé cette instruction. En plus, je ne peux pas vérifier, car je n'ai plus le code en anglais.
Pour le code en anglais, c'est juste que de toute façon il y a des "for", "next", "set", ... partout, et que je trouve plus simple de tout faire dans la même langue. Mais ok, VbFrance en français c'est mieux.
Enfin, pour ton dernier commentaire (pompé/collé) je trouve ça assez navrant; avec le temps (ça va faire plus de 6 ans que je programme en VB), on prend des habitudes, et je trouve que par exemple les "--------" en en-tête rendent le code beaucoup plus clair. Si tu as des doutes sur l'authenticité des sources, tu n'as que les étudier une par une depuis les premières (il y a environ 4 ans que je suis sur VbFrance!) et voir que le style de programmation est toujours le même, et évolue avec les années. Je veux bien comprendre que le terme pas assez "propre" ait pu gêner quelques personnes, et je m'en excuse, mais douter de la véracité de mes sources c'est moi que ça gêne.

Sur ce, je souhaite quand même une bonne programmation à tous, et je suis toujours ouvert à tout commentaire
Cacophrene
Messages postés
263
Date d'inscription
lundi 29 mars 2004
Statut
Membre
Dernière intervention
4 mars 2008
-
Salut !

Voilà qui est mieux présenté.

Cordialement,
Cacophrène
us_30
Messages postés
2065
Date d'inscription
lundi 11 avril 2005
Statut
Membre
Dernière intervention
14 mars 2016
8 -
Désolé pour la gêne...

Us.
JpatOsaure
Messages postés
5
Date d'inscription
mercredi 2 avril 2003
Statut
Membre
Dernière intervention
29 août 2005
-
Salut Vb Lover !

voici une source bien sympa hélas, quand je veux ouvrir le projet, la Form frmMain me pète des erreurs de chargement :

Ligne 48: La propriété Picture dans imgEffacer a une référence de fichier incorrecte.
Ligne 55: La propriété Picture dans imgStop a une référence de fichier incorrecte.
Ligne 63: La propriété Picture dans imgGO a une référence de fichier incorrecte.
Ligne 71: La propriété Picture dans imgResout a une référence de fichier incorrecte.

peut-être pourrais-tu inclure ces images dans ton zip...

cordialement

JpatOsaure
cs_Obi_1
Messages postés
21
Date d'inscription
samedi 28 mai 2005
Statut
Membre
Dernière intervention
13 juin 2006
-
Salut VB Lover,

J'ai le meme probleme que JpatOsaure, les images font planter le chargement du formulaire...
Ton code m'intéresse d'autant plus que j'ai fait également un programme pour résoudre les Sudoku (mais en VBA avec une grille Excel et des objets "case"), et j'aimerais pouvoir comparer nos 2 approches (par contre, mon code ne résoud pas les diaboliques du Figaro!)
Vb Lover
Messages postés
221
Date d'inscription
vendredi 30 novembre 2001
Statut
Membre
Dernière intervention
13 février 2010
3 -
ça va être fait très bientôt, JpatOsaure! j'attends juste d'avoir fini les modifications apportées à la fonction "Inferences"
JpatOsaure
Messages postés
5
Date d'inscription
mercredi 2 avril 2003
Statut
Membre
Dernière intervention
29 août 2005
-
Merci d'avance Vb Lover ;-)

JpatOsaure
Vb Lover
Messages postés
221
Date d'inscription
vendredi 30 novembre 2001
Statut
Membre
Dernière intervention
13 février 2010
3 -
Voilà c'est fait, y'a les images maintenant. La fonction "Inferences" a été modifiée, et du coup la plupart des Sudoku sont résolus "en toute logique", et la récursivité n'est plus utilisée. On ne remarque presque pas l'amélioration sur la vitesse d'exécution, sauf pour une grille vide (c'est très rapide de toute façon).

A venir :
- fin de l'amélioration "Inferences" (supprimer des chiffres possibles sans pour autant placer un autre chiffre, voir commentaires dans le code)
- un créateur de Sudoku??
cs_GreGnet
Messages postés
4
Date d'inscription
lundi 19 mai 2003
Statut
Membre
Dernière intervention
1 février 2006
-
Salut Vb Lover...

Super, ton code ! Exactement ce que je cherchais ! 10/10
Je t'envoie un message privé de ce pas...
JpatOsaure
Messages postés
5
Date d'inscription
mercredi 2 avril 2003
Statut
Membre
Dernière intervention
29 août 2005
-
Merci, c'est extra
en plus une bonne rapidité d'éxécution, nickel !!

JpatOsaure
folofly
Messages postés
1
Date d'inscription
vendredi 16 juillet 2004
Statut
Membre
Dernière intervention
11 octobre 2005
-
Salut man, ton projet est très intéressant. Seulement je ne peux l'exploiter car je suis en VB 5.0, peux-tu me dire quel sont les Références et/ou Compléments utilisés (les DLLs quoi :o).
D'avance merci
Vb Lover
Messages postés
221
Date d'inscription
vendredi 30 novembre 2001
Statut
Membre
Dernière intervention
13 février 2010
3 -
ça me paraît assez étrange que ça ne marche pas, car je n'utilise aucune fonction / API spéciale dans mon code, ni rien qui soit spécifique à VB6. si y'a un connaisseur dans la salle...
chasseurdedemon
Messages postés
60
Date d'inscription
mardi 23 décembre 2003
Statut
Membre
Dernière intervention
15 novembre 2010
-
salut
est-ce que quelqu'un peux me dire comment faire pour créer une grille de sudoku en vb car moi j'arrive à ce que l'ordi choisis les numéro et les place dans chaque case de la grille mais je me retrouve tout le temp avec le même numéro dans une colone et ligne donc je voulais savoir comment faire pour une fois qu'il a choisi un numéro il le supprime des posibilité de ces choix mais qu'il le remé pour la ligne suivante...
merci d'avence

mokmap NC
cs_vpoyo
Messages postés
363
Date d'inscription
vendredi 14 février 2003
Statut
Membre
Dernière intervention
20 avril 2010
3 -
salut,

je suis venu voir un peu ici, car je suis entrain de développer un sudoku en .Net (et oui encore un :-). Et j'aimerais comparer les algorithmes de résolutions par rapport à ceux que j'ai implémenter. mais avant de télécharger les sources, je regarde un peu les commentaires et je ne peux m'empêcher de réagir sur un point.

OUI, ce site est francophone, mais c'est bien gentil que certains dévoilent leurs sources, et surtout ceux qui estime faire de la programmation sans connaitre le moindre mot d'anglais, un conseil arrêter desuite. On vout demande pas d'être bilingue, mais quasiment tout le monde qui touche a l'informatique c'est qu'un solver est un solveur, et même sans parler anglais, faut pas être Einstein pour deviner, et si on connait pas la traduction d'un mot ca coute pas grand chose de le traduire.

sur ceux, je m'en vais voir ces sources :) et merci d'avance VbLover ne serais ce que pour faire don de ton travail ;-)
chasseurdedemon
Messages postés
60
Date d'inscription
mardi 23 décembre 2003
Statut
Membre
Dernière intervention
15 novembre 2010
-
ki peu m'expliquer comment il fait ds son prog pour généré une grille aléatoirement svp merci
Vb Lover
Messages postés
221
Date d'inscription
vendredi 30 novembre 2001
Statut
Membre
Dernière intervention
13 février 2010
3 -
pour ChasseurDeDemon: si tu connais un minimum le VB et que tu prends le temps de lire mes explications et le code, tu devrais pouvoir avoir ta réponse! pour résumer: dans "modCreation", j'ai des procédures qui me créent des grilles aléatoires. Le principe de base, contrairement à la majorité des codes que j'ai vus jusqu'à maintenant, ce n'est pas de remplir une grille vide et d'enlever des possibilités au fur et à mesure, mais c'est de prendre un "patron", un "modèle" de base et de le modifier aléatoirement. Je prends donc une vingtaine de chiffres qui permettent de résoudre ma grille de base, et ensuite j'effectue des permutations de lignes, colonnes, chiffres, ... qui laissent le Sudoku correct. La création du Sudoku est donc très très rapide, car on sait déjà que la grille est correcte (et c'est ça qui prend le plus de temps à vérifier)
cs_Galain
Messages postés
1270
Date d'inscription
mardi 11 novembre 2003
Statut
Membre
Dernière intervention
24 juillet 2013
6 -
Un seul mot : BRAVO
cs_maxwells
Messages postés
31
Date d'inscription
lundi 14 mars 2005
Statut
Membre
Dernière intervention
9 novembre 2008
-
Salut à tous
Personnellement je trouve ce code extrêment bien fait.
J'ai découvert que l'on pouvait utilisé directement la form sans avoir à utiliser divers contrôles qui aurait augmenté le nombre de sub.
Rien à dire sur ce code, Absolument sublimissime!!!!

Merci à tous ceux qui comme VbLover mettent des sources qui sont dignes des meilleurs logiciel commerciaux

Maxwells Maniac
sleepytib
Messages postés
3
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
27 janvier 2006
-
bonjour,

je susi tout nouveau ici et ce programme m'interesserait.
Probleme : je ne sais pas que faire des fichiers telechargés !
ça s'installe et s'execute avec quoi ..

quelle est la procédure ?!

merci de votre aide !
cs_Sylvio
Messages postés
9
Date d'inscription
samedi 1 février 2003
Statut
Membre
Dernière intervention
5 septembre 2011
-
Bonjour
Bravo Mr VbLover!
Peut-on ajouter "End" dans la "Private" ci-dessous pour quitter?

Private Sub mnuJeuQuitter_Click()
End
End Sub

Super travail.
Sylvio.
Vb Lover
Messages postés
221
Date d'inscription
vendredi 30 novembre 2001
Statut
Membre
Dernière intervention
13 février 2010
3 -
effectivement... en fait, j'ai corrigé ça sur mon ordinateur, mais je n'ai pas mis à jour sur ce site.
Donc rajoutez le "End", je crois que ça ne vaut pas la peine (pour l'instant) de faire une mise à jour seulement pour ça
digger23
Messages postés
8
Date d'inscription
lundi 11 août 2003
Statut
Membre
Dernière intervention
28 septembre 2006
-
Salut,

bravo, mais le bouton quitter n'a pas de code ;)

a+
Sephiroth001
Messages postés
4
Date d'inscription
dimanche 12 mars 2006
Statut
Membre
Dernière intervention
16 mars 2007
-
Je suis nouveau également et tout comme sleepytib je voulais savoir comment ouvrir le programme. Faut-il avoir une application spéciale ou faut-il télécharger quelque chose pour pouvoir utiliser ces programmes (les .bas par ex) ?
Merci de me répondre
Sephiroth001
Messages postés
4
Date d'inscription
dimanche 12 mars 2006
Statut
Membre
Dernière intervention
16 mars 2007
-
Je suis nouveau également et tout comme sleepytib je voulais savoir comment ouvrir le programme. Faut-il avoir une application spéciale ou faut-il télécharger quelque chose pour pouvoir utiliser ces programmes (les .bas par ex) ?
Merci de me répondre
ActiveZ
Messages postés
19
Date d'inscription
mardi 20 mars 2001
Statut
Membre
Dernière intervention
29 mars 2006
-
bon code, commenté en francais et assez propre
Amélioration possible: impression papier de 1 (plusieurs) grille sur une seule feuille
merci pour ce source
muratime
Messages postés
1
Date d'inscription
vendredi 14 avril 2006
Statut
Membre
Dernière intervention
16 avril 2006
-
Le source est super mais comment on fait si on veux imprimer?Quelqu'un a une idée du code que l'on peux mettre pour imprimer la grille
juju_ol
Messages postés
1
Date d'inscription
dimanche 16 avril 2006
Statut
Membre
Dernière intervention
16 avril 2006
-
Je suis nouveau également et tout comme sleepytib je voulais savoir comment ouvrir le programme. Faut-il avoir une application spéciale ou faut-il télécharger quelque chose pour pouvoir utiliser ces programmes (les .bas par ex) ?
Merci de me répondre
mcs2006
Messages postés
58
Date d'inscription
dimanche 19 mars 2006
Statut
Membre
Dernière intervention
1 mai 2006
-
Oups, excuses pour ma note de 3. C'est une erreur de clic.
Il y a un moyen de la supprimer ?
BruNews
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
16 -
le 3/10 est enlevé, tu devrais pouvoir renoter.
harrybosch
Messages postés
8
Date d'inscription
samedi 14 janvier 2006
Statut
Membre
Dernière intervention
9 mai 2006
-
EXCELLENT !! 10 fois mieux que celui de Cacophrene et au moins pas besoin d'aller chercher des ocx qui ne marchent pas à l'autre bout du net. Je mets 10/10.
harrybosch
Messages postés
8
Date d'inscription
samedi 14 janvier 2006
Statut
Membre
Dernière intervention
9 mai 2006
-
Misère de mauvais clic, j'ai cliqué sur 4 au lieu de 10 !!!
econs
Messages postés
4030
Date d'inscription
mardi 13 mai 2003
Statut
Modérateur
Dernière intervention
23 décembre 2008
19 -
HarryBosch > Ton 4/10 a été enlevé, tu peux essayer de renoter, en visant bien cette fois ;o)
clementio
Messages postés
432
Date d'inscription
samedi 18 mai 2002
Statut
Modérateur
Dernière intervention
17 février 2014
-
Salut,

Comme tu le dis dans ta description, l'algo de création est assez simple et ça se ressent...

Je m'explique:

L'idée de prendre une grille de base déjà remplie et qui fonctionne pour en créer des nouvelles, c'est très bien.

Le problème survient après, lors de tes permutations. Je vois que tu en fais 10 puis 20. Tu pourrais en faire 100 et 200, le problème serait toujours là...

Ensuite, la permutation des chiffres laisserait penser que l'algo tient la route mais hèlas non...

En fait tu mélanges sans vraiment mélanger. Je m'en suis rendu compte après avoir joué plusieurs parties.

Si par exemple dans le premier carré tu as:

913
857
264

Tu peux être sûr que dans tous les autres carrés tu auras le 9, le 1 et le 3 pas dans le même ordre mais tous sur la même ligne. Et c'es pareil pour 8,5,7 et 2,6,4.

Voici un exemple de grille générer avec ton code:

913 | 875 | 246
857 | 246 | 931
264 | 931 | 875
---- ----- ----
785 | 462 | 319
426 | 319 | 758
391 | 758 | 462
---- ----- ----
578 | 624 | 193
139 | 587 | 624
642 | 193 | 587

Du coup, une fois que je me suis rendu compte de ça, j'ai commencé à jouer en cherchant les suites et non avec la règle normale du jeu. C'est dommage car sinon ton prog est pas mal...

J'espère que tu pourras faire quelque chose et que je ne te démoralise pas trop...

Bonne prog, Clm.
Vb Lover
Messages postés
221
Date d'inscription
vendredi 30 novembre 2001
Statut
Membre
Dernière intervention
13 février 2010
3 -
hello clementio,

tes remarques sont pertinentes, et je suis conscient de ces choses depuis le début; alors qq commentaires:
- tout d'abord, en cliquant un grand nombre de fois sur avoir une nouvelle grille, on n'observe pas directement de répétition.
- ensuite, c'est sûr que (suivant ton exemple), les 9-1-3 seront toujours sur la même ligne, mais sur n'importe quelle ligne (9 possibilités), dans n'importe quelle colonne (9*8*7=504 poss.) et aussi ces chiffres peuvent être changés en n'importe quels autres chiffres (504 poss.). Donc rien qu'avec ces 3 indications (et il y en a une vingtaine au total), tu te retrouves avec 9*504*504 > 2 millions de possibilités. maintenant, pour varier encore plus les grilles, j'ai mis 4 grilles de base différentes.

je crois donc, jusque-là, que pour la diversité, c'est énorme, et que ce n'est quasiment pas possible de trouver des suites. de plus, c'est vraiment la méthode qui me plaisait (partir d'une grille correcte et la modifier)

maintenant, ce que je peux rajouter est qqch que j'ai remarqué depuis le début: je mise mes difficultés sur le nombre d'indications initiales. là, en fait, il faudrait améliorer le système pour plusieurs raisons:
- les grilles les plus difficiles ne sont pas forcément celles qui ont un minimum d'indication
- les indications rajoutées peuvent ou non modifier sensiblement la difficulté

EN RESUME:

pour améliorer ce programme, il faudrait (je fais appel à vous tous!) trouver plusieurs grilles de bases dont on connaît la difficulté et la solution finale.

voilà, bonne prog ou bon jeu!
stepaustral
Messages postés
54
Date d'inscription
dimanche 5 janvier 2003
Statut
Membre
Dernière intervention
29 juillet 2012
-
C'est bien joli tous ça mais si on veux imprimer la grille comment on fait?
Quelqu'un a une idée?
flofefe
Messages postés
30
Date d'inscription
jeudi 6 juillet 2006
Statut
Membre
Dernière intervention
4 février 2007
-
Bravo .Ca donne envie de si remettre
cs_patrick
Messages postés
32
Date d'inscription
vendredi 19 mai 2000
Statut
Membre
Dernière intervention
21 juillet 2015
-
Pas mal du tout...

Pour executer en VB5, sufit de retirer : (Avant de charger le projet, via NotePad)

A la fin du fichier Sudoku.vbp :

Retained=0

Au debut du fichier Sudoku.vbp : (entre le BEGIN et le END

Persistable = 0 'NotPersistable
DataBindingBehavior = 0 'vbNone
DataSourceBehavior = 0 'vbNone
MTSTransactionMode = 0 'NotAnMTSObject

Sinon, petites améliorations possibles au niveau du jeux :

- une fonction "mnuJeuQuitter_Click()" pour le menu "Jeu/Quitter" :-o !
- Des "TipToolText" sous les boutons.
- Un "Drag and Drop" des chiffres dans les cases. (facon solitaire !)
- Un mode "brouillon" (deux couleurs de saisie, avec un bouton validé/Effacé Brouillon)
- Un bouton AIDE qui donne un chiffre lorsque l'on est bloqué.

Bravos

Patrick MOIRE
http://jeux.cartes.free.fr
Vb Lover
Messages postés
221
Date d'inscription
vendredi 30 novembre 2001
Statut
Membre
Dernière intervention
13 février 2010
3 -
j'ai bien pris en compte toutes vos remarques, et je vais certainement faire un update dans quelques jours qui contiendra:

- un menu "quitter" qui fonctionne :)
- quelques modifications dans la création de la grille (en particulier le nombre de permutations sur les lignes et les colonnes à effectuer). de plus, certains auront vu que le niveau de difficulté n'est pas forcément optimal; tout cela sera changé en utilisant des grilles de base spécifiques par difficulté, et non en rajoutant au hasard des indications initiales
- une aide si on est bloqué (quoique... il suffit pour l'instant de dire qu'on veut que les erreurs apparaissent en rouge, et ensuite d'écrire un chiffre au hasard jusqu'à ce qu'il soit noir et donc correct)
- peut-être qu'il y aura un système d'impression des grilles, à voir
- et enfin, peut-être aussi que je vais rajouter le mode "samouraï" (5 grilles qui s'imbriquent). j'ai déjà programmé une telle grille, ne reste plus qu'à l'intégrer de manière "jolie" dans le programme
Vb Lover
Messages postés
221
Date d'inscription
vendredi 30 novembre 2001
Statut
Membre
Dernière intervention
13 février 2010
3 -
voilà, les principales modifications ont été effectuées! maintenant, les grilles faciles sont vraiment faciles et les diaboliques sont terribles!!
jrivet
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
46 -
Salut,

Je n'ai pas encore regardé le code (car j'en fait un à des fin personnel vu qu il y en déjà beaucoup sur VBFrance).

Mais je voulais simplement t'apporter mes commentaires.

Positif: L'interface est pas mal (toujours plus jolie que certaine déjà vu sur VBfrance)

Négatif:
1 - Ne pas se servir du clavier pour entrer les chiffres.... je n'aime pas du tout ca. moi j'aime pas la souris, je trouve qu'en plus on perds tu temps. alors que les Tab et les fleches pour naviguer dans la Grille seraient à mon gout bien plus sympa.
2 - On ne peux pas chargr des grilles depuis un fichier (dommage car pratique)=> obliger de les rentrer "à la main" => voir point 1

Mais en tout cas l'algo de résolution a l'air tres rapide et sans regarder le code (pour ne pas m'en inspirer) je compare ma rapidite a la tienne (enfin quand le mien sera au point....)

Et voila.

@+ sur le forum.
Julien
mouad001
Messages postés
21
Date d'inscription
mardi 25 mai 2004
Statut
Membre
Dernière intervention
5 août 2014
-
merci pour ce code mon ami l est tres chouete