Resolution de sudoku

Soyez le premier à donner votre avis sur cette source.

Vue 9 946 fois - Téléchargée 764 fois

Description

Bonjour a tous et bonne année.
Voila, un petit qui permet de resoudre des Sudoku, fait avec Masm32.

Utilisation:
Rentré les différentes valeurs dans la grille, puis cliqué sur "Solutions possible",
le programme va alors recherché les solutions possibles et les affichés au-dessus de la cases.
Si plusieurs solutions sont possibles dans une case, essayer de rentrer manuellement une valeur
indiquer au-dessus de celle-ci, et cliquer de nouveau sur "Solutions possible", si cette valeur rentré manuellement
ne convient pas, alors vous aurez une MessageBox.

NB: Affichage des solutions possibles en rouge
Affichage des chiffres dans les zone d'edition en Noir tant qu'on a pas cliqué sur "Solution Possible",
puis affichage en vert, afin de mieux reperer la case qu'on a modifié.

Possibilité d'enregistrer une grille. J'ai choisi comme extension de fichier pour l'enregistrement,
ainsi que pour l'ouverture l'extension *.sud, je ne sais pas si cette extension est déjà utiliser
pour un certain de type de fichier.
4 exemples de grille mis dans le dossier Grille contenu dans le zip.

BUG connu (mais je ne sais pas comment y remedier):
C'est au niveau de la couleur des static, j'ai fait ceci:
;------------------------------------------------------------------------------------------------------------
.elseif uMsg == WM_CTLCOLORSTATIC ;lParam contient le HWND et wParam conteient le HDC du control

invoke GetDC, lParam ; Permet de recuperer
invoke GetPixel, eax, 5, 5 ; la couleur du fond
invoke CreateSolidBrush, eax ; et ainsi
mov hStaticColor, eax ; garder la meme
invoke SetBkMode, wParam, TRANSPARENT ; couleur de fond
invoke SetTextColor, wParam, Red ; Met la couleur du texte en rouge
mov eax, hStaticColor ;
ret ;

;------------------------------------------------------------------------------------------------------------
Ceci me met bien la couleur du texte des static en rouge, met si je clique plusieurs fois de suite
sur le bouton "Solution Possible", et ben de temps en temps, la couleur du texte redevient noir.
Si quelqu'un saurait pourquoi?, merci.

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

BruNews
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
13 -
GRAVES FUITES MEMOIRE à chaque event:
GetDC attend ReleaseDC
CreateSolidBrush sans DeleteObject

le HDC étant deja dans wParam, pourquoi appeler GetDC ?
Faut créer ton brush rouge 1 seule fois au début du prog.
SetBkMode(wParam, TRANSPARENT);
SetTextColor(wParam, Red);
return hbr;
cs_noel70
Messages postés
40
Date d'inscription
samedi 22 mai 2004
Statut
Membre
Dernière intervention
25 janvier 2007
-
Salut,
j'ai suivit tes recommandations, et voila ce que j'ai fait:

;----------------------------------------------------------------------
start:
invoke GetModuleHandle, NULL
mov hInstance, eax

;------- Creation des brush de couleur ----------
invoke CreateSolidBrush, Red
mov hRouge, eax
invoke CreateSolidBrush, Green
mov hVert, eax
invoke CreateSolidBrush, Black
mov hNoir, eax
invoke CreateSolidBrush, White
mov hBlanc, eax
invoke CreateSolidBrush, 14933984 ;correspond a la couleur de fond de la dialogbox
mov hFond, eax


invoke DialogBoxParam,hInstance,ADDR dlgname,0,ADDR WndProc,0


;------- Effacement des brush de couleur ----------
invoke DeleteObject, hRouge
invoke DeleteObject, hVert
invoke DeleteObject, hNoir
invoke DeleteObject, hBlanc
invoke DeleteObject, hFond

invoke ExitProcess,eax

;----------------------------------------------------------------------

Puis:
.elseif uMsg == WM_CTLCOLORSTATIC

invoke SetBkMode, wParam, TRANSPARENT
invoke SetTextColor, wParam, Red
mov eax, hFond
ret

Comme ceci, ca a l'air de marcher.
Peut-tu me confirmer si c'est bon ou pas ?
Afin que je mette a jour le zip.

Merci pour ton aide.
BruNews
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
13 -
ok devrait aller.
dan_katiemnn
Messages postés
5
Date d'inscription
dimanche 31 décembre 2006
Statut
Membre
Dernière intervention
25 janvier 2007
-
Salut,
est-il posible de faire la compilation de ton code avec TASM?
cs_noel70
Messages postés
40
Date d'inscription
samedi 22 mai 2004
Statut
Membre
Dernière intervention
25 janvier 2007
-
Salut,
Je ne pense pas qu'il soit directement compilable avec TASM,
Je ne connais pas le compilateur TASM, mais je ne pense pas qu'il utilise la meme syntaxe que MASM.

Exemple:
Sous TASM:
#include "fichier.inc"
Sous MASM:
include fichier.inc

Mais bon, je ne pense pas qu'il doit y avoir une grande difficulte a le retranscrir.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Du même auteur (cs_noel70)