FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» Compilateur FBPano
par jean_debord Aujourd'hui à 10:54

» demande pour recuperer un text speciale
par pascal10000 Hier à 22:04

» Casse-tête : Echanger les positions des cavaliers
par papydall Hier à 19:51

» KGF_dll - nouvelles versions
par Klaus Hier à 14:29

» Amélioration de la commande HINT
par papydall Mer 19 Juil 2017 - 3:30

» TEST SUR SHAPE
par papydall Mer 19 Juil 2017 - 1:17

» Un challenge à relever
par papydall Mar 18 Juil 2017 - 21:25

» Astuce : Indenter plusieurs lignes de code à la fois
par papydall Mar 18 Juil 2017 - 1:32

» Suggestion pour le forum
par papydall Lun 17 Juil 2017 - 20:28

» Truver les handles des onglets de Panoramic Editor
par Klaus Lun 17 Juil 2017 - 18:20

» Synedit_Editor - nouvelles versions
par Klaus Lun 17 Juil 2017 - 13:46

» Détermine si oui ou non un objet est PARENT d'un autre objet
par Klaus Dim 16 Juil 2017 - 11:58

» Une autre façon de terminer une application.
par papydall Dim 16 Juil 2017 - 3:53

» Déterminer le Handle de l’objet ayant le focus
par papydall Dim 16 Juil 2017 - 3:15

» Déterminer le HANDLE du Bureau
par papydall Dim 16 Juil 2017 - 1:59

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Juillet 2017
LunMarMerJeuVenSamDim
     12
3456789
10111213141516
17181920212223
24252627282930
31      
CalendrierCalendrier

Partagez | 
 

 SUDOKU solution

Voir le sujet précédent Voir le sujet suivant Aller en bas 
Aller à la page : 1, 2  Suivant
AuteurMessage
Klaus

avatar

Nombre de messages : 10062
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: SUDOKU solution   Ven 11 Juin 2010 - 17:27

Mon programme SUDOKU solution et SUDOKU solution guidée est disponible maintenant sur mon site, dans la rubrique "Panoramic". N'hésitez pas à l'essayer - il a des possibilités sympa !

Pour toutes remarques concernant ce programme, utilisez svp ce fil de discussion !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
JL35



Nombre de messages : 5890
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: SUDOKU solution   Ven 11 Juin 2010 - 19:04

Tu vas bien trop vite, on a du mal à suivre !

Dans le premier programme (mais celui d'hier !) je me suis amusé à paramétrer l'emplacement et la dimension de la grille, pour pouvoir utiliser une police plus grande (taille 16) de façon à voir mieux les chiffres (mes yeux ne sont plus ce qu'ils étaient !). Et c'est plus facile de changer un paramètre (taille des carrés) pour faire des essais.
Ca donne ça (juste par curiosité):
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10062
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: SUDOKU solution   Ven 11 Juin 2010 - 19:10

Bonne idée ! Je vais y penser pour la suite !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
JL35



Nombre de messages : 5890
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: SUDOKU solution   Ven 11 Juin 2010 - 19:24

pour l'exemple, j'ai juste fait quelque chose comme ça:
Code:
tp% = 30: : lf% = 140: car% = 40: ' top, left grille et taille carrés
for lig%=1 to 9
    for col%=1 to 9
        obj% = (lig%-1)*9 + col%
        edit obj%
        left obj%,lf%+col%*car%
        top obj%,tp%+lig%*car%
        width obj%,car%-10
        height obj%, car%-10
        font_size obj%, 16
    next col%
next lig%

x1% = lf%+car%-10
y1% = tp%+car%-10
x2% = lf%+10*car%
y2% = tp%+10*car%
2D_line lf%+car%-10, tp%+car%-10, lf%+10*car%, tp%+car%-10
2D_Rectangle x1%, y1%, x2%, y2%
2D_Line x1%, y1%+3*car%+5, x2%, y1%+3*car%+5
2D_Line x1%, y1%+6*car%+5, x2%, y1%+6*car%+5
2D_Line x1%+3*car%+5, y1%, x1%+3*car%+5, y2%
2D_Line x1%+6*car%+5, y1%, x1%+6*car%+5, y2%
et j'ai rajouté un espace devant l'affichage des chiffres, pour les centrer.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10062
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: SUDOKU solution   Ven 11 Juin 2010 - 19:42

J'ai vu ce que ça donne. J'intègre cela dans les deux programmes et je les remets en ligne. Merci pour ton aide !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Klaus

avatar

Nombre de messages : 10062
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: SUDOKU solution   Ven 11 Juin 2010 - 19:54

Ca y est - les deux programmes sont adaptés selon ta suggestion. C'est beaucoup plus joli comme ça . Merci beaucoup !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
JL35



Nombre de messages : 5890
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: SUDOKU solution   Ven 11 Juin 2010 - 22:13

Il n'y a vraiment pas de quoi, ce n'était qu'un détail par rapport à tout le reste !

PS une babiole, le 2D_Line en ligne 30 (avant le 2D_Rectangle) est inutile, c'est un reste des essais...

N'empêche (je me répète), c'est un beau programme.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10062
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: SUDOKU solution   Sam 12 Juin 2010 - 0:02

J'ai vu, pour la ligne 30. Je l'ai enlevée dans SUDOKU solution ET dans SUDOKU solution guidée.

Dans ce dernier programme, j'ai eu un problème bizarre d'effacement partiel du cadre gauche vertical, lié à la création des boutons de la barre verticale des nombres. J'ai déplacé le dessin du cadre juste avant l'instruction "end", et tout est rentré dans l'ordre. C'est cette version qui est en ligne maintenant.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
JL35



Nombre de messages : 5890
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: SUDOKU solution   Sam 12 Juin 2010 - 0:41

Je l'ai vu, et j'ai déjà eu ce problème d'effacement de cadre il y a quelque mois (pour des options), au niveau des captions des options, comme si panoramic complétait les captions avec des espaces, j'ai corrigé en agrandissant le cadre.

Dans ton cas, il semble que panoramic crée d'abord les objets à gauche, de manière invisible (sauf l'effacement) en rencontrant le TOP, puis les met en position définitive quand il rencontre le LEFT. Et ça perturbe ce qui est déjà créé.
C'est mon hypothèse, mais ça y ressemble...

Comme ces paramètres de position et de taille ne sont pas obligatoires, ça doit se faire dans l'ordre suivant pour les créations d'objets:
- définition de l'objet: il est créé en position 0
- rencontre de TOP ou LEFT: déplacement de l'objet en conséquence
- WIDTH ou HEIGHT: pareil

Si tu commences par faire un PRINT au début, puis que tu définis un PICTURE par exemple, ce PRINT sera effacé de la largeur implicite d'un PICTURE (105 pixels je crois) en 0,0 puis le picture sera créé à l'emplacement demandé, mais la partie du print restera effacée.
Il faut définir d'abord le picture, puis faire le print ensuite.
Un peu embêtant, mais bon...
Sauf avis contraire, ça ne perturbe que les PRINT ou les LINE, mais non les objets ?

Là-dessus, bonne nuit ! Sleep
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10062
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: SUDOKU solution   Sam 12 Juin 2010 - 0:59

Oui, cela concerne print et tous les 2d_line, 2d-rectangle, 2d_poly_to. Ton analyse est la bonne; probablement, le canvas de la form 0 est affecté, et toutes ces instructions dessinent directement sur le canvas de la form 0 (soit le 2d_target_is et print_target_is par défaut. Un peu ennuyeux, mais visiblement, on peut y remédier en plaçant les print et 2d_xxx après la définition des objets.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
JL35



Nombre de messages : 5890
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: SUDOKU solution   Sam 12 Juin 2010 - 12:42

Ce qui aurait été sans doute mieux, et qui aurait évité bien des lignes de code, ça aurait été de définir un objet en une seule fois avec ses paramètres, par exemple:
PICTURE numéro, left, top, largeur, hauteur
avec éventuellement des valeurs implicites pour les paramètres en mettant -1, quitte à redéfinir entièrement l'objet si on veut le redimensionner ou le déplacer.
Et au moins il aurait été créé au bon endroit du premier coup.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10062
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: SUDOKU solution   Dim 13 Juin 2010 - 12:21

J'i utilisé la technique suggérée par Cosmos70 avec des picture. C'est encore plus jloi comma ça, d'autant que même dans la configuration précédente, le cadre a tendance à s'effacer par moments. Il faudra que je creuse cela pour signaler ce bug, car le canvas de la form 0 ne doit pas bouger si l'on ne fait ni print ni 2d_xxx.

J'en ai profité pour ajouter une fonction majeure à SUDOKU solution guidée. On peut maintenant générer ses propres grilles, en spécifiant le nombre de cases qui doit être prérempli ! Ce nombre est 32 par défaut; il faudra que je voie à l'usage: ce chiffre est peut-être un peu élevé. Avec 26, cela donne des résultats acceptables. Une grille générée doit ensuite être "chargée" pour la rendre exploitable. Si l'on reçoit le message "Cette grille n'a pas de solution", il faut en générer une autre. Je n'ai pas encore trouvé la formule magique qui génère une grille à une seule solution du premier coup. Je continue à chercher...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
JL35



Nombre de messages : 5890
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: SUDOKU solution   Dim 13 Juin 2010 - 12:43

Effectivement, si tu te mets à générer des grilles ce serait vraiment une avancée majeure, parce que j'ai cru comprendre que ce n'était pas de la tarte !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
JL35



Nombre de messages : 5890
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: SUDOKU solution   Dim 13 Juin 2010 - 18:45

Je viens d'essayer la génération de grilles, et je tombe sur des incohérences, par exemple:

Si on numérote les colonnes de A à I et les rangées de 1 à 9 on s'aperçoit qu'on ne peut mettre le 3ème 9 dans la colonne B (plus de place).
De même, dans la case E4 on devrait pouvoir mettre un 9 ET un 3...
J'ai eu d'autres exemples avec d'autres grilles.
Décidément, je continue à penser que c'est beaucoup plus difficile que ça en a l'air de générer des grilles.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10062
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: SUDOKU solution   Dim 13 Juin 2010 - 19:36

Pour résoudre ce genre d'incohérences, j'ai fait une modif qui est en ligne depuis 11:01 ce matin; le fichier SUDOKU.30.zip doit faire 8261 octets. Télécharge à nouveau et réessaye avec cette version - ce problème doit être résolu. Cela ne garantit encore en rien une grille soluble, mais j'ai éliminé ces premières incohérences évidentes.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
JL35



Nombre de messages : 5890
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: SUDOKU solution   Dim 13 Juin 2010 - 21:30

Pourtant j'avais bien dû télécharger la dernière version, aujourdhui en deuxième partie d'après-midi.
Mais bon, je vais réessayer.

EDIT à première vue c'est pareil, j'ai bien la dernière version, 1er essai:
le 3 impossible à mettre dans la dernière colonne...
(je précise que dans les exemples que je donne il n'y a que les chiffres générés par le programme).
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10062
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: SUDOKU solution   Dim 13 Juin 2010 - 22:38

J'ai remis une nouvelle version en ligne. Pas de changement profond, mais une nette amélioration du système d'aide avec un affinage du coloriage des cellules "possibles" et des "possibilités" pour une cellule donnée.

Quant au problème signalé par toi, JL35, le programme contient une séquence spéciale justement pour éviter cela: ce sont les lignes 500 à 582. Mais je vois d'où vient le problème: lors de l'installation du premier "3", le programme détecte des cellules libres disponibles dans de carré du bas en_dehors de la colonne concernée, et il en est évidemment de même lors de l'installation du deuxième "3".

Conclusion: je complèterai mon code par une détection du même nombre dans une autre ligne/colonne d'un autre carré afin de maîtriser ce cas. Cela viendra prochainement.

En attendant, la fonction "Charger" aurait refusé cette grille. Je sais, intellectuellement, je n'est pas joli, mais ce sera bientôt corrigé.

Petit bonus: dans le zip mis en ligne ce soir, il y a 3 grilles valides générées par ce programme. On peut les charger par la fonction "Ouvrir". Ces grilles sont solubles à l'aide ce ce programme.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
JL35



Nombre de messages : 5890
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: SUDOKU solution   Dim 13 Juin 2010 - 23:20

Mes remarques se veulent constructives, et ça n'empêche pas que je suis admiratif de la rigueur du travail que tu fais.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10062
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: SUDOKU solution   Dim 13 Juin 2010 - 23:23

C'est bien ainsi que je l'entends, et cela me motive pour aller de l'avant.

EDIT
===

En regardant mon programme, je constate que j'ai déjà tenu compte de cet aspect. Ce sont les lignes 543 et 569 qui s'en chargent: je détecte à ces endroits si une cellule candidate est déjà couverte par le rayonnement d'un nombre identique dans un autre groupe.

Donc, le problème vient d'ailleurs. C'est le remplissage des cellules par le 8, le 5 ou le 7 après l'installation des "3" qui ont conduit à cette situation. Je mets au point une stratégie pour y remédier.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
JL35



Nombre de messages : 5890
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: SUDOKU solution   Lun 14 Juin 2010 - 1:03

Désolé Klaus, mais sur une bonne douzaine de grilles générées, je n'en ai pas eu une seule qui ne conduisait pas à une anomalie tôt ou tard.
par exemple:

mais parfois c'est moins immédiat, seulement vers la fin qu'on tombe sur une impossibilité.
Bon, eh bien... Sleep
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10062
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: SUDOKU solution   Lun 14 Juin 2010 - 10:52

Dans la dernière mise en ligne, j'ai ajoute quelques grilles valides générées avec ce programme. Je reconnais que la génération est loin d'être au point. J'ai découvert une méthode plus sûre et je suis en train de coder l'algorithme. Il y aura bientôt de nouvelles.

En attendant, on peut saisir n'importe quelle grille et la sauvegarder et/ou la résoudre, ce qui était le but initial du programme. Mais la génération complète viendra. Ceci dit, essaie de générer avec moins de 28 cases remplies - la fréquence des grilles valides augmente.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
JL35



Nombre de messages : 5890
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: SUDOKU solution   Lun 14 Juin 2010 - 14:56

Je ne suis pas inquiet, mais je sais que c'est un sacré boulot, pour avoir tenté, et n'avoir pas réussi.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10062
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: SUDOKU solution   Lun 14 Juin 2010 - 17:42

Ca y est - j'ai mis en ligne une version avec un générateur première génération qui semble marcher. Il n'est pas complètement aléatoire comme je le souhaitais, mais génère tout de même des grilles tout à fait différentes à chaque passage.

Plus un laisse de cases remplies, plus un a une chance d'avoir une solution unique. Le programme de toute façon n'utilise qu'une seule solution: celle qui a permis de générer la grille en effaçant certaines cases.

Mais il faut aussi l'utiliser pour résoudre des grilles fournies par des tiers; une fois saisies, on peut les enregistrer ("Sauver") et reprendre, et un peut sauvegarder des étapes intermédiaires...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
JL35



Nombre de messages : 5890
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: SUDOKU solution   Lun 14 Juin 2010 - 18:03

Bon... y'a plus qu'à le passer à la moulinette...

Effectivement, de cette façon, en générant d'abord une grille complète puis en effaçant aléatoirement un certain nombre (en fonction de la difficulté désirée) de cases, on ne risque plus d'incohérence.
Mais, et il me semble que c'est le problème que j'avais eu, est-ce qu'il n'y a pas des règles à respecter dans le choix des cases à effacer, sous peine de tomber sur des grilles insolubles, ou ambiguës (plusieurs solutions) ?

PS j'ai trouvé ça: http://davidbau.com/archives/2006/09/04/sudoku_generator.html notamment la partie 'Sudoku Generation Algorithm'.

PS2 ce serait bien d'effacer 'Génération en cours...' une fois la génération terminée.

Exemple d'une grille qu'on ne peut pas terminer (2 solutions possibles):

colonne 2 = 8, 5, 2, 9, 1, 6, 7, 4, 3 ou bien 8, 5, 6, 9, 1, 2, 7, 4, 3
bon, je sais, je pinaille...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10062
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: SUDOKU solution   Lun 14 Juin 2010 - 20:19

Non, tu ne pinailles pas. C'est un échange enrichissant le le programme en profitera. Je suis content d'être tombé sur un fan de Sudoku !

J'effacerai bien sûr le message de génération. Quant au problème des solutions multiples, je l'avais signalé, et j n'ai pas encore trouvé le moyen de les éliminer. Ton lien est très intéressant et je vais en explorer tous les coins.

En effet, d'après ce que j'ai vu sur d'autres forums, il y a des stratégies pour éliminer les solutions multiples. Mais dans presque tous les cas, on dit "s'il y a plus d'une solution, alors replacer le dernier chiffre effacé et recommencer avec un autre" et des phrases de même teneur. Or, mon problème est justement de détecter s'il y a plusieurs solution; j'en connais une: c'est la configuration de départ, mais est-ce qu'il peut y en avoir plusieurs après un effacement de chiffre, je ne le sais pas encore le détecter. Mais ça viendra...

Quant à ton exemple, c'est typiquement le cas d'un "carré" de possibilités pour un nombre, sans lien avec les autres cellules. Dans ce cas, on peut effectivement choisir l'une ou l'autre configuration, et la solution sera bonne. Je sais, dans ce cas, il n'aurait pas fallu effacer ces cellules. C'est une piste à suivre pour affiner la procédure; pour le moment, j'efface simplement de façon aléatoire, mais c'est seulement une première tentative.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Contenu sponsorisé




MessageSujet: Re: SUDOKU solution   

Revenir en haut Aller en bas
 
SUDOKU solution
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 2Aller à la page : 1, 2  Suivant
 Sujets similaires
-
» SUDOKU solution
» Solution qui bloque les virus avant qu’ils ne se propagent
» [PROJET] sudoku
» Image de fond qui s'adapte à la résolution du visiteur
» Problème résolution fond d'écran.

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: Activité des sites créés par les Panoramiciens. :: Le site de Klaus-
Sauter vers: