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
» Demande urgente en maths.
par JL35 Aujourd'hui à 22:26

» Compilateur FBPano
par jean_debord Aujourd'hui à 11:24

» Problème de math
par braveen Aujourd'hui à 10:53

» A propos des attributs de fichier
par papydall Hier à 14:33

» Problème de math
par Marc37 Sam 21 Oct 2017 - 23:04

» I Love You
par papydall Sam 21 Oct 2017 - 19:22

» Un petit "coucou" à tous les Panoramiciens !
par mindstorm Sam 21 Oct 2017 - 17:06

» MARK_ON déclenche un événement ON_CLICK à la place de ...
par Jean Claude Mer 18 Oct 2017 - 18:08

» mise a jour calculatrice
par joeeee2017 Mer 18 Oct 2017 - 15:57

» [solved] 3D_LINE How to ?
par Jicehel Mer 18 Oct 2017 - 11:01

» Convertisseur de base 10 de 2 à 36
par gigi75 Mar 17 Oct 2017 - 18:49

» calculatrice avec touches movibles
par joeeee2017 Dim 15 Oct 2017 - 1:11

» CORTANA
par gigi75 Sam 14 Oct 2017 - 16:32

» Calculatrice
par Jean Claude Sam 14 Oct 2017 - 12:30

» KGF_dll - nouvelles versions
par Klaus Mar 10 Oct 2017 - 18:49

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Octobre 2017
LunMarMerJeuVenSamDim
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
CalendrierCalendrier

Partagez | 
 

 Aide à la résolution d'un Kakuro

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Klaus

avatar

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

MessageSujet: Aide à la résolution d'un Kakuro   Sam 6 Déc 2014 - 3:48

Un Kakuro est un jeu de la famille des puzzles numériques. Un pur jeu de réflexion. Il est une sorte de croisement entre un Sudoku et un Mot Fléché. En effet, il s'agit de remplir des lignes et colonnes qui se croisent, uniquement avec les chiffres de 1 à 9, sans doublons, ni horizontalement ni verticalement. Et on a un indice, dans les cases pleines à gauche ou au-dessus de l'espace à remplir, qui contient la somme des chiffres à placer. L'ordre est libre, à condition de respecter l'unicité horizontale et verticale des chiffres, et bien sûr la cohérence avec les définitions données pour chaque ligne et chaque colonne. Le jeu se résume donc à un raisonnement logique d'exclusion des impossibilités pour en déduire des certitudes.

Voici un exemple d'un Kakuro:


J'ai fait un petit outil en Panoramic pur qui permet d'avoir les décompositions additives de n'importe quel nombre entre 1 et 45 (45=1+2+3+4+5+6+7+8+9). Et pour plus de facilité, on peut avoir deux décompositions côte à côte, afin de mieux relever les possibles et impossibles. Voici le code de Kakuro_Aide.bas:
Code:
' Kakuro_Aide.bas

label go1, go2, moins1, moins2

dim i%, j%, n%, nn%, nt%, nd%, s$
dim tableau%(550,9), nombres%(550)

width 0,310 : height 0,450

alpha 10 : top 10,10 : left 10,10 : caption 10,"Nombre à décomposer:"
spin 11 : top 11,30 : left 11,10 : width 11,50 : min 11,1 : max 11,45 : position 11,1
alpha 12 : top 12,60 : left 12,10 : caption 12,"Nombre de chiffres:"
spin 13 : top 13,80 : left 13,10 : width 13,50 : min 13,0 : max 13,9 : position 13,0
button 20 : top 20,110 : left 20,10 : caption 20,"Décomposer" : on_click 20,go1
button 21 : top 21,130 : left 21,110 : width 21,30 : caption 21,"X" : on_click 21,moins1

list 30 : top 30,150 : left 30,10 : width 30,130 : height 30,250

alpha 110 : top 110,10 : left 110,150 : caption 110,"Nombre à décomposer:"
spin 111 : top 111,30 : left 111,150 : width 111,50 : min 111,1 : max 111,45 : position 111,1
alpha 112 : top 112,60 : left 112,150 : caption 112,"Nombre de chiffres:"
spin 113 : top 113,80 : left 113,150 : width 113,50 : min 113,0 : max 113,9 : position 113,0
button 120 : top 120,110 : left 120,150 : caption 120,"Décomposer" : on_click 120,go2
button 121 : top 121,130 : left 121,250 : width 121,30 : caption 121,"X" : on_click 121,moins2

list 130 : top 130,150 : left 130,150 : width 130,130 : height 130,250

read n%
while n%<>0
  if n%<0
    nn% = 0 - n%
  else
    nt% = nt% + 1
    nombres%(nt%) = nn%
    tableau%(nt%,1) = n%
    for i%=1 to nn%-1
      read n%
      tableau%(nt%,1+i%) = n%
    next i%
    read n%
    tableau%(nt%,0) = n%
  end_if
  read n%
end_while

end

go1:
  clear 30
  n% = position(11)
  nd% = position(13)
  for i%=1 to nt%
    if (nd%=0) or (nombres%(i%)=nd%)
      if tableau%(i%,0)=n%
        s$ = str$(nombres%(i%))+": "
        for j%=1 to nombres%(i%)
          s$ = s$ + str$(tableau%(i%,j%))+"+"
        next j%
        item_add 30,left$(s$,len(s$)-1) : ' +"  "+str$(nd%)
      end_if
    end_if
  next i%
  return
 
moins1:
  if item_index(30)>0 then item_delete 30,item_index(30)
  return
 
go2:
  clear 130
  n% = position(111)
  nd% = position(113)
  for i%=1 to nt%
    if (nd%=0) or (nombres%(i%)=nd%)
      if tableau%(i%,0)=n%
        s$ = str$(nombres%(i%))+": "
        for j%=1 to nombres%(i%)
          s$ = s$ + str$(tableau%(i%,j%))+"+"
        next j%
        item_add 130,left$(s$,len(s$)-1)
      end_if
    end_if
  next i%
  return

moins2:
  if item_index(130)>0 then item_delete 130,item_index(130)
  return

data -1
data -2
data 1,2,3
data 1,3,4
data 1,4,5
data 2,3,5
data 1,5,6
data 2,4,6
data 1,6,7
data 2,5,7
data 3,4,7
data 1,7,8
data 2,6,8
data 3,5,8
data 1,8,9
data 2,7,9
data 3,6,9
data 4,5,9
data 1,9,10
data 2,8,10
data 3,7,10
data 4,6,10
data 2,9,11
data 3,8,11
data 4,7,11
data 5,6,11
data 3,9,12
data 4,8,12
data 5,7,12
data 4,9,13
data 5,8,13
data 6,7,13
data 5,9,14
data 6,8,14
data 6,9,15
data 7,8,15
data 7,9,16
data 8,9,17
data -3
data 1,2,3,6
data 1,2,4,7
data 1,2,5,8
data 1,3,4,8
data 1,2,6,9
data 1,3,5,9
data 2,3,4,9
data 1,2,7,10
data 1,3,6,10
data 1,4,5,10
data 2,3,5,10
data 1,2,8,11
data 1,3,7,11
data 1,4,6,11
data 2,3,6,11
data 2,4,5,11
data 1,2,9,12
data 1,3,8,12
data 1,4,7,12
data 1,5,6,12
data 2,3,7,12
data 2,4,6,12
data 3,4,5,12
data 1,3,9,13
data 1,4,8,13
data 1,5,7,13
data 2,3,8,13
data 2,4,7,13
data 2,5,6,13
data 3,4,6,13
data 1,4,9,14
data 1,5,8,14
data 1,6,7,14
data 2,3,9,14
data 2,4,8,14
data 2,5,7,14
data 3,4,7,14
data 3,5,6,14
data 1,5,9,15
data 1,6,8,15
data 2,4,9,15
data 2,5,8,15
data 2,6,7,15
data 3,4,8,15
data 3,5,7,15
data 4,5,6,15
data 1,6,9,16
data 1,7,8,16
data 2,5,9,16
data 2,6,8,16
data 3,4,9,16
data 3,5,8,16
data 3,6,7,16
data 4,5,7,16
data 1,7,9,17
data 2,6,9,17
data 2,7,8,17
data 3,5,9,17
data 3,6,8,17
data 4,5,8,17
data 4,6,7,17
data 1,8,9,18
data 2,7,9,18
data 3,6,9,18
data 3,7,8,18
data 4,5,9,18
data 4,6,8,18
data 5,6,7,18
data 2,8,9,19
data 3,7,9,19
data 4,6,9,19
data 4,7,8,19
data 5,6,8,19
data 3,8,9,20
data 4,7,9,20
data 5,6,9,20
data 5,7,8,20
data 4,8,9,21
data 5,7,9,21
data 6,7,8,21
data 5,8,9,22
data 6,7,9,22
data 6,8,9,23
data 7,8,9,24
data -4
data 1,2,3,4,10
data 1,2,3,5,11
data 1,2,3,6,12
data 1,2,4,5,12
data 1,2,3,7,13
data 1,2,4,6,13
data 1,3,4,5,13
data 1,2,3,8,14
data 1,2,4,7,14
data 1,2,5,6,14
data 1,3,4,6,14
data 2,3,4,5,14
data 1,2,3,9,15
data 1,2,4,8,15
data 1,2,5,7,15
data 1,3,4,7,15
data 1,3,5,6,15
data 2,3,4,6,15
data 1,2,4,9,16
data 1,2,5,8,16
data 1,2,6,7,16
data 1,3,4,8,16
data 1,3,5,7,16
data 1,4,5,6,16
data 2,3,4,7,16
data 2,3,5,6,16
data 1,2,5,9,17
data 1,2,6,8,17
data 1,3,4,9,17
data 1,3,5,8,17
data 1,3,6,7,17
data 1,4,5,7,17
data 2,3,4,8,17
data 2,3,5,7,17
data 2,4,5,6,17
data 1,2,6,9,18
data 1,2,7,8,18
data 1,3,5,9,18
data 1,3,6,8,18
data 1,4,5,8,18
data 1,4,6,7,18
data 2,3,4,9,18
data 2,3,5,8,18
data 2,3,6,7,18
data 2,4,5,7,18
data 3,4,5,6,18
data 1,2,7,9,19
data 1,3,6,9,19
data 1,3,7,8,19
data 1,4,5,9,19
data 1,4,6,8,19
data 1,5,6,7,19
data 2,3,5,9,19
data 2,3,6,8,19
data 2,4,5,8,19
data 2,4,6,7,19
data 3,4,5,7,19
data 1,2,8,9,20
data 1,3,7,9,20
data 1,4,6,9,20
data 1,4,7,8,20
data 1,5,6,8,20
data 2,3,6,9,20
data 2,3,7,8,20
data 2,4,5,9,20
data 2,4,6,8,20
data 2,5,6,7,20
data 3,4,5,8,20
data 3,4,6,7,20
data 1,3,8,9,21
data 1,4,7,9,21
data 1,5,6,9,21
data 1,5,7,8,21
data 2,3,7,9,21
data 2,4,6,9,21
data 2,4,7,8,21
data 2,5,6,8,21
data 3,4,5,9,21
data 3,4,6,8,21
data 3,5,6,7,21
data 1,4,8,9,22
data 1,5,7,9,22
data 1,6,7,8,22
data 2,3,8,9,22
data 2,4,7,9,22
data 2,5,6,9,22
data 2,5,7,8,22
data 3,4,6,9,22
data 3,4,7,8,22
data 3,5,6,8,22
data 4,5,6,7,22
data 1,5,8,9,23
data 1,6,7,9,23
data 2,4,8,9,23
data 2,5,7,9,23
data 2,6,7,8,23
data 3,4,7,9,23
data 3,5,6,9,23
data 3,5,7,8,23
data 4,5,6,8,23
data 1,6,8,9,24
data 2,5,8,9,24
data 2,6,7,9,24
data 3,4,8,9,24
data 3,5,7,9,24
data 3,6,7,8,24
data 4,5,6,9,24
data 4,5,7,8,24
data 1,7,8,9,25
data 2,6,8,9,25
data 3,5,8,9,25
data 3,6,7,9,25
data 4,5,7,9,25
data 4,6,7,8,25
data 2,7,8,9,26
data 3,6,8,9,26
data 4,5,8,9,26
data 4,6,7,9,26
data 5,6,7,8,26
data 3,7,8,9,27
data 4,6,8,9,27
data 5,6,7,9,27
data 4,7,8,9,28
data 5,6,8,9,28
data 5,7,8,9,29
data 6,7,8,9,30
data -5
data 1,2,3,4,5,15
data 1,2,3,4,6,16
data 1,2,3,4,7,17
data 1,2,3,5,6,17
data 1,2,3,4,8,18
data 1,2,3,5,7,18
data 1,2,4,5,6,18
data 1,2,3,4,9,19
data 1,2,3,5,8,19
data 1,2,3,6,7,19
data 1,2,4,5,7,19
data 1,3,4,5,6,19
data 1,2,3,5,9,20
data 1,2,3,6,8,20
data 1,2,4,5,8,20
data 1,2,4,6,7,20
data 1,3,4,5,7,20
data 2,3,4,5,6,20
data 1,2,3,6,9,21
data 1,2,3,7,8,21
data 1,2,4,5,9,21
data 1,2,4,6,8,21
data 1,2,5,6,7,21
data 1,3,4,5,8,21
data 1,3,4,6,7,21
data 2,3,4,5,7,21
data 1,2,3,7,9,22
data 1,2,4,6,9,22
data 1,2,4,7,8,22
data 1,2,5,6,8,22
data 1,3,4,5,9,22
data 1,3,4,6,8,22
data 1,3,5,6,7,22
data 2,3,4,5,8,22
data 2,3,4,6,7,22
data 1,2,3,8,9,23
data 1,2,4,7,9,23
data 1,2,5,6,9,23
data 1,2,5,7,8,23
data 1,3,4,6,9,23
data 1,3,4,7,8,23
data 1,3,5,6,8,23
data 1,4,5,6,7,23
data 2,3,4,5,9,23
data 2,3,4,6,8,23
data 2,3,5,6,7,23
data 1,2,4,8,9,24
data 1,2,5,7,9,24
data 1,2,6,7,8,24
data 1,3,4,7,9,24
data 1,3,5,6,9,24
data 1,3,5,7,8,24
data 1,4,5,6,8,24
data 2,3,4,6,9,24
data 2,3,4,7,8,24
data 2,3,5,6,8,24
data 2,4,5,6,7,24
data 1,2,5,8,9,25
data 1,2,6,7,9,25
data 1,3,4,8,9,25
data 1,3,5,7,9,25
data 1,3,6,7,8,25
data 1,4,5,6,9,25
data 1,4,5,7,8,25
data 2,3,4,7,9,25
data 2,3,5,6,9,25
data 2,3,5,7,8,25
data 2,4,5,6,8,25
data 3,4,5,6,7,25
data 1,2,6,8,9,26
data 1,3,5,8,9,26
data 1,3,6,7,9,26
data 1,4,5,7,9,26
data 1,4,6,7,8,26
data 2,3,4,8,9,26
data 2,3,5,7,9,26
data 2,3,6,7,8,26
data 2,4,5,6,9,26
data 2,4,5,7,8,26
data 3,4,5,6,8,26
data 1,2,7,8,9,27
data 1,3,6,8,9,27
data 1,4,5,8,9,27
data 1,4,6,7,9,27
data 1,5,6,7,8,27
data 2,3,5,8,9,27
data 2,3,6,7,9,27
data 2,4,5,7,9,27
data 2,4,6,7,8,27
data 3,4,5,6,9,27
data 3,4,5,7,8,27
data 1,3,7,8,9,28
data 1,4,6,8,9,28
data 1,5,6,7,9,28
data 2,3,6,8,9,28
data 2,4,5,8,9,28
data 2,4,6,7,9,28
data 2,5,6,7,8,28
data 3,4,5,7,9,28
data 3,4,6,7,8,28
data 1,4,7,8,9,29
data 1,5,6,8,9,29
data 2,3,7,8,9,29
data 2,4,6,8,9,29
data 2,5,6,7,9,29
data 3,4,5,8,9,29
data 3,4,6,7,9,29
data 3,5,6,7,8,29
data 1,5,7,8,9,30
data 2,4,7,8,9,30
data 2,5,6,8,9,30
data 3,4,6,8,9,30
data 3,5,6,7,9,30
data 4,5,6,7,8,30
data 1,6,7,8,9,31
data 2,5,7,8,9,31
data 3,4,7,8,9,31
data 3,5,6,8,9,31
data 4,5,6,7,9,31
data 2,6,7,8,9,32
data 3,5,7,8,9,32
data 4,5,6,8,9,32
data 3,6,7,8,9,33
data 4,5,7,8,9,33
data 4,6,7,8,9,34
data 5,6,7,8,9,35
data -6
data 1,2,3,4,5,6,21
data 1,2,3,4,5,7,22
data 1,2,3,4,5,8,23
data 1,2,3,4,6,7,23
data 1,2,3,4,5,9,24
data 1,2,3,4,6,8,24
data 1,2,3,5,6,7,24
data 1,2,3,4,6,9,25
data 1,2,3,4,7,8,25
data 1,2,3,5,6,8,25
data 1,2,4,5,6,7,25
data 1,2,3,4,7,9,26
data 1,2,3,5,6,9,26
data 1,2,3,5,7,8,26
data 1,2,4,5,6,8,26
data 1,3,4,5,6,7,26
data 1,2,3,4,8,9,27
data 1,2,3,5,7,9,27
data 1,2,3,6,7,8,27
data 1,2,4,5,6,9,27
data 1,2,4,5,7,8,27
data 1,3,4,5,6,8,27
data 2,3,4,5,6,7,27
data 1,2,3,5,8,9,28
data 1,2,3,6,7,9,28
data 1,2,4,5,7,9,28
data 1,2,4,6,7,8,28
data 1,3,4,5,6,9,28
data 1,3,4,5,7,8,28
data 2,3,4,5,6,8,28
data 1,2,3,6,8,9,29
data 1,2,4,5,8,9,29
data 1,2,4,6,7,9,29
data 1,2,5,6,7,8,29
data 1,3,4,5,7,9,29
data 1,3,4,6,7,8,29
data 2,3,4,5,6,9,29
data 2,3,4,5,7,8,29
data 1,2,3,7,8,9,30
data 1,2,4,6,8,9,30
data 1,2,5,6,7,9,30
data 1,3,4,5,8,9,30
data 1,3,4,6,7,9,30
data 1,3,5,6,7,8,30
data 2,3,4,5,7,9,30
data 2,3,4,6,7,8,30
data 1,2,4,7,8,9,31
data 1,2,5,6,8,9,31
data 1,3,4,6,8,9,31
data 1,3,5,6,7,9,31
data 1,4,5,6,7,8,31
data 2,3,4,5,8,9,31
data 2,3,4,6,7,9,31
data 2,3,5,6,7,8,31
data 1,2,5,7,8,9,32
data 1,3,4,7,8,9,32
data 1,3,5,6,8,9,32
data 1,4,5,6,7,9,32
data 2,3,4,6,8,9,32
data 2,3,5,6,7,9,32
data 2,4,5,6,7,8,32
data 1,2,6,7,8,9,33
data 1,3,5,7,8,9,33
data 1,4,5,6,8,9,33
data 2,3,4,7,8,9,33
data 2,3,5,6,8,9,33
data 2,4,5,6,7,9,33
data 3,4,5,6,7,8,33
data 1,3,6,7,8,9,34
data 1,4,5,7,8,9,34
data 2,3,5,7,8,9,34
data 2,4,5,6,8,9,34
data 3,4,5,6,7,9,34
data 1,4,6,7,8,9,35
data 2,3,6,7,8,9,35
data 2,4,5,7,8,9,35
data 3,4,5,6,8,9,35
data 1,5,6,7,8,9,36
data 2,4,6,7,8,9,36
data 3,4,5,7,8,9,36
data 2,5,6,7,8,9,37
data 3,4,6,7,8,9,37
data 3,5,6,7,8,9,38
data 4,5,6,7,8,9,39
data -7
data 1,2,3,4,5,6,7,28
data 1,2,3,4,5,6,8,29
data 1,2,3,4,5,6,9,30
data 1,2,3,4,5,7,8,30
data 1,2,3,4,5,7,9,31
data 1,2,3,4,6,7,8,31
data 1,2,3,4,5,8,9,32
data 1,2,3,4,6,7,9,32
data 1,2,3,5,6,7,8,32
data 1,2,3,4,6,8,9,33
data 1,2,3,5,6,7,9,33
data 1,2,4,5,6,7,8,33
data 1,2,3,4,7,8,9,34
data 1,2,3,5,6,8,9,34
data 1,2,4,5,6,7,9,34
data 1,3,4,5,6,7,8,34
data 1,2,3,5,7,8,9,35
data 1,2,4,5,6,8,9,35
data 1,3,4,5,6,7,9,35
data 2,3,4,5,6,7,8,35
data 1,2,3,6,7,8,9,36
data 1,2,4,5,7,8,9,36
data 1,3,4,5,6,8,9,36
data 2,3,4,5,6,7,9,36
data 1,2,4,6,7,8,9,37
data 1,3,4,5,7,8,9,37
data 2,3,4,5,6,8,9,37
data 1,2,5,6,7,8,9,38
data 1,3,4,6,7,8,9,38
data 2,3,4,5,7,8,9,38
data 1,3,5,6,7,8,9,39
data 2,3,4,6,7,8,9,39
data 1,4,5,6,7,8,9,40
data 2,3,5,6,7,8,9,40
data 2,4,5,6,7,8,9,41
data 3,4,5,6,7,8,9,42
data -8
data 1,2,3,4,5,6,7,8,36
data 1,2,3,4,5,6,7,9,37
data 1,2,3,4,5,6,8,9,38
data 1,2,3,4,5,7,8,9,39
data 1,2,3,4,6,7,8,9,40
data 1,2,3,5,6,7,8,9,41
data 1,2,4,5,6,7,8,9,42
data 1,3,4,5,6,7,8,9,43
data 2,3,4,5,6,7,8,9,44
data -9
data 1,2,3,4,5,6,7,8,9,45
data 0

Et voici ce que ça donne en cours de jeu:

On voit que dans la première colonne, le nombre 17 ne peut se composer que de 7 et 9. Et dans la 6ème ligne, le nombre 16 ne peut être composé que de 7 et 9. Or,le seul nombre commun est le 9, et il doit donc se trouver dans la case commune de ces deux définitions. La place des autres nombres de ces deux définitions en découlent directement. Et ainsi de suite.

EDIT

J'ai ajouté un bouton "X" sur chacune des deux listes de décomposition, afin de pouvoir éliminer la possibilité qui est sélectionnée. Ceci permet de réduire visuellement la liste des combinaisons aux combinaisons acceptables, selon le contexte. Il suffit de recliquer sur le bouton "Décomposer" pour obtenir à nouveau toutes les possibilités.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Jicehel

avatar

Nombre de messages : 5858
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: Aide à la résolution d'un Kakuro   Sam 6 Déc 2014 - 13:19

Superbe Klaus. Plus qu'à nous faire un jeu de Sakuro maintenant Wink (Je sais il en existe sur le web, mais pas encore en Panoramic). En tout cas c'est un bel outil pour quand on bloque.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
 
Aide à la résolution d'un Kakuro
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Aide à la résolution d'un Kakuro
» Un autre mystère
» besion d'aide language html lecteur de musique !! (Résolu)
» Solution qui bloque les virus avant qu’ils ne se propagent
» Aide TC Gold en français

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos sources, vos utilitaires à partager-
Sauter vers: