toujours pour l'éducation de mes petits-enfants, depuis la dernière rentrée je crée des petits programmes ludiques et j'ai pensé à ceux qui sont papas ou mamans et à leurs enfants.
C'est pourquoi, pour ceux que ça intéresse, je les partage avec vous.
Code : Tout sélectionner
; Les adjectifs démonstratifs ce, cet, cette ou ces
EnableExplicit
Enumeration Fenetre
#Fenetre_principale
EndEnumeration
Enumeration Gadgets
#Cmb_1
#Cmb_2
#Cmb_3
#Cmb_4
#Cmb_5
#Cmb_6
#Cmb_7
#Cmb_8
#Cmb_9
#Cmb_10
#Str_Score
#Str_Titre
#Str_1
#Str_2
#Str_3
#Str_4
#Str_5
#Str_6
#Str_7
#Str_8
#Str_10
#Str_11
#Str_12
#Str_13
#Str_14
#Str_15
#Str_16
#Str_17
#Str_18
#Str_Signature
#Btn_Quitter
#Btn_Suivant
EndEnumeration
Enumeration Polices
#Police_12_Gras
#Police
EndEnumeration
#Nb_Donnees = 7
#Nb_Serie = 6
Global Evenement, i, j, Serie = 1, Score = 0, Points.s = "", Dim Prefixe.s(#Nb_Donnees), Dim Adjectif.s(#Nb_Donnees), Dim Suffixe.s(#Nb_Donnees), Dim Reponse.s(#Nb_Donnees), Dim Verif.b(#Nb_Donnees)
LoadFont(#Police_12_Gras, "Arial Nova", 12, #PB_Font_Bold|#PB_Font_HighQuality)
LoadFont(#Police, "Arial Nova", 12)
SetGadgetFont(#PB_Default, FontID(#Police))
Declare Programme_principal()
Declare Lire_Donnees(Serie)
Lire_Donnees(Serie)
Procedure Lire_Donnees(Serie)
Select Serie
Case 1
Restore S1
Case 2
Restore S2
Case 3
Restore S3
EndSelect
i = 0
While i <= #Nb_Donnees
Read$ Prefixe(i)
Read$ Adjectif(i)
Read$ Suffixe(i)
Reponse(i) = Adjectif(i)
Verif(i) = #False
i + 1
Wend
RandomizeArray(Adjectif())
Programme_principal()
EndProcedure
Procedure Suivant()
Select EventType()
Case #PB_EventType_LeftClick
If Serie < #Nb_Serie
Serie + 1
j = 0
i = #Str_1
While i <= #Str_8
HideGadget(i, 0)
i + 1
j + 1
Wend
Lire_Donnees(Serie)
Else
HideGadget(#Btn_Suivant, #True)
EndIf
EndSelect
EndProcedure
Procedure Compliment(Note.b = 0)
If Note = #True
Score + 10
MessageRequester("Bien", "C'est une excellente réponse"+#CRLF$+#CRLF$+"Ton score est de " + Score + " points", #PB_MessageRequester_Info)
Else
Score - 5
MessageRequester("Pas glop !!!", "Réponse complètement fausse"+#CRLF$+"Regarde ta réponse"+#CRLF$+"et clique sur le bouton Ok"+#CRLF$+"pour redonner une nouvelle réponse"+#CRLF$+#CRLF$+"Tu as perdu 5 points, ton score est de " + Score, #PB_MessageRequester_Info)
EndIf
If Score <= 0
Points = " POINT"
Else
Points = " POINTS"
EndIf
SetGadgetText(#Str_Score, "SCORE : " + Str(Score) + Points)
EndProcedure
Procedure Valider()
If Verif(EventGadget()) = #False
Select EventGadget()
Case #Cmb_1 To #Cmb_10
If GetGadgetText(EventGadget()) = Reponse(EventGadget())
Verif(EventGadget()) = #True
Compliment(#True)
Else
Compliment(#False)
EndIf
EndSelect
EndIf
EndProcedure
Procedure Quitter()
Select EventType()
Case #PB_EventType_LeftClick
CloseWindow(#Fenetre_principale)
End
EndSelect
EndProcedure
Procedure Programme_principal()
If OpenWindow(#Fenetre_principale, 0, 0, 670, 460, "Les adjectifs démonstratifs", #PB_Window_BorderLess | #PB_Window_ScreenCentered)
StringGadget(#Str_Titre, 20, 20, 630, 30, "Les adjectifs démonstratifs ce, cet, cette ou ces ?", #ES_CENTER)
StringGadget(#Str_1, 20, 60, 150, 30, "",#ES_RIGHT) : ComboBoxGadget(#Cmb_1, 180, 60, 100, 30) : StringGadget(#Str_11, 290, 60, 360, 30, "")
StringGadget(#Str_2, 20, 100, 150, 30, "",#ES_RIGHT) : ComboBoxGadget(#Cmb_2, 180, 100, 100, 30) : StringGadget(#Str_12, 290, 100, 360, 30, "")
StringGadget(#Str_3, 20, 140, 150, 30, "",#ES_RIGHT) : ComboBoxGadget(#Cmb_3, 180, 140, 100, 30) : StringGadget(#Str_13, 290, 140, 360, 30, "")
StringGadget(#Str_4, 20, 180, 150, 30, "",#ES_RIGHT) : ComboBoxGadget(#Cmb_4, 180, 180, 100, 30) : StringGadget(#Str_14, 290, 180, 360, 30, "")
StringGadget(#Str_5, 20, 220, 150, 30, "",#ES_RIGHT) : ComboBoxGadget(#Cmb_5, 180, 220, 100, 30) : StringGadget(#Str_15, 290, 220, 360, 30, "")
StringGadget(#Str_6, 20, 260, 150, 30, "",#ES_RIGHT) : ComboBoxGadget(#Cmb_6, 180, 260, 100, 30) : StringGadget(#Str_16, 290, 260, 360, 30, "")
StringGadget(#Str_7, 20, 300, 150, 30, "",#ES_RIGHT) : ComboBoxGadget(#Cmb_7, 180, 300, 100, 30) : StringGadget(#Str_17, 290, 300, 360, 30, "")
StringGadget(#Str_8, 20, 340, 150, 30, "",#ES_RIGHT) : ComboBoxGadget(#Cmb_8, 180, 340, 100, 30) : StringGadget(#Str_18, 290, 340, 360, 30, "")
StringGadget(#Str_Signature, 20, 420, 630, 30, "Ce logiciel a été conçu et réalisé par Micoute", #ES_CENTER)
StringGadget(#Str_Score, 250, 380, 170, 30, "", #ES_CENTER)
ButtonGadget(#Btn_Quitter, 20, 380, 150, 30, "Quitter")
ButtonGadget(#Btn_Suivant, 500, 380, 150, 30, "Suivant")
;Affectations
j = 0
i = #Str_1
While i <= #Str_8
SetGadgetText(i, Prefixe(j))
If Prefixe(j) = ""
HideGadget(i, 1)
EndIf
i + 1
j + 1
Wend
i = #Cmb_1
While i <= #Cmb_8
j = 0
While j <= #Nb_Donnees
AddGadgetItem(i, -1, Adjectif(j))
j + 1
Wend
i + 1
Wend
j = 0
i = #Str_11
While i <= #Str_18
SetGadgetText(i, Suffixe(j))
i + 1
j + 1
Wend
SetGadgetText(#Str_Score, "SCORE : " + Str(Score) + " POINT")
;Polices
SetGadgetFont(#Str_Titre, FontID(#Police_12_Gras))
SetGadgetFont(#Str_Signature, FontID(#Police_12_Gras))
SetGadgetFont(#Btn_Quitter, FontID(#Police_12_Gras))
SetGadgetFont(#Btn_Suivant, FontID(#Police_12_Gras))
;événements liés
BindGadgetEvent(#Btn_Quitter, @Quitter())
BindGadgetEvent(#Btn_Suivant, @Suivant())
EndIf
EndProcedure
Repeat
Evenement = WaitWindowEvent()
Select Evenement
Case #PB_Event_Gadget
Select EventGadget()
Case #Cmb_1 To #Cmb_10
Valider()
EndSelect
EndSelect
ForEver
DataSection
S1:
Data$ "", "ce", " panneau indique qu'il faut s'arrêter",
"", "cette", "pomme est tombée de ",
"", "cet", " arbre",
"", "ce", "cartable et ",
"", "cette", "trousse sont à moi.",
"Répondez à ", "cette", " question",
"", "ces", " oranges et",
"", "ce", " citron feront un bon jus"
S2:
Data$ "", "ce", " rire est très comunicatif !",
"", "ce", " terrain et ",
"", "cette", " maison sont à mon grand-père.",
"J'ai ramassé ", "ces", " prunes dans",
"", "ce", " jardin.",
"Après ", "cette", " barrière et",
"", "ces", " grandes fleurs, c'est chez moi",
"", "cette", " endive a un goût amer."
S3:
Data$ "", "cet", " arrosoir me sert beaucoup dans le jardin",
"J'ai récupéré", "cette", " amende en stationnant sur",
"", "ce", " boulevard",
"", "cet", " accent est l'accent québécois",
"C'est avec", "ces", " chèvres que je fais",
"", "ce", " bon fromage.",
"", "ce", " livre est passionnant.",
"", "cette", " scène a été tournée à Paris."
S4:
Data$ "Je vous ai préparé", "ce", " bon gâteau",
"J'aimerai acheter", "cet" ," appartement.",
"J'aime beaucoup", "ce", " séjour dans",
"", "cet", " hôtel !",
"Après", "cette", " journée en plein air, je suis fatigué.",
"En automne, les feuilles de", "ces", " arbres envahissent",
"", "cette", " rue",
"Avec toute", "cette", " neige qui tombe, on ne pourra pas sortir"
S5:
Data$ "C'est dans", "cet", " hôpital que travaille",
"", "cette", " infirmière",
"À ton avis,", "ces", " clés sont à qui ?",
"Il faut que", "cet", " enfant se repose bien",
"", "cette", " nuit.",
"J'ai percé", "ce", " tuyau avec",
"", "cette", " aiguille.",
"Range", "ces", " crayons dans ta trousse."
S6:
Data$ "Le boulanger dans", "ce", " magasin fait un très bon pain.",
"Avec", "ces", " planches et",
"", "ces", " clous, je vais fabriquer un composteur",
"Dans", "cette", " soupe, j'ai mis des poireaux et des carottes.",
"Et", "ces", " carottes, c'est des légumes de mon jardin.",
"Dans", "ce", " verger, on trouve des pommes et des poires.",
"C'est dans", "cette", " usine que l'on fabrique",
"", "cet", " outil de précision."
EndDataSection