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
» Planétarium virtuel.
par Jack Hier à 20:59

» ajouter des blancs dans un TXT
par lepetitmarocain Mer 15 Aoû 2018 - 13:00

» 11 (en analyse): commandes sur TAB et SUB_MENU.
par Jack Mar 14 Aoû 2018 - 14:10

» 10 (en analyse): Erreur sur variable locale.
par Jack Mar 14 Aoû 2018 - 14:05

» Métamatière, éternité et renouvellement
par Oscaribout Mar 14 Aoû 2018 - 12:40

» De retour...
par Yannick Lun 13 Aoû 2018 - 15:11

» bug SEVERE fnc+sub : (35)name already defined
par Oscaribout Dim 12 Aoû 2018 - 23:55

» Encadrement
par Jean Claude Dim 12 Aoû 2018 - 11:53

» Des rectangles...
par JL35 Dim 12 Aoû 2018 - 10:53

» TRIGGER_KEY_COMBINED_TOUCH
par Jean Claude Mar 7 Aoû 2018 - 20:58

» ITEM_SELECT N,L pour synedit
par Jean Claude Mar 7 Aoû 2018 - 19:11

» amélioration panoramic
par silverman Dim 5 Aoû 2018 - 18:34

» Commande file_readln.
par Pedro Alvarez Dim 5 Aoû 2018 - 17:08

» Klaus ?
par Jack Sam 4 Aoû 2018 - 22:48

» Défragmentation du disque dur
par JL35 Sam 4 Aoû 2018 - 21:06

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Août 2018
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
2728293031  
CalendrierCalendrier

Partagez | 
 

 Aide à la résolution d'un Kakuro

Aller en bas 
AuteurMessage
Klaus

avatar

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

MessageSujet: Aide à la résolution d'un Kakuro   Sam 6 Déc 2014 - 1: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 : 5929
Age : 46
Localisation : 77500
Date d'inscription : 18/04/2011

MessageSujet: Re: Aide à la résolution d'un Kakuro   Sam 6 Déc 2014 - 11: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
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: