Divertissement

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
brossden
Messages : 833
Inscription : lun. 26/janv./2004 14:37

Divertissement

Message par brossden »

Juste pour le plaisir vous pouvez tester ce petit programme !

Code : Tout sélectionner

Global x.s, t.s
Global FontID1
FontID1 =  LoadFont(1, "Arial Black", 10)
t="Pensez vous que l'ordinateur puisse lire dans vos pensées ?"+Chr(13)+Chr(13)
t+"Choisissez un nombre entier entre 1 et 99 (prenons par exemple 67)."+Chr(13)+Chr(13)
t+ " Soustrayez de ce nombre la somme des chiffres qui le composent."+Chr(13)
t+"(dans notre exemple, ça donne : 67 - 6 - 7 = 54)"+Chr(13)
t+"Regardez le tableau derrière cette fenêtre après avoir cliqué sur 'OK' "+Chr(13)
t+"il fait correspondre à chaque nombre un symbole."+Chr(13)
t+"Cherchez le symbole qui correspond au votre et répétez le dans votre tête pendant 5 secondes."+Chr(13)
t+"Enfin, cliquez sur Deviner !"+Chr(13)
Enumeration
  #Window_0 : #ListIcon_0 : #Button_0
EndEnumeration
Procedure Open_Window_0()
  If OpenWindow(#Window_0, 0, 0, 750, 320, "Lecteur de pensée",  #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar|#PB_Window_ScreenCentered )
    If CreateGadgetList(WindowID(#Window_0))
      ListIconGadget(#ListIcon_0, 20, 20, 705, 230, "", 70, #PB_ListIcon_GridLines)
      SetGadgetFont(#ListIcon_0, FontID1)
      AddGadgetColumn(#ListIcon_0, 1, "", 70) : AddGadgetColumn(#ListIcon_0, 2, "", 70)
      AddGadgetColumn(#ListIcon_0, 3, "", 70) : AddGadgetColumn(#ListIcon_0, 4, "", 70)
      AddGadgetColumn(#ListIcon_0, 5, "", 70) : AddGadgetColumn(#ListIcon_0, 6, "", 70)
      AddGadgetColumn(#ListIcon_0, 7, "", 70) : AddGadgetColumn(#ListIcon_0, 8, "", 70)
      AddGadgetColumn(#ListIcon_0, 9, "", 70)
      ButtonGadget(#Button_0 ,300,250,120,20,"Deviner")
    EndIf
  EndIf
EndProcedure
Procedure Remplir()
  l=0
  MessageRequester("Explication",t)
  HideGadget(#ListIcon_0,0)
  HideGadget(#Button_0,0)
  For l = 1 To 10
    If l=1
      x.s=Chr(Random(222)+33)
      AddGadgetItem(#ListIcon_0,-1,RSet(Str(l*10-10),2,"0")+"    "+x)
    Else
      AddGadgetItem(#ListIcon_0,-1,RSet(Str(l*10-10),2,"0")+"    "+Chr(Random(222)+33))
    EndIf
    For c = 1 To 9
      SetGadgetItemText(#ListIcon_0,l-1,RSet(Str(l*10-10+c),2,"0")+"    "+Chr(Random(222)+33),c)
      If l+c=10
        SetGadgetItemText(#ListIcon_0,l-1,RSet(Str(l*10-10+c),2,"0")+"    "+x,c)
      EndIf
    Next
  Next
EndProcedure

Open_Window_0()
Remplir()

Repeat ; Start of the event loop
  Event = WaitWindowEvent() ; This line waits until an event is received from Windows
  GadgetID = EventGadget() ; Is it a gadget event?
  If Event = #PB_Event_Gadget
    If GadgetID =   #Button_0 
      If GetGadgetText(#Button_0)="Deviner"
        SetGadgetText(#Button_0,"Recommencer")
        HideGadget(#ListIcon_0,1)
        HideGadget(#Button_0,1)
        Rep = MessageRequester("Résultat :","Le symbole choisi est >  "+x+"  < dans vos pensées !"+Chr(13)+Chr(13)+Space(25)+"Magique NON ?",1)
        If Rep=2 
          End
        EndIf
        Remplir()
        SetGadgetText(#Button_0,"Deviner") 
      EndIf
    EndIf
  EndIf
Until Event = #PB_Event_CloseWindow ; End of the event loop
End
Denis

Bonne Jounée à tous
Neosis
Messages : 113
Inscription : dim. 24/févr./2008 20:11

Message par Neosis »

Pas mal !!
Je ne comprend pas! ça à marché!
J'ai choisi 50 donc - 5 =45 et la hop l'ordi me dit 45 vraiment très fort ... j'ai essayé 3 fois de suite et ça a fonctionné a chaque fois

pas mal :)


EDIT : J'ai compris comment ça fonctionne!!!
MAIS ya une erreur! :D le programme va trouver le bon symbole à chaque fois SAUF si vous passez la première tentative et si vous choisissez
un nombre entre 0 et 9 sinon c'est plutôt bien penser.


En faites la solution au problème est simple il faut effacer les lignes créer, sinon on ajoute les lignes au mauvais endroit! Donc au début de la procédure "remplir" il faut mettre "ClearGadgetItemList(#ListIcon_0)"
Dernière modification par Neosis le ven. 06/juin/2008 17:33, modifié 2 fois.
Ollivier
Messages : 4197
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

Message par Ollivier »

Un tour d'illusion très sympa !
brossden
Messages : 833
Inscription : lun. 26/janv./2004 14:37

Message par brossden »

Merci à vous d'avoir testé !
Denis

Bonne Jounée à tous
Répondre