Voilà avant d'appliquer le code souflé tlem précédement dans le topic " Trouver L'intrus en comparant plusieurs fichiers "
Je viens de me rendre compte d'un bug durant la première étape de la résolution:
La première étape attribue tout simplement le nombre à une case quand celui-ci est le seul possible.
Premier clique sur résoudre pas de soucis ainsi qu'au deuxième (c'est juste des tests avant d'appliquer les autres algo) mais quand je clique une troisième fois le programme n'arrive plus à lire certains fichiers qui ne lui posé aucun problème lors des cliques précédents.
J'aimerais juste comprendre à quoi c'est dûs !!!
Si quelqu'un as le courage de jeter un oeil au code merci d'avance!!!
[R] Bug que je ne comprends pas...
Règles du forum
- Merci de consulter la section "Règles du forum" et plus particulièrement "Règles et Mentions Légales du site autoitscript.fr" avant d'écrire un message.
[R] Bug que je ne comprends pas...
Modifié en dernier par swif le jeu. 18 déc. 2008 09:29, modifié 5 fois.
- Tlem
- Site Admin
- Messages : 11784
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
Re: [..] Bug que je ne comprends pas...
Scite4AutoIt me donne 19 erreurs dans le code.
Toutes liées àqui devrait être
Une fois les erreurs corrigées, je me retrouve devant un Sudoku vide dans lequel je peut rentrer des valeurs ...
Mais si je clique sur résoudre, rien ne se passe !!!
En regardant un peut ce code fort indigeste
je remarque une utilisation abusive de la commande While/Wend.
En effet, les lignes de ce type :
pourrait être simplifiées en ceci :
On pourrait aussi envisager pour cette partie de code (et pour certaines autres parties) une simplification des 80 lignes de code comme ci-dessus en ceci :
Toutes liées à
Code : Tout sélectionner
if $LireCaseBloc not = 0 then
Code : Tout sélectionner
if not $LireCaseBloc = 0 then
Mais si je clique sur résoudre, rien ne se passe !!!
En regardant un peut ce code fort indigeste

En effet, les lignes de ce type :
Code : Tout sélectionner
While 1
if StringInStr($ReadCheckHorizontal, "1") Then
FileWriteLine($NombresPossibleHorizontal, "")
ExitLoop
else
FileWriteLine($NombresPossibleHorizontal, "1")
ExitLoop
Endif
Wend
Code : Tout sélectionner
if StringInStr($ReadCheckHorizontal, "1") Then
FileWriteLine($NombresPossibleHorizontal, "")
else
FileWriteLine($NombresPossibleHorizontal, "1")
Endif
Code : Tout sélectionner
Func _RCH()
For $i = 1 to 9
if StringInStr($ReadCheckHorizontal, $i) Then
FileWriteLine($NombresPossibleHorizontal, "")
else
FileWriteLine($NombresPossibleHorizontal, $i)
Endif
Next
EndFunc
Thierry
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Re: [..] Bug que je ne comprends pas...
Bonjour,
Tout d'abord un grand merci d'avoir pris un peu de temps pour décrypter un peu ce script!!!
en faisant semblant de ne pas comprendre car c'est un resolveur de sudoku donc avant d'appuyer sur résoudre il faut auparavant lui donner une grille à résoudre.
Je tiens à vous préparez pour les repas de fêtes
Sinon pour en revenir au sujet du post avez vous essayer donc en lui donnant une grille à résoudre de cliquer plus de deux fois sur résoudre (là pour le moment il n'attribut de solution qu'en cas d'un seul nombre possible) et si oui seriez vous pourquoi la troisième fois il ne peut lire les fichiers qui sont recréés plus haut dans le code. Je me trompe sûrement mais ça m'as l'air important de bien comprendre ce point pour mes futurs plats
Tout d'abord un grand merci d'avoir pris un peu de temps pour décrypter un peu ce script!!!
Bon fallait bien que je l'installe un jour...Scite4AutoIt me donne 19 erreurs dans le code
Bon là je penses que vous me faites payer mon manque clartéUne fois les erreurs corrigées, je me retrouve devant un Sudoku vide dans lequel je peux rentrer des valeurs ...
Mais si je clique sur résoudre, rien ne se passe !!!

En regardant un peut ce code fort indigeste
Je tiens à vous préparez pour les repas de fêtes

Oui vraiment !!! Je débute c'est vrai mais j'aurai vraiment pus y faire plus attention!je remarque une utilisation abusive de la commande While/Wend
Oui merci superbe idée il va vraiment falloir que je prenne l'habitude de créer des fonctionsOn pourrait aussi envisager pour cette partie de code (et pour certaines autres parties) une simplification des 80 lignes de code
Sinon pour en revenir au sujet du post avez vous essayer donc en lui donnant une grille à résoudre de cliquer plus de deux fois sur résoudre (là pour le moment il n'attribut de solution qu'en cas d'un seul nombre possible) et si oui seriez vous pourquoi la troisième fois il ne peut lire les fichiers qui sont recréés plus haut dans le code. Je me trompe sûrement mais ça m'as l'air important de bien comprendre ce point pour mes futurs plats

Re: [..] Bug que je ne comprends pas...
Bon j'ai appliquer les conseils de tlem et ce "bug" as disparut !
Un code de beu bourré d'erreurs ça ne marche pas!
Merci du coup de main!
Un code de beu bourré d'erreurs ça ne marche pas!
Merci du coup de main!
- Tlem
- Site Admin
- Messages : 11784
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
Re: [R] Bug que je ne comprends pas...
La prochaine étape, pourrait être l'utilisation de tableaux au lieu de 81 dossiers et 486 fichiers qui représente tout de même 1,8 Mo. 

Thierry
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Re: [R] Bug que je ne comprends pas...
Je pense aussi mais je vais plutôt le faire sur la finalisation, les fichiers textes étant bien pratique pour repérer les erreurs (je veux dire ils sont là en 0 et en 1
pas besoin de les appeller dans une msgbox).
