Trouve le bon drapeau européen

Programmation avancée de jeux en PureBasic
Avatar de l’utilisateur
Micoute
Messages : 2522
Inscription : dim. 02/oct./2011 16:17
Localisation : 35520 La Mézière

Trouve le bon drapeau européen

Message par Micoute »

Bonjour à tous, toujours dans les jeux d'éveils et pour ceux que ça peut intéresser, je vous offre ce logiciel d'éveil pour les enfants à partir de 6 ans, dont le but est d'apprendre les drapeaux de l'union européenne.

Il se présente comme suit : Un drapeau est affiché et 6 réponses sont proposées.

https://www.dropbox.com/s/3hfbgrkxn9kdz ... s.zip?dl=0

Bon apprentissage.
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 5.73 PB 6.00 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Avatar de l’utilisateur
Ar-S
Messages : 9477
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Trouve le bon drapeau européen

Message par Ar-S »

Je suis une vraie bille en drapeau, ça me servira surement :)
Merci Micoute.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Avatar de l’utilisateur
venom
Messages : 3072
Inscription : jeu. 29/juil./2004 16:33
Localisation : Klyntar
Contact :

Re: Trouve le bon drapeau européen

Message par venom »

Merci du partage Micoute, ça peux toujours servir. :wink:

Perso je suis aussi une quiche en drapeau.






@++
Windows 10 x64, PureBasic 5.73 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
Bernie
Messages : 282
Inscription : mar. 22/mars/2016 10:12
Localisation : En France

Re: Trouve le bon drapeau européen

Message par Bernie »

Merci du partage
Avatar de l’utilisateur
Huitbit
Messages : 939
Inscription : jeu. 08/déc./2005 5:19
Localisation : Guadeloupe

Re: Trouve le bon drapeau européen

Message par Huitbit »

Merci bis !

Tes petits-enfants ont bien de la chance d'avoir un Papi codeur ! :D

Deux petites choses :
-une coquille : Désire-tu..... (il ne faut pas de s)
-Tu peux utiliser "ExamineDesktops()" pour adapter ta fenêtre à n'importe quel écran
car chez moi (1280*1024) ça déborde


Hasta la vista !
Elevé au MSX !
Avatar de l’utilisateur
SPH
Messages : 4726
Inscription : mer. 09/nov./2005 9:53

Re: Trouve le bon drapeau européen

Message par SPH »

je suis en 1366/768 et je ne vois que 2 choses : le fond nuageux et un drapeau. Pas de boutons, de questions, RIEN

NoRmAl ?? 8)
http://HexaScrabble.com/
!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.00 - 64 bits
Avatar de l’utilisateur
venom
Messages : 3072
Inscription : jeu. 29/juil./2004 16:33
Localisation : Klyntar
Contact :

Re: Trouve le bon drapeau européen

Message par venom »

Moi j'ai modifier la source pour avoir toute la fenêtre :wink: :D






@++
Windows 10 x64, PureBasic 5.73 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
Avatar de l’utilisateur
Micoute
Messages : 2522
Inscription : dim. 02/oct./2011 16:17
Localisation : 35520 La Mézière

Re: Trouve le bon drapeau européen

Message par Micoute »

Très bien venom, tu as trouvé la solution, car étant programmeurs, chacun peut adapter l'affichage à son écran, mais comme le dit Huitbit on peut utiliser ExamineDesktop(), alors si vous le souhaitez, je peux faire l'adaptation pour vous et mes petits-enfants bien sûr !
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 5.73 PB 6.00 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Avatar de l’utilisateur
Micoute
Messages : 2522
Inscription : dim. 02/oct./2011 16:17
Localisation : 35520 La Mézière

Re: Trouve le bon drapeau européen

Message par Micoute »

Et voilà le travail !

Code : Tout sélectionner

;Trouve le bon drapeau europeen
XIncludeFile "MesGadgets.pb"

UseModule MesGadgets
Global.iGadget *BonneReponse, *MauvaiseReponse1, *MauvaiseReponse2, *MauvaiseReponse3, *MauvaiseReponse4, *MauvaiseReponse5

Enumeration Fenetres
  #Fenetre_Question
  #Fenetre_Resultat
EndEnumeration

Enumeration Police
  #Police
  #Police2
EndEnumeration

Enumeration Gadgets
  #Bonne_Reponse
  #Mauvaise_Reponse_1
  #Mauvaise_Reponse_2
  #Mauvaise_Reponse_3
  #Mauvaise_Reponse_4
  #Mauvaise_Reponse_5
  #tReponse
  #Image_Drapeau
  #Image_Ciel
  #Image
EndEnumeration

#NbPays = 27
#Nb_Questions = 28

;{ Déclarations diverses
Structure sQuestion
  Question.i           ;La Question
  Reponse.i[6]         ;six réponses possibles, la bonne et cinq mauvaises
  ReponseUtilisateur.i ;Réponse donnée par l'utilisateur
EndStructure

Structure sEtat
  Drapeau.s
  Pays.s
EndStructure

Global Dim Etat.sEtat(#NbPays)
Global NewList Message$(), NewList QCM.sQuestion(), NewList DejaPosee()
Global Dim DejaJoue.s(#NbPays)
Global x, BonneReponse, MauvaiseReponse1, MauvaiseReponse2, MauvaiseReponse3, MauvaiseReponse4, MauvaiseReponse5, LargFen, HautFen, LargBout, HautBout
Global Points, grepondu$, Compteur, rep1$
Global Texte$, Resultat, Sortir, X1, X2, X3, X4, X5, X6, Index, Note
Global Evenement, Y1, Y2, Y3, Y4, Y5, Y6
Global Hasard, Ciel.s = "Ciel.png"
Global Police = LoadFont(#Police, "Verdana", 11, #PB_Font_Bold)
Global Police2= LoadFont(#Police2, "Arial"  , 35, #PB_Font_Bold)

UsePNGImageDecoder()

Procedure Lire_les_donnees()
  Etat(0)\Drapeau = "Allemagne.png"
  Etat(0)\Pays = "Allemagne"
  Etat(1)\Drapeau = "Autriche.png"
  Etat(1)\Pays = "Autriche"
  Etat(2)\Drapeau = "Belgique.png"
  Etat(2)\Pays = "Belgique"
  Etat(3)\Drapeau = "Bulgarie.png"
  Etat(3)\Pays = "Bulgarie"
  Etat(4)\Drapeau = "Chypre.png"
  Etat(4)\Pays = "Chypre"
  Etat(5)\Drapeau = "Croatie.png"
  Etat(5)\Pays = "Croatie"
  Etat(6)\Drapeau = "Danemark.png"
  Etat(6)\Pays = "Danemark"
  Etat(7)\Drapeau = "Espagne.png"
  Etat(7)\Pays ="Espagne"
  Etat(8)\Drapeau = "Estonie.png"
  Etat(8)\Pays = "Estonie"
  Etat(9)\Drapeau = "Finlande.png"
  Etat(9)\Pays = "Finlande"
  Etat(10)\Drapeau = "France.png"
  Etat(10)\Pays = "France"
  Etat(11)\Drapeau = "Grece.png"
  Etat(11)\Pays = "Grèce"
  Etat(12)\Drapeau = "Hongrie.png"
  Etat(12)\Pays = "Hongrie"
  Etat(13)\Drapeau = "Irlande.png"
  Etat(13)\Pays = "Irlande"
  Etat(14)\Drapeau = "Italie.png"
  Etat(14)\Pays + "Italie"
  Etat(15)\Drapeau = "Lettonie.png"
  Etat(15)\Pays = "Lettonie"
  Etat(16)\Drapeau = "Lituanie.png"
  Etat(16)\Pays = "Lituanie"
  Etat(17)\Drapeau = "Luxembourg.png"
  Etat(17)\Pays = "Luxembourg"
  Etat(18)\Drapeau = "Malte.png"
  Etat(18)\Pays = "Malte"
  Etat(19)\Drapeau = "Pays_Bas.png"
  Etat(19)\Pays = "Pays-bas"
  Etat(20)\Drapeau = "Pologne.png"
  Etat(20)\Pays = "Pologne"
  Etat(21)\Drapeau = "Portugal.png"
  Etat(21)\Pays = "Portugal"
  Etat(22)\Drapeau = "Roumanie.png"
  Etat(22)\Pays = "Roumanie"
  Etat(23)\Drapeau = "Royaume_Uni.png"
  Etat(23)\Pays = "Royaume uni"
  Etat(24)\Drapeau = "Slovaquie.png"
  Etat(24)\Pays = "Slovaquie"
  Etat(25)\Drapeau = "Slovenie.png"
  Etat(25)\Pays = "Slovènie"
  Etat(26)\Drapeau = "Suede.png"
  Etat(26)\Pays = "Suède"
  Etat(27)\Drapeau = "Tchequie.png"
  Etat(27)\Pays = "Tchéquie"
EndProcedure

Procedure Aide()
  #fenetre_Aide = 0
  #Bouton_Aide_Ok = 1
  
  AddElement(Message$()) : Message$() = "Voici le principe:"
  AddElement(Message$()) : Message$() = ""
  AddElement(Message$()) : Message$() = "Tu as une série de " + #Nb_Questions + " questions pour "+ Str(#NbPays + 1) +" pays de l'union."
  AddElement(Message$()) : Message$() = ""
  AddElement(Message$()) : Message$() = "On te propose 6 réponses possibles, pour trouver celle"
  AddElement(Message$()) : Message$() = "qui correspond au drapeau proposé, tu dois donc "
  AddElement(Message$()) : Message$() = "cliquer sur le bon bouton pour donner la bonne réponse"
  AddElement(Message$()) : Message$() = ""
  AddElement(Message$()) : Message$() = "On ne peut pas faire plus simple"
  AddElement(Message$()) : Message$() = ""
  AddElement(Message$()) : Message$() = "Il n'y a pas de chronomètre, alors prend ton temps"
  AddElement(Message$()) : Message$() = ""
  AddElement(Message$()) : Message$() = "Je te souhaite un bon divertissement"
  
  OpenWindow(#fenetre_Aide, 0, 0, 530, 400, "Aide", #PB_Window_SystemMenu | #PB_Window_TitleBar | 
                                                    #PB_Window_ScreenCentered)
  
  FirstElement(Message$())
  For Index = 0 To ListSize(Message$())-1
    TextGadget(100 + index, 0, 10 + Index * 24, 520, 24,Message$(), #PB_Text_Center)
    SetGadgetFont(100+Index, FontID(#Police))
    NextElement(Message$())
  Next
    
  ButtonGadget(#Bouton_Aide_Ok, 245, 350, 70, 30, "Ok")
  SetGadgetFont(#Bouton_Aide_Ok, FontID(#Police))
  
  SetActiveGadget(#Bouton_Aide_Ok)
  
  ;- Boucle d'évenements Aide
  Repeat
    Select WaitWindowEvent()
      Case #PB_Event_Gadget
        Select EventGadget()
          Case #Bouton_Aide_Ok
            CloseWindow(#fenetre_Aide)
            Sortir = 1
        EndSelect
      Case #PB_Event_CloseWindow
        Select EventWindow()
          Case #fenetre_Aide
            CloseWindow(#fenetre_Aide)
            Sortir = 1
            Break
        EndSelect
    EndSelect
  Until Sortir = 1
EndProcedure

Procedure Bonne_reponse()
  MessageRequester("Cool", "Trop bien !", #MB_OK)
EndProcedure

Procedure Mauvaise_reponse()
  MessageRequester("Désolé", "la réponse, c'était " + Etat(QCM()\Reponse[0])\Pays+
                             #LF$+"Retiens-le pour la pochaine fois !", #MB_OK)
EndProcedure

Procedure.s Notation()
  Protected Texte.s
  
  Points * 20/#Nb_Questions
  
  Select Points
    Case 0
      Texte = "Tu n'as répondu à aucune Question"
    Case 1 To 3
      Texte = " nul"
    Case 4 To 8
      Texte = " médiocre"
    Case 9 To 12
      Texte = " moyen"
    Case 13 To 15
      Texte = " assez bien"
    Case 16 To 18
      Texte = " très bien"
    Case 19 To 20
      Texte = " excellent"
  EndSelect
  ;Mon MessageRequester
  OpenWindow(#Fenetre_Resultat, 0, 0, 300, 120, "Bilan", 
             #PB_Window3D_Borderless | #PB_Window_ScreenCentered | #PB_Window_SystemMenu)
  TextGadget(#tReponse, 10,10, 280, 280, "Ta note est de " + Str(Points) + "/" + "20" + 
                                         #LF$ + #LF$ + "Résultat : " + Texte, #PB_Text_Center)
  SetGadgetFont(#tReponse, FontID(#Police2))
  
  Repeat
  Until WaitWindowEvent()= #PB_Event_CloseWindow
EndProcedure

Procedure placerBoutons()
  Protected Hasard
  Hasard = Random(5,0)
  
  Select Hasard
    Case 0
      X1 = 10 : X2 = (LargFen-LargBout)/2 : X3 = LargFen-LargBout-10 : X4 = 10 : X5 = (LargFen-LargBout)/2 : X6 = LargFen-LargBout-10
      Y1 = HautFen-(HautBout*2) - 20 : Y2 = HautFen-(HautBout*2) - 20 : Y3 = HautFen-(HautBout*2) - 20 : Y4 = HautFen-HautBout-10
      Y5 = HautFen-HautBout-10 : Y6 = HautFen-HautBout-10
    Case 1
      X1 = (LargFen-LargBout)/2 : X2 = LargFen-LargBout-10 : X3 = 10 : X4 = (LargFen-LargBout)/2 : X5 = LargFen-LargBout-10 : X6 = 10
      Y1 = HautFen-(HautBout*2) - 20 : Y2 = HautFen-(HautBout*2) - 20 : Y3 = HautFen-(HautBout*2) - 20 : Y4 = HautFen-HautBout-10
      Y5 = HautFen-HautBout-10 : Y6 = HautFen-HautBout-10
    Case 2
      X1 = LargFen-LargBout-10 : X2 = (LargFen-LargBout)/2 : X3 = 10 : X4 = LargFen-LargBout-10 : X5 = (LargFen-LargBout)/2 : X6 = 10
      Y1 = HautFen-(HautBout*2) - 20 : Y2 = HautFen-(HautBout*2) - 20 : Y3 = HautFen-(HautBout*2) - 20 : Y4 = HautFen-HautBout-10
      Y5 = HautFen-HautBout-10 : Y6 = HautFen-HautBout-10
    Case 3
      X1 = 10 : X2 = (LargFen-LargBout)/2 : X3 = LargFen-LargBout-10 : X4 = 10 : X5 = (LargFen-LargBout)/2 : X6 = LargFen-LargBout-10
      Y1 = HautFen-HautBout-10 : Y2 = HautFen-HautBout-10 : Y3 = HautFen-HautBout-10 : Y4 = HautFen-(HautBout*2) - 20
      Y5 = HautFen-(HautBout*2) - 20 : Y6 = HautFen-(HautBout*2) - 20
    Case 4
      X1 = (LargFen-LargBout)/2 : X2 = LargFen-LargBout-10 : X3 = 10 : X4 = (LargFen-LargBout)/2 : X5 = LargFen-LargBout-10 : X6 = 10
      Y1 = HautFen-HautBout-10 : Y2 = HautFen-HautBout-10 : Y3 = HautFen-HautBout-10 : Y4 = HautFen-(HautBout*2) - 20
      Y5 = HautFen-(HautBout*2) - 20 : Y6 = HautFen-(HautBout*2) - 20
    Case 5
      X1 = LargFen-LargBout-10 : X2 = (LargFen-LargBout)/2 : X3 = 10 : X4 = LargFen-LargBout-10 : X5 = (LargFen-LargBout)/2 : X6 = 10
      Y1 = HautFen-HautBout-10 : Y2 = HautFen-HautBout-10 : Y3 = HautFen-HautBout-10 : Y4 = HautFen-(HautBout*2) - 20
      Y5 = HautFen-(HautBout*2) - 20 : Y6 = HautFen-(HautBout*2) - 20
  EndSelect
EndProcedure

Procedure Questionnaire()
  If OpenWindow(#Fenetre_Question, 0, 0, 0, 0, "Drapeaux européens", #PB_Window_SystemMenu|#PB_Window_Maximize)
    SetWindowColor(#Fenetre_Question, $F6A6DB)
    
    LargFen = WindowWidth(#Fenetre_Question): LargBout = (LargFen - 40) / 3: HautBout = 50: HautFen = WindowHeight(0)
    
    LoadImage(#Image_Ciel, Ciel)
    ResizeImage(#Image_Ciel, LargFen, HautFen - (HautBout * 2))
    LoadImage(#Image_Drapeau, Etat(QCM()\Reponse[0])\Drapeau)
    ResizeImage(#Image_Drapeau, 500, 300)
    ImageGadget(#Image_Drapeau, (LargFen / 2)-250, 30, 500, 300, ImageID(#Image_Drapeau))
    ImageGadget(#Image_Ciel, 0, 0, LargFen, HautFen, ImageID(#Image_Ciel))
    
    placerBoutons()
    
    *BonneReponse     = GadgetCouleurBouton(#Bonne_Reponse,      X1, Y1, LargBout, HautBout, Etat(QCM()\Reponse[0])\Pays)
    *MauvaiseReponse1 = GadgetCouleurBouton(#Mauvaise_Reponse_1, X2, Y2, LargBout, HautBout, Etat(QCM()\Reponse[1])\Pays)
    *MauvaiseReponse2 = GadgetCouleurBouton(#Mauvaise_Reponse_2, X3, Y3, LargBout, HautBout, Etat(QCM()\Reponse[2])\Pays)
    *MauvaiseReponse3 = GadgetCouleurBouton(#Mauvaise_Reponse_3, X1, Y4, LargBout, HautBout, Etat(QCM()\Reponse[3])\Pays)
    *MauvaiseReponse4 = GadgetCouleurBouton(#Mauvaise_Reponse_4, X2, Y5, LargBout, HautBout, Etat(QCM()\Reponse[4])\Pays)
    *MauvaiseReponse5 = GadgetCouleurBouton(#Mauvaise_Reponse_5, X3, Y6, LargBout, HautBout, Etat(QCM()\Reponse[5])\Pays)
    
    ;Définir les couleurs
  *BonneReponse\SetGadgetColor(#PB_Gadget_BackColor, $40FF40)
  *MauvaiseReponse1\SetGadgetColor(#PB_Gadget_BackColor, $40FF40)
  *MauvaiseReponse2\SetGadgetColor(#PB_Gadget_BackColor, $40FF40)
  *MauvaiseReponse3\SetGadgetColor(#PB_Gadget_BackColor, $40FF40)
  *MauvaiseReponse4\SetGadgetColor(#PB_Gadget_BackColor, $40FF40)
  *MauvaiseReponse5\SetGadgetColor(#PB_Gadget_BackColor, $40FF40)
  
  ;Définir les polices
  *BonneReponse\SetGadgetFont(FontID(#Police2))
  *MauvaiseReponse1\SetGadgetFont(FontID(#Police2))
  *MauvaiseReponse2\SetGadgetFont(FontID(#Police2))
  *MauvaiseReponse3\SetGadgetFont(FontID(#Police2))
  *MauvaiseReponse4\SetGadgetFont(FontID(#Police2))
  *MauvaiseReponse5\SetGadgetFont(FontID(#Police2))
  
    Repeat
      grepondu$ = ""
      Select WaitWindowEvent()
        Case #PB_Event_Gadget
          Select EventGadget()
            Case #Bonne_Reponse
              Select EventType()
                Case #PB_EventType_LeftClick
                  grepondu$="bien"
                  QCM()\ReponseUtilisateur = QCM()\Reponse[0]
                  AddElement(DejaPosee())
                  DejaPosee()=QCM()\Question
              EndSelect  
            Case #Mauvaise_Reponse_1
              If EventType() = #PB_EventType_LeftClick 
                grepondu$ = "mal"
                QCM()\ReponseUtilisateur = QCM()\Reponse[1]
              EndIf  
            Case #Mauvaise_Reponse_2
              If EventType() = #PB_EventType_LeftClick
                grepondu$ = "mal"
                QCM()\ReponseUtilisateur = QCM()\Reponse[2]
              EndIf
            Case #Mauvaise_Reponse_3
              If EventType() = #PB_EventType_LeftClick
                grepondu$ = "mal"
                QCM()\ReponseUtilisateur = QCM()\Reponse[3]
              EndIf
            Case #Mauvaise_Reponse_4
              If EventType() = #PB_EventType_LeftClick
                grepondu$ = "mal"
                QCM()\ReponseUtilisateur = QCM()\Reponse[4]
              EndIf
            Case #Mauvaise_Reponse_5
              If EventType() = #PB_EventType_LeftClick
                grepondu$ = "mal"
                QCM()\ReponseUtilisateur = QCM()\Reponse[5]
              EndIf        
          EndSelect
        Case #PB_Event_CloseWindow
          Select EventWindow()
            Case #Fenetre_Question
              CloseWindow(#Fenetre_Question)
              End
          EndSelect
      EndSelect
    Until grepondu$="bien" Or grepondu$ = "mal"

    If grepondu$ = "bien"
      rep1$=*BonneReponse\GetGadgetText() 
      If rep1$ = Etat(QCM()\Reponse[0])\Pays
        Bonne_reponse()
        Points+(10/7)
      EndIf
    EndIf
    
    If grepondu$ = "mal"  
      Mauvaise_reponse()
    EndIf
    
    If Points=0
      MessageRequester("Pfff...", "Essaie de faire mieux." + #LF$ + 
                                  "Ce n'est quand même pas si dur.", #MB_ICONQUESTION)
    Else
      If Points < 2
        Texte$ = Str(Points)+" bonne réponse"
      Else
        Texte$ = Str(Points)+" bonnes réponses"
      EndIf
    EndIf
    
  EndIf
  
EndProcedure

Procedure Dispatcher_les_reponses()
  QCM()\Reponse[0] = Random(#NbPays,0)	
  QCM()\Reponse[1] = Random(#NbPays,0)
  QCM()\Reponse[2] = Random(#NbPays,0)
  QCM()\Reponse[3] = Random(#NbPays,0)
  QCM()\Reponse[4] = Random(#NbPays,0)
  QCM()\Reponse[5] = Random(#NbPays,0)
  
  If QCM()\Reponse[1] = QCM()\Reponse[0]
    QCM()\Reponse[1] = Random(#NbPays,0)
  EndIf
  If QCM()\Reponse[2] = QCM()\Reponse[0] Or 
     QCM()\Reponse[2] = QCM()\Reponse[1]
    QCM()\Reponse[2] = Random(#NbPays,0)
  EndIf   
  If QCM()\Reponse[3] = QCM()\Reponse[0] Or 
     QCM()\Reponse[3] = QCM()\Reponse[1] Or 
     QCM()\Reponse[3] = QCM()\Reponse[2]
    QCM()\Reponse[3] = Random(#NbPays,0)
  EndIf
  If QCM()\Reponse[4] = QCM()\Reponse[0] Or 
     QCM()\Reponse[4] = QCM()\Reponse[1] Or 
     QCM()\Reponse[4] = QCM()\Reponse[2] Or 
     QCM()\Reponse[4] = QCM()\Reponse[3]
    QCM()\Reponse[4] = Random(#NbPays,0)
  EndIf
  If QCM()\Reponse[5] = QCM()\Reponse[0] Or 
     QCM()\Reponse[5] = QCM()\Reponse[1] Or 
     QCM()\Reponse[5] = QCM()\Reponse[2] Or 
     QCM()\Reponse[5] = QCM()\Reponse[3] Or 
     QCM()\Reponse[5] = QCM()\Reponse[4]
    QCM()\Reponse[5] = Random(#NbPays,0)
  EndIf  
  If DejaJoue(QCM()\Reponse[0]) = "1"
    Dispatcher_les_reponses()
  EndIf 
  
  QCM()\Question = QCM()\Reponse[0]
  BonneReponse = QCM()\Reponse[0]
  MauvaiseReponse1 = QCM()\Reponse[1]
  MauvaiseReponse2 = QCM()\Reponse[2]
  MauvaiseReponse3 = QCM()\Reponse[3]
  MauvaiseReponse4 = QCM()\Reponse[4]
  MauvaiseReponse5 = QCM()\Reponse[5]
  
  ForEach DejaPosee()
    If DejaPosee()= QCM()\Question
      Dispatcher_les_reponses()
    EndIf
  Next 
EndProcedure

;Début du programme
Select MessageRequester("Question", "Veux-tu tester tes capacités dans ce Questionnaire ?", 
                        #PB_MessageRequester_YesNo)
  Case #IDYES
    Resultat = MessageRequester("","Désires-tu le mode d'emploi ?", #MB_YESNO)
    If Resultat = #PB_MessageRequester_Yes
      Aide()
    EndIf
    Lire_les_donnees()
    ;-debut du Questionnaire
    For Compteur = 1 To #Nb_Questions
      AddElement(QCM())
      Dispatcher_les_reponses()
      
      DejaJoue(QCM()\Question) = "1"
      Questionnaire()
    Next
    Notation()
  Case #IDNO
    MessageRequester("A bientôt","Reviens quand même tester tes compétences plus tard!")
    End
EndSelect
  
  Repeat 
    Evenement = WaitWindowEvent () 
  Until Evenement = #PB_Event_CloseWindow ; si on appuie sur la croix, on ferme le programme et on libère toutes les ressources
  End

Dernière modification par Micoute le dim. 10/avr./2016 19:36, modifié 2 fois.
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 5.73 PB 6.00 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Avatar de l’utilisateur
Ar-S
Messages : 9477
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Trouve le bon drapeau européen

Message par Ar-S »

Une méthode qui selon moi marche mieux qu'examinedesktop est d'ouvrir la fenettre en Maximisée. Ainsi tu as la largeur et la hauteur nécessaire qui prend en compte la barre des tâches de l'utilisateur. Et oui. Moi par exemple j'ai 1 petite barre des taches sous la principale ce qui la rend un peu plus haute. Et je ne la cache jamais. D'autres utilisateurs eux ont carrément une barre des tâches sur les cotés. Je dis cela car parfois tes prog s'ouvrent en plein ecran mais le bas de la fenêtre se retrouve derrière la barre ce qui complique les choses.
Donc mon processus :
- Ouvrir fenêtre en maximisée
- récupérée largeur et auteur de la fenêtre maximisée
- adaptation des gadgets selon ces dimensions et non selon la taille totale de l'ecran.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Avatar de l’utilisateur
Micoute
Messages : 2522
Inscription : dim. 02/oct./2011 16:17
Localisation : 35520 La Mézière

Re: Trouve le bon drapeau européen

Message par Micoute »

Ok, je vais prendre ça en compte et je vais devenir un vrai pro de le prog.

Post ci-dessus remis à jour selon le cahier des charges.
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 5.73 PB 6.00 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
comtois
Messages : 5172
Inscription : mer. 21/janv./2004 17:48
Contact :

Re: Trouve le bon drapeau européen

Message par comtois »

Huitbit a écrit : -une coquille : Désire-tu..... (il ne faut pas de s)
J'aurais mis aussi un s.Du coup j'ai vérifié vite fait, et si on peut se fier à ce site, alors oui il faut bien le s
http://leconjugueur.lefigaro.fr/conjuga ... stion.html
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
Avatar de l’utilisateur
TazNormand
Messages : 1294
Inscription : ven. 27/oct./2006 12:19
Localisation : Calvados (14)

Re: Trouve le bon drapeau européen

Message par TazNormand »

[Hors Sujet=ON]
Le S pour la 2ème personne du singulier ne s'enlève que sur les formes impératives.

Pour donner un "ordre", on écrit : Mange ta soupe !

mais pour questionner, on écrit : Manges-tu ta soupe avec des croutons ?

voili voilou
[Hors Sujet=OFF]
Image
Image
Avatar de l’utilisateur
Huitbit
Messages : 939
Inscription : jeu. 08/déc./2005 5:19
Localisation : Guadeloupe

Re: Trouve le bon drapeau européen

Message par Huitbit »

:oops: :oops:
Mea culpa, mea maxima culpa
:oops: :oops:
C'est sûr qu'il faut un "s"
J'ai confondu forme interrogative et impératif.
Je passe mes journées à corriger les fautes sur les copies des élèves.
Alors là, c'est la "tehon" !
Je vais aller me cacher au fond d'un trouuuuuuuu très profond pour manger de la soupe avec des croutons !

Sorry for the inconvenience, comme on dit !
:oops:
Elevé au MSX !
Avatar de l’utilisateur
Kwai chang caine
Messages : 6962
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Re: Trouve le bon drapeau européen

Message par Kwai chang caine »

Comme quoi les professeurs aussi peuvent être mal chaussés :wink: :lol:
Qu'est ce que j'aurais aimé que mon prof se trompe quand j'étais boutonneux...plus jamais il aurait pu me dire que j'étais une tâche :D

T'inquiètes (avec un S je pense :oops: ), pour ta réputation et ton avenir, ça restera entre amis. ... :wink:

Ce qui est dommage c'est que tu pourras plus conseiller PB à tes élèves. ...ou alors que le programme. ..surtout pas le forum FR, pour pas que ton passé te rattrape :mrgreen:

Maintenant ça leur fera une raison de plus d'apprendre l'anglais, pour frequenter le US 8)
Car il paraît que les fromages qui puent, on est les moins bons dans ce domaine. :oops:
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
Répondre