exercices sur les tables d'additions

Programmation d'applications complexes
maitre we
Messages : 42
Inscription : mer. 23/nov./2005 23:50

exercices sur les tables d'additions

Message par maitre we »

voila , j'ai pasé 2 soirs entier à faire ce programme (c'est pour les enfants qui apprennent les tables d'additions) :

Code : Tout sélectionner

Enumeration
#validation=2
EndEnumeration

;On affiche le message de bienvenu
;
MessageRequester("Calculs","Bonjour Marie , voici quelques additions",#PB_MessageRequester_Ok)
;
;

choix_init = 0
While choix_init = 0
OpenWindow(1, 0, 0, 150, 110, #PB_Window_ScreenCentered, "Table d'addition")
  CreateGadgetList(WindowID())
  ComboBoxGadget(4,5,10,140,100)
 GadgetToolTip(4,"choisir la table")
 ButtonGadget(5, 5, 45,140, 25, "Ok")
 GadgetToolTip(5,"valider")
  ButtonGadget(6, 5, 80,140, 25, "Quitter")
 GadgetToolTip(6,"Quitter le jeu")
 ActivateGadget(4)


 For a=1 To 10
      AddGadgetItem(4,-1,"Table de " + Str(a)) 
 Next
 sortie=1
 Repeat 
   Select WaitWindowEvent()
       Case #PB_Event_Gadget
         If EventGadgetID() = 6
            sortie = 0     
         EndIf

         If EventGadgetID() = 5
            sortie = 0     
         EndIf
         If EventGadgetID() = 4
            exercice2.s = GetGadgetText(4)
         EndIf
   EndSelect 

 Until sortie = 0 
 
If EventGadgetID() = 6
    CloseWindow(1)   
    sortie = 1   
    choix_init = 1
EndIf
If EventGadgetID() = 5
    CloseWindow(1)   
    sortie = 0   
EndIf


max = 9
test = 1 
exercice.s
While sortie = 0 
Select exercice2.s

  Case "Table de 10"
    Select test
     Case 1 
       exercice.s = "10 + 5" ;15
     Case 2 
       exercice.s = "10 + 3" ;13
     Case 3 
       exercice.s = "10 + 9" ;19
     Case 4 
       exercice.s = "10 + 2" ;12
     Case 5 
       exercice.s = "10 + 6" ;16
     Case 6 
       exercice.s = "10 + 4" ;14
     Case 7 
       exercice.s = "10 + 7" ;17
     Case 8 
       exercice.s = "10 + 1" ;11
     Case 9
       exercice.s = "10 + 8" ;18
    EndSelect 

  Case "Table de 9"
    Select test
     Case 1 
       exercice.s = "9 + 5" ;14
     Case 2 
       exercice.s = "9 + 3" ;12
     Case 3 
       exercice.s = "9 + 9" ;18
     Case 4 
       exercice.s = "9 + 2" ;11
     Case 5 
       exercice.s = "9 + 6" ;15
     Case 6 
       exercice.s = "9 + 4" ;13
     Case 7 
       exercice.s = "9 + 7" ;16
     Case 8 
       exercice.s = "9 + 1" ;10
     Case 9
       exercice.s = "9 + 8" ;17
    EndSelect 

  Case "Table de 8"
    Select test
     Case 1 
       exercice.s = "8 + 5" ;13
     Case 2 
       exercice.s = "8 + 3" ;11
     Case 3 
       exercice.s = "8 + 9" ;17
     Case 4 
       exercice.s = "8 + 2" ;10
     Case 5 
       exercice.s = "8 + 6" ;14
     Case 6 
       exercice.s = "8 + 4" ;12
     Case 7 
       exercice.s = "8 + 7" ;15
     Case 8 
       exercice.s = "8 + 1" ;9
     Case 9
       exercice.s = "8 + 8" ;16
    EndSelect 

  Case "Table de 7"
    Select test
     Case 1 
       exercice.s = "7 + 5" ;12
     Case 2 
       exercice.s = "7 + 3" ;10
     Case 3 
       exercice.s = "7 + 9" ;16
     Case 4 
       exercice.s = "7 + 2" ;9
     Case 5 
       exercice.s = "7 + 6" ;13
     Case 6 
       exercice.s = "7 + 4" ;11
     Case 7 
       exercice.s = "7 + 7" ;14
     Case 8 
       exercice.s = "7 + 1" ;8
     Case 9
       exercice.s = "7 + 8" ;15
    EndSelect 

   Case "Table de 6"
    Select test
     Case 1 
       exercice.s = "6 + 5" ;11
     Case 2 
       exercice.s = "6 + 3" ;9
     Case 3 
       exercice.s = "6 + 9" ;15
     Case 4 
       exercice.s = "6 + 2" ;8
     Case 5 
       exercice.s = "6 + 6" ;12
     Case 6 
       exercice.s = "6 + 4" ;10
     Case 7 
       exercice.s = "6 + 7" ;13
     Case 8 
       exercice.s = "6 + 1" ;7
     Case 9
       exercice.s = "6 + 8" ;14
    EndSelect

  Case "Table de 5"
    Select test
     Case 1 
       exercice.s = "5 + 5" ;10
     Case 2 
       exercice.s = "5 + 3" ;8
     Case 3 
       exercice.s = "5 + 9" ;14
     Case 4 
       exercice.s = "5 + 2" ;7
     Case 5 
       exercice.s = "5 + 6" ;11
     Case 6 
       exercice.s = "5 + 4" ;9
     Case 7 
       exercice.s = "5 + 7" ;12
     Case 8 
       exercice.s = "5 + 1" ;6
     Case 9
       exercice.s = "5 + 8" ;13
    EndSelect 

  Case "Table de 4"
    Select test
     Case 1 
       exercice.s = "4 + 5" ;9
     Case 2 
       exercice.s = "4 + 3" ;7
     Case 3 
       exercice.s = "4 + 9" ;13
     Case 4 
       exercice.s = "4 + 2" ;6
     Case 5 
       exercice.s = "4 + 6" ;10
     Case 6 
       exercice.s = "4 + 4" ;8
     Case 7 
       exercice.s = "4 + 7" ;11
     Case 8 
       exercice.s = "4 + 1" ;5
     Case 9
       exercice.s = "4 + 8" ;12
    EndSelect 

   Case "Table de 3"
    Select test
     Case 1 
       exercice.s = "3 + 5" ;8
     Case 2 
       exercice.s = "3 + 3" ;6
     Case 3 
       exercice.s = "3 + 9" ;12
     Case 4 
       exercice.s = "3 + 2" ;5
     Case 5 
       exercice.s = "3 + 6" ;9
     Case 6 
       exercice.s = "3 + 4" ;7
     Case 7 
       exercice.s = "3 + 7" ;10
     Case 8 
       exercice.s = "3 + 1" ;4
     Case 9
       exercice.s = "3 + 8" ;11
    EndSelect 

   Case "Table de 2"
    Select test
     Case 1 
       exercice.s = "2 + 5" ;7
     Case 2 
       exercice.s = "2 + 3" ;5
     Case 3 
       exercice.s = "2 + 9" ;11
     Case 4 
       exercice.s = "2 + 2" ;4
     Case 5 
       exercice.s = "2 + 6" ;8
     Case 6 
       exercice.s = "2 + 4" ;6
     Case 7 
       exercice.s = "2 + 7" ;9
     Case 8 
       exercice.s = "2 + 1" ;3
     Case 9
       exercice.s = "2 + 8" ;10
    EndSelect 
    
   Case "Table de 1"
    Select test
     Case 1 
       exercice.s = "1 + 5" ;6
     Case 2 
       exercice.s = "1 + 3" ;4
     Case 3 
       exercice.s = "1 + 9" ;10
     Case 4 
       exercice.s = "1 + 2" ;3
     Case 5 
       exercice.s = "1 + 6" ;7
     Case 6 
       exercice.s = "1 + 4" ;5
     Case 7 
       exercice.s = "1 + 7" ;8
     Case 8 
       exercice.s = "1 + 1" ;2
     Case 9
       exercice.s = "1 + 8" ;9
    EndSelect 


 EndSelect
 fin = 0
 OpenWindow(0, 0, 0, 220, 100, #PB_Window_ScreenCentered, exercice2 + "  --  Calcule : " + exercice.s)
 CreateGadgetList(WindowID())
 #String0 = 1
 StringGadget(#String0, 20, 5, 140, 20, "", #PB_String_Numeric)   
 GadgetToolTip(#String0,"Ecrivez le résultat ici") 
 AddKeyboardShortcut(0, #PB_Shortcut_Return, #validation)
 ButtonGadget(2, 20, 30,140, 25, "Ok")
 GadgetToolTip(2,"valider le calcul")
 ButtonGadget(3, 20, 60,140, 25, "Terminer")
 GadgetToolTip(3,"quitter le jeu")
 ActivateGadget(#String0)
  While fin = 0
    event = WaitWindowEvent()
    Select event
     Case #PB_Event_Gadget
       If EventGadgetID() = 2
          fin = 1
          sortie = 0
          resultat$ = GetGadgetText(#String0)
       EndIf
       If EventGadgetID() = 3
          sortie = 1
          fin = 1
          resultat$ = GetGadgetText(#String0)
       EndIf

     Case #PB_Event_Menu
       If EventMenuID() = #validation
         fin = 1
         sortie = 0
         resultat$ = GetGadgetText(#String0)
       EndIf
    EndSelect 
  Wend 
;
; On teste si le résultat est valide
;
  If sortie = 0
    Select exercice2.s
      Case "Table de 1"
        Select test
          Case 1 
             If resultat$ = "6"
                suivant = 1
                MessageRequester("Félicitation","Bravo Marie")
                CloseWindow(0)
             Else 
                suivant = 0
                CloseWindow(0)
                MessageRequester("Attention", "Marie , tu as fait une erreur")
             EndIf 
          Case 2 
             If resultat$ = "4"
                suivant = 1 
                MessageRequester("Félicitation","Bravo Marie")
                CloseWindow(0)
             Else 
                suivant = 0
                CloseWindow(0)
                MessageRequester("Attention", "Marie , tu as fait une erreur")
             EndIf
          Case 3 
             If resultat$ = "10"
                suivant = 1 
                MessageRequester("Félicitation","Bravo Marie")
                CloseWindow(0)
             Else 
                suivant = 0
                CloseWindow(0)
                MessageRequester("Attention", "Marie , tu as fait une erreur")
             EndIf
          Case 4 
              If resultat$ = "3"
                 suivant = 1 
                 MessageRequester("Félicitation","Bravo Marie")
                 CloseWindow(0)
              Else 
                 suivant = 0
                 CloseWindow(0)
                 MessageRequester("Attention", "Marie , tu as fait une erreur")
              EndIf
          Case 5 
              If resultat$ = "7"
                 suivant = 1 
                 MessageRequester("Félicitation","Bravo Marie")
                 CloseWindow(0)
              Else 
                 suivant = 0
                 CloseWindow(0)
                 MessageRequester("Attention", "Marie , tu as fait une erreur")
              EndIf
          Case 6 
              If resultat$ = "5"
                 suivant = 1 
                 MessageRequester("Félicitation","Bravo Marie")
                 CloseWindow(0)
              Else 
                 suivant = 0
                 CloseWindow(0)
                 MessageRequester("Attention", "Marie , tu as fait une erreur")
              EndIf
          Case 7 
              If resultat$ = "8"
                 suivant = 1 
                 MessageRequester("Félicitation","Bravo Marie")
                 CloseWindow(0)
              Else 
                 suivant = 0
                 CloseWindow(0)
                 MessageRequester("Attention", "Marie , tu as fait une erreur")
              EndIf
          Case 8 
              If resultat$ = "2"
                 suivant = 1 
                 MessageRequester("Félicitation","Bravo Marie")
                 CloseWindow(0)
              Else 
                 suivant = 0
                 CloseWindow(0)
                 MessageRequester("Attention", "Marie , tu as fait une erreur")
              EndIf
          Case 9 
              If resultat$ = "9"
                 suivant = 1
                 sortie = 1 
                 MessageRequester("Félicitation","tu as fini la table de 3")
                 CloseWindow(0)
              Else 
                 suivant = 0
                 CloseWindow(0)
                 MessageRequester("Attention", "Marie , tu as fait une erreur")
              EndIf
           EndSelect 

       Case "Table de 2"
        Select test
          Case 1 
             If resultat$ = "7"
                suivant = 1
                MessageRequester("Félicitation","Bravo Marie")
                CloseWindow(0)
             Else 
                suivant = 0
                CloseWindow(0)
                MessageRequester("Attention", "Marie , tu as fait une erreur")
             EndIf 
          Case 2 
             If resultat$ = "5"
                suivant = 1 
                MessageRequester("Félicitation","Bravo Marie")
                CloseWindow(0)
             Else 
                suivant = 0
                CloseWindow(0)
                MessageRequester("Attention", "Marie , tu as fait une erreur")
             EndIf
          Case 3 
             If resultat$ = "11"
                suivant = 1 
                MessageRequester("Félicitation","Bravo Marie")
                CloseWindow(0)
             Else 
                suivant = 0
                CloseWindow(0)
                MessageRequester("Attention", "Marie , tu as fait une erreur")
             EndIf
          Case 4 
              If resultat$ = "4"
                 suivant = 1 
                 MessageRequester("Félicitation","Bravo Marie")
                 CloseWindow(0)
              Else 
                 suivant = 0
                 CloseWindow(0)
                 MessageRequester("Attention", "Marie , tu as fait une erreur")
              EndIf
          Case 5 
              If resultat$ = "8"
                 suivant = 1 
                 MessageRequester("Félicitation","Bravo Marie")
                 CloseWindow(0)
              Else 
                 suivant = 0
                 CloseWindow(0)
                 MessageRequester("Attention", "Marie , tu as fait une erreur")
              EndIf
          Case 6 
              If resultat$ = "6"
                 suivant = 1 
                 MessageRequester("Félicitation","Bravo Marie")
                 CloseWindow(0)
              Else 
                 suivant = 0
                 CloseWindow(0)
                 MessageRequester("Attention", "Marie , tu as fait une erreur")
              EndIf
          Case 7 
              If resultat$ = "9"
                 suivant = 1 
                 MessageRequester("Félicitation","Bravo Marie")
                 CloseWindow(0)
              Else 
                 suivant = 0
                 CloseWindow(0)
                 MessageRequester("Attention", "Marie , tu as fait une erreur")
              EndIf
          Case 8 
              If resultat$ = "3"
                 suivant = 1 
                 MessageRequester("Félicitation","Bravo Marie")
                 CloseWindow(0)
              Else 
                 suivant = 0
                 CloseWindow(0)
                 MessageRequester("Attention", "Marie , tu as fait une erreur")
              EndIf
          Case 9 
              If resultat$ = "10"
                 suivant = 1
                 sortie = 1 
                 MessageRequester("Félicitation","tu as fini la table de 4")
                 CloseWindow(0)
              Else 
                 suivant = 0
                 CloseWindow(0)
                 MessageRequester("Attention", "Marie , tu as fait une erreur")
              EndIf
        EndSelect 

      Case "Table de 3"
        Select test
          Case 1 
             If resultat$ = "8"
                suivant = 1
                MessageRequester("Félicitation","Bravo Marie")
                CloseWindow(0)
             Else 
                suivant = 0
                CloseWindow(0)
                MessageRequester("Attention", "Marie , tu as fait une erreur")
             EndIf 
          Case 2 
             If resultat$ = "6"
                suivant = 1 
                MessageRequester("Félicitation","Bravo Marie")
                CloseWindow(0)
             Else 
                suivant = 0
                CloseWindow(0)
                MessageRequester("Attention", "Marie , tu as fait une erreur")
             EndIf
          Case 3 
             If resultat$ = "12"
                suivant = 1 
                MessageRequester("Félicitation","Bravo Marie")
                CloseWindow(0)
             Else 
                suivant = 0
                CloseWindow(0)
                MessageRequester("Attention", "Marie , tu as fait une erreur")
             EndIf
          Case 4 
              If resultat$ = "5"
                 suivant = 1 
                 MessageRequester("Félicitation","Bravo Marie")
                 CloseWindow(0)
              Else 
                 suivant = 0
                 CloseWindow(0)
                 MessageRequester("Attention", "Marie , tu as fait une erreur")
              EndIf
          Case 5 
              If resultat$ = "9"
                 suivant = 1 
                 MessageRequester("Félicitation","Bravo Marie")
                 CloseWindow(0)
              Else 
                 suivant = 0
                 CloseWindow(0)
                 MessageRequester("Attention", "Marie , tu as fait une erreur")
              EndIf
          Case 6 
              If resultat$ = "7"
                 suivant = 1 
                 MessageRequester("Félicitation","Bravo Marie")
                 CloseWindow(0)
              Else 
                 suivant = 0
                 CloseWindow(0)
                 MessageRequester("Attention", "Marie , tu as fait une erreur")
              EndIf
          Case 7 
              If resultat$ = "10"
                 suivant = 1 
                 MessageRequester("Félicitation","Bravo Marie")
                 CloseWindow(0)
              Else 
                 suivant = 0
                 CloseWindow(0)
                 MessageRequester("Attention", "Marie , tu as fait une erreur")
              EndIf
          Case 8 
              If resultat$ = "4"
                 suivant = 1 
                 MessageRequester("Félicitation","Bravo Marie")
                 CloseWindow(0)
              Else 
                 suivant = 0
                 CloseWindow(0)
                 MessageRequester("Attention", "Marie , tu as fait une erreur")
              EndIf
          Case 9 
              If resultat$ = "11"
                 suivant = 1
                 sortie = 1 
                 MessageRequester("Félicitation","tu as fini la table de 3")
                 CloseWindow(0)
              Else 
                 suivant = 0
                 CloseWindow(0)
                 MessageRequester("Attention", "Marie , tu as fait une erreur")
              EndIf
           EndSelect 

      Case "Table de 4"
        Select test
          Case 1 
             If resultat$ = "9"
                suivant = 1
                MessageRequester("Félicitation","Bravo Marie")
                CloseWindow(0)
             Else 
                suivant = 0
                CloseWindow(0)
                MessageRequester("Attention", "Marie , tu as fait une erreur")
             EndIf 
          Case 2 
             If resultat$ = "7"
                suivant = 1 
                MessageRequester("Félicitation","Bravo Marie")
                CloseWindow(0)
             Else 
                suivant = 0
                CloseWindow(0)
                MessageRequester("Attention", "Marie , tu as fait une erreur")
             EndIf
          Case 3 
             If resultat$ = "13"
                suivant = 1 
                MessageRequester("Félicitation","Bravo Marie")
                CloseWindow(0)
             Else 
                suivant = 0
                CloseWindow(0)
                MessageRequester("Attention", "Marie , tu as fait une erreur")
             EndIf
          Case 4 
              If resultat$ = "6"
                 suivant = 1 
                 MessageRequester("Félicitation","Bravo Marie")
                 CloseWindow(0)
              Else 
                 suivant = 0
                 CloseWindow(0)
                 MessageRequester("Attention", "Marie , tu as fait une erreur")
              EndIf
          Case 5 
              If resultat$ = "10"
                 suivant = 1 
                 MessageRequester("Félicitation","Bravo Marie")
                 CloseWindow(0)
              Else 
                 suivant = 0
                 CloseWindow(0)
                 MessageRequester("Attention", "Marie , tu as fait une erreur")
              EndIf
          Case 6 
              If resultat$ = "8"
                 suivant = 1 
                 MessageRequester("Félicitation","Bravo Marie")
                 CloseWindow(0)
              Else 
                 suivant = 0
                 CloseWindow(0)
                 MessageRequester("Attention", "Marie , tu as fait une erreur")
              EndIf
          Case 7 
              If resultat$ = "11"
                 suivant = 1 
                 MessageRequester("Félicitation","Bravo Marie")
                 CloseWindow(0)
              Else 
                 suivant = 0
                 CloseWindow(0)
                 MessageRequester("Attention", "Marie , tu as fait une erreur")
              EndIf
          Case 8 
              If resultat$ = "5"
                 suivant = 1 
                 MessageRequester("Félicitation","Bravo Marie")
                 CloseWindow(0)
              Else 
                 suivant = 0
                 CloseWindow(0)
                 MessageRequester("Attention", "Marie , tu as fait une erreur")
              EndIf
          Case 9 
              If resultat$ = "12"
                 suivant = 1
                 sortie = 1 
                 MessageRequester("Félicitation","tu as fini la table de 4")
                 CloseWindow(0)
              Else 
                 suivant = 0
                 CloseWindow(0)
                 MessageRequester("Attention", "Marie , tu as fait une erreur")
              EndIf
        EndSelect 
        
     Case "Table de 5"
        Select test
          Case 1 
             If resultat$ = "10"
                suivant = 1
                MessageRequester("Félicitation","Bravo Marie")
                CloseWindow(0)
             Else 
                suivant = 0
                CloseWindow(0)
                MessageRequester("Attention", "Marie , tu as fait une erreur")
             EndIf 
          Case 2 
             If resultat$ = "8"
                suivant = 1 
                MessageRequester("Félicitation","Bravo Marie")
                CloseWindow(0)
             Else 
                suivant = 0
                CloseWindow(0)
                MessageRequester("Attention", "Marie , tu as fait une erreur")
             EndIf
          Case 3 
             If resultat$ = "14"
                suivant = 1 
                MessageRequester("Félicitation","Bravo Marie")
                CloseWindow(0)
             Else 
                suivant = 0
                CloseWindow(0)
                MessageRequester("Attention", "Marie , tu as fait une erreur")
             EndIf

          Case 4 
              If resultat$ = "7"
                 suivant = 1 
                 MessageRequester("Félicitation","Bravo Marie")
                 CloseWindow(0)
              Else 
                 suivant = 0
                 CloseWindow(0)
                 MessageRequester("Attention", "Marie , tu as fait une erreur")
              EndIf
          Case 5 
              If resultat$ = "11"
                 suivant = 1 
                 MessageRequester("Félicitation","Bravo Marie")
                 CloseWindow(0)
              Else 
                 suivant = 0
                 CloseWindow(0)
                 MessageRequester("Attention", "Marie , tu as fait une erreur")
              EndIf
          Case 6 
              If resultat$ = "9"
                 suivant = 1 
                 MessageRequester("Félicitation","Bravo Marie")
                 CloseWindow(0)
              Else 
                 suivant = 0
                 CloseWindow(0)
                 MessageRequester("Attention", "Marie , tu as fait une erreur")
              EndIf
          Case 7 
              If resultat$ = "12"
                 suivant = 1 
                 MessageRequester("Félicitation","Bravo Marie")
                 CloseWindow(0)
              Else 
                 suivant = 0
                 CloseWindow(0)
                 MessageRequester("Attention", "Marie , tu as fait une erreur")
              EndIf
          Case 8 
              If resultat$ = "6"
                 suivant = 1 
                 MessageRequester("Félicitation","Bravo Marie")
                 CloseWindow(0)
              Else 
                 suivant = 0
                 CloseWindow(0)
                 MessageRequester("Attention", "Marie , tu as fait une erreur")
              EndIf
          Case 9 
              If resultat$ = "13"
                 suivant = 1
                 sortie = 1 
                 MessageRequester("Félicitation","tu as fini la table de 3")
                 CloseWindow(0)
              Else 
                 suivant = 0
                 CloseWindow(0)
                 MessageRequester("Attention", "Marie , tu as fait une erreur")
              EndIf 
          EndSelect 
          
     Case "Table de 6"
        Select test
          Case 1 
             If resultat$ = "11"
                suivant = 1
                MessageRequester("Félicitation","Bravo Marie")
                CloseWindow(0)
             Else 
                suivant = 0
                CloseWindow(0)
                MessageRequester("Attention", "Marie , tu as fait une erreur")
             EndIf 
          Case 2 
             If resultat$ = "9"
                suivant = 1 
                MessageRequester("Félicitation","Bravo Marie")
                CloseWindow(0)
             Else 
                suivant = 0
                CloseWindow(0)
                MessageRequester("Attention", "Marie , tu as fait une erreur")
             EndIf
          Case 3 
             If resultat$ = "15"
                suivant = 1 
                MessageRequester("Félicitation","Bravo Marie")
                CloseWindow(0)
             Else 
                suivant = 0
                CloseWindow(0)
                MessageRequester("Attention", "Marie , tu as fait une erreur")
             EndIf

          Case 4 
              If resultat$ = "8"
                 suivant = 1 
                 MessageRequester("Félicitation","Bravo Marie")
                 CloseWindow(0)
              Else 
                 suivant = 0
                 CloseWindow(0)
                 MessageRequester("Attention", "Marie , tu as fait une erreur")
              EndIf
          Case 5 
              If resultat$ = "12"
                 suivant = 1 
                 MessageRequester("Félicitation","Bravo Marie")
                 CloseWindow(0)
              Else 
                 suivant = 0
                 CloseWindow(0)
                 MessageRequester("Attention", "Marie , tu as fait une erreur")
              EndIf
          Case 6 
              If resultat$ = "10"
                 suivant = 1 
                 MessageRequester("Félicitation","Bravo Marie")
                 CloseWindow(0)
              Else 
                 suivant = 0
                 CloseWindow(0)
                 MessageRequester("Attention", "Marie , tu as fait une erreur")
              EndIf
          Case 7 
              If resultat$ = "13"
                 suivant = 1 
                 MessageRequester("Félicitation","Bravo Marie")
                 CloseWindow(0)
              Else 
                 suivant = 0
                 CloseWindow(0)
                 MessageRequester("Attention", "Marie , tu as fait une erreur")
              EndIf
          Case 8 
              If resultat$ = "7"
                 suivant = 1 
                 MessageRequester("Félicitation","Bravo Marie")
                 CloseWindow(0)
              Else 
                 suivant = 0
                 CloseWindow(0)
                 MessageRequester("Attention", "Marie , tu as fait une erreur")
              EndIf
          Case 9 
              If resultat$ = "14"
                 suivant = 1
                 sortie = 1 
                 MessageRequester("Félicitation","tu as fini la table de 3")
                 CloseWindow(0)
              Else 
                 suivant = 0
                 CloseWindow(0)
                 MessageRequester("Attention", "Marie , tu as fait une erreur")
              EndIf 
          EndSelect 

      Case "Table de 7"
        Select test
          Case 1 
             If resultat$ = "12"
                suivant = 1
                MessageRequester("Félicitation","Bravo Marie")
                CloseWindow(0)
             Else 
                suivant = 0
                CloseWindow(0)
                MessageRequester("Attention", "Marie , tu as fait une erreur")
             EndIf 
          Case 2 
             If resultat$ = "10"
                suivant = 1 
                MessageRequester("Félicitation","Bravo Marie")
                CloseWindow(0)
             Else 
                suivant = 0
                CloseWindow(0)
                MessageRequester("Attention", "Marie , tu as fait une erreur")
             EndIf
          Case 3 
             If resultat$ = "16"
                suivant = 1 
                MessageRequester("Félicitation","Bravo Marie")
                CloseWindow(0)
             Else 
                suivant = 0
                CloseWindow(0)
                MessageRequester("Attention", "Marie , tu as fait une erreur")
             EndIf
          Case 4 
              If resultat$ = "9"
                 suivant = 1 
                 MessageRequester("Félicitation","Bravo Marie")
                 CloseWindow(0)
              Else 
                 suivant = 0
                 CloseWindow(0)
                 MessageRequester("Attention", "Marie , tu as fait une erreur")
              EndIf
          Case 5 
              If resultat$ = "13"
                 suivant = 1 
                 MessageRequester("Félicitation","Bravo Marie")
                 CloseWindow(0)
              Else 
                 suivant = 0
                 CloseWindow(0)
                 MessageRequester("Attention", "Marie , tu as fait une erreur")
              EndIf
          Case 6 
              If resultat$ = "11"
                 suivant = 1 
                 MessageRequester("Félicitation","Bravo Marie")
                 CloseWindow(0)
              Else 
                 suivant = 0
                 CloseWindow(0)
                 MessageRequester("Attention", "Marie , tu as fait une erreur")
              EndIf
          Case 7 
              If resultat$ = "14"
                 suivant = 1 
                 MessageRequester("Félicitation","Bravo Marie")
                 CloseWindow(0)
              Else 
                 suivant = 0
                 CloseWindow(0)
                 MessageRequester("Attention", "Marie , tu as fait une erreur")
              EndIf
          Case 8 
              If resultat$ = "8"
                 suivant = 1 
                 MessageRequester("Félicitation","Bravo Marie")
                 CloseWindow(0)
              Else 
                 suivant = 0
                 CloseWindow(0)
                 MessageRequester("Attention", "Marie , tu as fait une erreur")
              EndIf
          Case 9 
              If resultat$ = "15"
                 suivant = 1
                 sortie = 1 
                 MessageRequester("Félicitation","tu as fini la table de 4")
                 CloseWindow(0)
              Else 
                 suivant = 0
                 CloseWindow(0)
                 MessageRequester("Attention", "Marie , tu as fait une erreur")
              EndIf
        EndSelect 
        
     Case "Table de 8"
        Select test
          Case 1 
             If resultat$ = "13"
                suivant = 1
                MessageRequester("Félicitation","Bravo Marie")
                CloseWindow(0)
             Else 
                suivant = 0
                CloseWindow(0)
                MessageRequester("Attention", "Marie , tu as fait une erreur")
             EndIf 
          Case 2 
             If resultat$ = "11"
                suivant = 1 
                MessageRequester("Félicitation","Bravo Marie")
                CloseWindow(0)
             Else 
                suivant = 0
                CloseWindow(0)
                MessageRequester("Attention", "Marie , tu as fait une erreur")
             EndIf
          Case 3 
             If resultat$ = "17"
                suivant = 1 
                MessageRequester("Félicitation","Bravo Marie")
                CloseWindow(0)
             Else 
                suivant = 0
                CloseWindow(0)
                MessageRequester("Attention", "Marie , tu as fait une erreur")
             EndIf

          Case 4 
              If resultat$ = "10"
                 suivant = 1 
                 MessageRequester("Félicitation","Bravo Marie")
                 CloseWindow(0)
              Else 
                 suivant = 0
                 CloseWindow(0)
                 MessageRequester("Attention", "Marie , tu as fait une erreur")
              EndIf
          Case 5 
              If resultat$ = "14"
                 suivant = 1 
                 MessageRequester("Félicitation","Bravo Marie")
                 CloseWindow(0)
              Else 
                 suivant = 0
                 CloseWindow(0)
                 MessageRequester("Attention", "Marie , tu as fait une erreur")
              EndIf
          Case 6 
              If resultat$ = "12"
                 suivant = 1 
                 MessageRequester("Félicitation","Bravo Marie")
                 CloseWindow(0)
              Else 
                 suivant = 0
                 CloseWindow(0)
                 MessageRequester("Attention", "Marie , tu as fait une erreur")
              EndIf
          Case 7 
              If resultat$ = "15"
                 suivant = 1 
                 MessageRequester("Félicitation","Bravo Marie")
                 CloseWindow(0)
              Else 
                 suivant = 0
                 CloseWindow(0)
                 MessageRequester("Attention", "Marie , tu as fait une erreur")
              EndIf
          Case 8 
              If resultat$ = "9"
                 suivant = 1 
                 MessageRequester("Félicitation","Bravo Marie")
                 CloseWindow(0)
              Else 
                 suivant = 0
                 CloseWindow(0)
                 MessageRequester("Attention", "Marie , tu as fait une erreur")
              EndIf
          Case 9 
              If resultat$ = "16"
                 suivant = 1
                 sortie = 1 
                 MessageRequester("Félicitation","tu as fini la table de 3")
                 CloseWindow(0)
              Else 
                 suivant = 0
                 CloseWindow(0)
                 MessageRequester("Attention", "Marie , tu as fait une erreur")
              EndIf 
          EndSelect 
          
     Case "Table de 9"
        Select test
          Case 1 
             If resultat$ = "14"
                suivant = 1
                MessageRequester("Félicitation","Bravo Marie")
                CloseWindow(0)
             Else 
                suivant = 0
                CloseWindow(0)
                MessageRequester("Attention", "Marie , tu as fait une erreur")
             EndIf 
          Case 2 
             If resultat$ = "12"
                suivant = 1 
                MessageRequester("Félicitation","Bravo Marie")
                CloseWindow(0)
             Else 
                suivant = 0
                CloseWindow(0)
                MessageRequester("Attention", "Marie , tu as fait une erreur")
             EndIf
          Case 3 
             If resultat$ = "18"
                suivant = 1 
                MessageRequester("Félicitation","Bravo Marie")
                CloseWindow(0)
             Else 
                suivant = 0
                CloseWindow(0)
                MessageRequester("Attention", "Marie , tu as fait une erreur")
             EndIf

          Case 4 
              If resultat$ = "11"
                 suivant = 1 
                 MessageRequester("Félicitation","Bravo Marie")
                 CloseWindow(0)
              Else 
                 suivant = 0
                 CloseWindow(0)
                 MessageRequester("Attention", "Marie , tu as fait une erreur")
              EndIf
          Case 5 
              If resultat$ = "15"
                 suivant = 1 
                 MessageRequester("Félicitation","Bravo Marie")
                 CloseWindow(0)
              Else 
                 suivant = 0
                 CloseWindow(0)
                 MessageRequester("Attention", "Marie , tu as fait une erreur")
              EndIf
          Case 6 
              If resultat$ = "13"
                 suivant = 1 
                 MessageRequester("Félicitation","Bravo Marie")
                 CloseWindow(0)
              Else 
                 suivant = 0
                 CloseWindow(0)
                 MessageRequester("Attention", "Marie , tu as fait une erreur")
              EndIf
          Case 7 
              If resultat$ = "16"
                 suivant = 1 
                 MessageRequester("Félicitation","Bravo Marie")
                 CloseWindow(0)
              Else 
                 suivant = 0
                 CloseWindow(0)
                 MessageRequester("Attention", "Marie , tu as fait une erreur")
              EndIf
          Case 8 
              If resultat$ = "10"
                 suivant = 1 
                 MessageRequester("Félicitation","Bravo Marie")
                 CloseWindow(0)
              Else 
                 suivant = 0
                 CloseWindow(0)
                 MessageRequester("Attention", "Marie , tu as fait une erreur")
              EndIf
          Case 9 
              If resultat$ = "17"
                 suivant = 1
                 sortie = 1 
                 MessageRequester("Félicitation","tu as fini la table de 3")
                 CloseWindow(0)
              Else 
                 suivant = 0
                 CloseWindow(0)
                 MessageRequester("Attention", "Marie , tu as fait une erreur")
              EndIf 
          EndSelect 
          
     Case "Table de 10"
        Select test
          Case 1 
             If resultat$ = "15"
                suivant = 1
                MessageRequester("Félicitation","Bravo Marie")
                CloseWindow(0)
             Else 
                suivant = 0
                CloseWindow(0)
                MessageRequester("Attention", "Marie , tu as fait une erreur")
             EndIf 
          Case 2 
             If resultat$ = "13"
                suivant = 1 
                MessageRequester("Félicitation","Bravo Marie")
                CloseWindow(0)
             Else 
                suivant = 0
                CloseWindow(0)
                MessageRequester("Attention", "Marie , tu as fait une erreur")
             EndIf
          Case 3 
             If resultat$ = "19"
                suivant = 1 
                MessageRequester("Félicitation","Bravo Marie")
                CloseWindow(0)
             Else 
                suivant = 0
                CloseWindow(0)
                MessageRequester("Attention", "Marie , tu as fait une erreur")
             EndIf

          Case 4 
              If resultat$ = "12"
                 suivant = 1 
                 MessageRequester("Félicitation","Bravo Marie")
                 CloseWindow(0)
              Else 
                 suivant = 0
                 CloseWindow(0)
                 MessageRequester("Attention", "Marie , tu as fait une erreur")
              EndIf
          Case 5 
              If resultat$ = "16"
                 suivant = 1 
                 MessageRequester("Félicitation","Bravo Marie")
                 CloseWindow(0)
              Else 
                 suivant = 0
                 CloseWindow(0)
                 MessageRequester("Attention", "Marie , tu as fait une erreur")
              EndIf
          Case 6 
              If resultat$ = "14"
                 suivant = 1 
                 MessageRequester("Félicitation","Bravo Marie")
                 CloseWindow(0)
              Else 
                 suivant = 0
                 CloseWindow(0)
                 MessageRequester("Attention", "Marie , tu as fait une erreur")
              EndIf
          Case 7 
              If resultat$ = "17"
                 suivant = 1 
                 MessageRequester("Félicitation","Bravo Marie")
                 CloseWindow(0)
              Else 
                 suivant = 0
                 CloseWindow(0)
                 MessageRequester("Attention", "Marie , tu as fait une erreur")
              EndIf
          Case 8 
              If resultat$ = "11"
                 suivant = 1 
                 MessageRequester("Félicitation","Bravo Marie")
                 CloseWindow(0)
              Else 
                 suivant = 0
                 CloseWindow(0)
                 MessageRequester("Attention", "Marie , tu as fait une erreur")
              EndIf
          Case 9 
              If resultat$ = "18"
                 suivant = 1
                 sortie = 1 
                 MessageRequester("Félicitation","tu as fini la table de 3")
                 CloseWindow(0)
              Else 
                 suivant = 0
                 CloseWindow(0)
                 MessageRequester("Attention", "Marie , tu as fait une erreur")
              EndIf 
          EndSelect 
          
       EndSelect
              
    If test < max 
      test = test + suivant
    EndIf 
   EndIf 
    Wend
CloseWindow(0)
Wend 
MessageRequester("Attention", "Au revoir Marie ")
Je travail en ce moment sur le meme type mais pour les tables de multiplications ...
Frenchy Pilou
Messages : 2194
Inscription : jeu. 27/janv./2005 19:07

Message par Frenchy Pilou »

A mon avis tu as dû employer le copier/ Coller un certain nombre de fois :)
Dans la programmation, ce qui est bien, c'est qu'une même répetition de chose n'a besoin d'être écrite qu'une fois !
La longueur de ton programme, peut sûrement être réduite d'un facteur 10 ! :)
Et le temps passé en conséquence :)
Vas voir du côté des sous-programmes, des procédures,...
Est beau ce qui plaît sans concept :)
Speedy Galerie
maitre we
Messages : 42
Inscription : mer. 23/nov./2005 23:50

Message par maitre we »

Oui , le copier / coller ma drolement aider :D
Avatar de l’utilisateur
Progi1984
Messages : 2659
Inscription : mar. 14/déc./2004 13:56
Localisation : France > Rennes
Contact :

Message par Progi1984 »

Regrade aussi du coté de Str() et Val()
Dr. Dri
Messages : 2527
Inscription : ven. 23/janv./2004 18:10

Message par Dr. Dri »

Frenchy Pilou a écrit :A mon avis tu as dû employer le copier/ Coller un certain nombre de fois :)
Dans la programmation, ce qui est bien, c'est qu'une même répetition de chose n'a besoin d'être écrite qu'une fois !
La longueur de ton programme, peut sûrement être réduite d'un facteur 10 ! :)
Et le temps passé en conséquence :)
Vas voir du côté des sous-programmes, des procédures,...
+1 c'est carrément ultra optimisable comme truc...

Dri
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

Message par Chris »

Disons qu'avec une bonne cure d'amaigrissement, ça devrait tourner autour de 70 à 80 lignes, tout au plus.

Disons 100 pour faire un compte rond :lol:

Sinon, on ne peut pas dire, c'est pas mal fait, et c'est une bonne idée :)

Avec une interface sympa pour les enfants, et une voix enregistrée pour annoncer les erreurs ou les réussites, ce serait pas mal.
lionel_om
Messages : 1500
Inscription : jeu. 25/mars/2004 11:23
Localisation : Sophia Antipolis (Nice)
Contact :

Message par lionel_om »

maitre we a écrit :Oui , le copier / coller ma drolement aider :D
Mdr... :lol:
Webmestre de Basic-univers
Participez à son extension: ajouter vos programmes et partagez vos codes !
morukutsu
Messages : 65
Inscription : sam. 29/janv./2005 15:01
Contact :

Message par morukutsu »

Je pense que avec des boucles "for-next" tu pourrais facilement améliorer la longueur de ton programme ^^ .
Si j'ai du temps je m'y met :?
The life is a game...
maitre we
Messages : 42
Inscription : mer. 23/nov./2005 23:50

Message par maitre we »

100lignes :? Moi qui en suis a 1 000 :P

Et pour intégré des sons ??? On peu ???
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

Message par Chris »

maitre we a écrit :100lignes :? Moi qui en suis a 1 000 :P

Et pour intégré des sons ??? On peu ???
100 lignes, c'est pas à 20 près. Ca peut être 120 comme 80
Mais en gros, c'est à pau près ça. En utilisant des procédures.

Une seule procédure peut remplacer tous les copier/coller que tu as fait.

Et pour intégrer des sons, oui, on peut.
Il y a plein d'exemples sur le forum.
maitre we
Messages : 42
Inscription : mer. 23/nov./2005 23:50

Message par maitre we »

voila , programme sur les tables de multiplications terminé ...

Code : Tout sélectionner

;;;;;;;;;;;;;;;;;;;;;;;;;
; Les initialisations
;;;;;;;;;;;;;;;;;;;;;;;;;
;
;
Enumeration 
#validation=2
#max = 9
EndEnumeration
erreur.s="Attention Léa, tu as fait une erreur"
correct.s="Félicitation, Bravo Léa"
fin_de_table.s="Félicitation, tu as fini la " 
salut.s="Au revoir, Léa"
titre_info.s="Information"
sortie1 = 0 
sortie0 = 0
choix_init = 0 

Global exercice.s, suivant, sortie0

IncludeFile "Procedure_Lea.pb"

;On affiche le message de bienvenu
;
MessageRequester("Calculs","Bonjour Léa , voici quelques multiplications",#PB_MessageRequester_Ok)
;
;
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; La boucle principale - tant que l'on ne presse pas le bouton quitter de la fenêtre principale ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
;
While choix_init = 0
  ;
  ;On ouvre la fenêtre principale
  ;
  OpenWindow(1, 0, 0, 150, 110, #PB_Window_ScreenCentered, "Table de multiplication")
  ;
  ;On crée la gadgetlist de la fenêtre principale
  ;
  CreateGadgetList(WindowID())
  ComboBoxGadget(4,5,10,140,100)
  GadgetToolTip(4,"choisir la table")
  ButtonGadget(5, 5, 45,140, 25, "Ok")
  GadgetToolTip(5,"valider")
  ButtonGadget(6, 5, 80,140, 25, "Quitter")
  GadgetToolTip(6,"Quitter le jeu")
  ActivateGadget(4); sert à mettre le curseur dans le gadget approprié
  ;
  ; on remplit la ComboBox avec les noms des tables 
  ;
  For a=1 To 10
      AddGadgetItem(4,-1,"Table de " + Str(a)) 
  Next
  ;
  ;
  ;
  ;On attend dans fenêtre principale bouton OK, bouton quitter ou choix de table 
  ;  - si quitter, sortie1 à 1, sortie0 à1, et choix_init à 1
  ;  - so OK,      sortie1 à 1, sortie0 à 0, et choix_init à 0
  ;  - si choix de table, on boucle en laissant sortie1 à 0
  ;
  sortie1=0
  Repeat 
  ;
    Select WaitWindowEvent()
      Case #PB_Event_Gadget
        If EventGadgetID() = 6
           sortie1 = 1
           choix_init = 1
           sortie0 = 1   
           CloseWindow(1)   
        EndIf
        If EventGadgetID() = 5
           sortie1 = 1
           sortie0 = 0   
           CloseWindow(1)   
        EndIf
        If EventGadgetID() = 4
           exercice2.s = GetGadgetText(4)
        EndIf
    EndSelect 
  ;
  Until sortie1 = 1
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  ;La boucle sur la fenêtre secondaire en attendant                 ;
  ;          - fin de l'exercice sur la table        ; 
  ;          - bouton quitter                        ;
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  test = 1 
  While sortie0 = 0 
   ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
   ;On appelle la procédure pour remplir              ;
   ;          - les libellés calculs de la fenêtre    ;
   ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
   Remplir_Libelle(exercice2.s, test)
   fin = 0
   ;
   ;On ouvre la fenêtre secondaire
   ;
   OpenWindow(0, 0, 0, 220, 100, #PB_Window_ScreenCentered, exercice2.s + "  --  Calcule : " + exercice.s)
   ;
   ;On crée la gadgetlist de la fenêtre secondaire
   ;
   CreateGadgetList(WindowID())
   #String0 = 1
   StringGadget(#String0, 20, 5, 140, 20, "", #PB_String_Numeric)   
   GadgetToolTip(#String0,"Ecrivez le résultat ici") 
   AddKeyboardShortcut(0, #PB_Shortcut_Return, #validation)
   ButtonGadget(2, 20, 30,140, 25, "Ok")
   GadgetToolTip(2,"valider le calcul")
   ButtonGadget(3, 20, 60,140, 25, "Terminer")
   GadgetToolTip(3,"quitter le jeu")
   ActivateGadget(#String0)
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  ;On attend action utilisateur 
  ;          - bouton OK, 
  ;          - retour charriot 
  ;          - ou bouton terminer
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
   While fin = 0
    event = WaitWindowEvent()
    Select event
     Case #PB_Event_Gadget
       If EventGadgetID() = 2
          fin = 1
          sortie0 = 0
          resultat$ = GetGadgetText(#String0)
       EndIf
       If EventGadgetID() = 3
          sortie0 = 1
          fin = 1
          resultat$ = GetGadgetText(#String0)
       EndIf

     Case #PB_Event_Menu
       If EventMenuID() = #validation
         fin = 1
         sortie0 = 0
         resultat$ = GetGadgetText(#String0)
       EndIf
    EndSelect 
   Wend 
   ;
   ; Si bouton OK ou Retour Charriot, on teste si le résultat est valide
   ;
   If sortie0 = 0
     ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
     ;On appelle la procédure pour tester le résultat   ;
     ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
     Tester_Resultat(exercice2.s, test, resultat$)
     
     If suivant = 0 
         MessageRequester(titre_info, Erreur)
     Else 
        If sortie0 = 1 
           MessageRequester(titre_info, fin_de_table + exercice2.s)
        Else 
           MessageRequester(titre_info, Correct)
        EndIf 
     EndIf 
     If test < max 
       test = test + suivant
     EndIf 
   EndIf 
;
  Wend
  CloseWindow(0)
Wend 
MessageRequester(titre_info, salut)


procedure :

Code : Tout sélectionner

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Procedure qui donne le calcul à effectuer (exercice.s) à partir de ;
;           - la table (exercice2.s)                                 ;
;           - et du n° de l'opération dans cette table (test)        ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Procedure Remplir_Libelle(exercice2.s, test)

 Select exercice2.s
  Case "Table de 10"
    Select test
     Case 1 
       exercice.s = "10 x 5" ;50
     Case 2 
       exercice.s = "10 x 3" ;30
     Case 3 
       exercice.s = "10 x 9" ;90
     Case 4 
       exercice.s = "10 x 2" ;20
     Case 5 
       exercice.s = "10 x 6" ;60
     Case 6 
       exercice.s = "10 x 4" ;40
     Case 7 
       exercice.s = "10 x 7" ;70
     Case 8 
       exercice.s = "10 x 1" ;10
     Case 9
       exercice.s = "10 x 8" ;80
    EndSelect 

  Case "Table de 9"
    Select test
     Case 1 
       exercice.s = "9 x 5" ;45
     Case 2 
       exercice.s = "9 x 3" ;27
     Case 3 
       exercice.s = "9 x 9" ;81
     Case 4 
       exercice.s = "9 x 2" ;18
     Case 5 
       exercice.s = "9 x 6" ;54
     Case 6 
       exercice.s = "9 x 4" ;36
     Case 7 
       exercice.s = "9 x 7" ;63
     Case 8 
       exercice.s = "9 x 1" ;9
     Case 9
       exercice.s = "9 x 8" ;72
    EndSelect 

  Case "Table de 8"
    Select test
     Case 1 
       exercice.s = "8 x 5" ;40
     Case 2 
       exercice.s = "8 x 3" ;24
     Case 3 
       exercice.s = "8 x 9" ;72
     Case 4 
       exercice.s = "8 x 2" ;16
     Case 5 
       exercice.s = "8 x 6" ;48
     Case 6 
       exercice.s = "8 x 4" ;32
     Case 7 
       exercice.s = "8 x 7" ;56
     Case 8 
       exercice.s = "8 x 1" ;8
     Case 9
       exercice.s = "8 x 8" ;64
    EndSelect 

  Case "Table de 7"
    Select test
     Case 1 
       exercice.s = "7 x 5" ;35
     Case 2 
       exercice.s = "7 x 3" ;21
     Case 3 
       exercice.s = "7 x 9" ;63
     Case 4 
       exercice.s = "7 x 2" ;14
     Case 5 
       exercice.s = "7 x 6" ;42
     Case 6 
       exercice.s = "7 x 4" ;28
     Case 7 
       exercice.s = "7 x 7" ;49
     Case 8 
       exercice.s = "7 x 1" ;7
     Case 9
       exercice.s = "7 x 8" ;56
    EndSelect 

   Case "Table de 6"
    Select test
     Case 1 
       exercice.s = "6 x 5" ;30
     Case 2 
       exercice.s = "6 x 3" ;18
     Case 3 
       exercice.s = "6 x 9" ;54
     Case 4 
       exercice.s = "6 x 2" ;12
     Case 5 
       exercice.s = "6 x 6" ;36
     Case 6 
       exercice.s = "6 x 4" ;24
     Case 7 
       exercice.s = "6 x 7" ;42
     Case 8 
       exercice.s = "6 x 1" ;6
     Case 9
       exercice.s = "6 x 8" ;48
    EndSelect

  Case "Table de 5"
    Select test
     Case 1 
       exercice.s = "5 x 5" ;25
     Case 2 
       exercice.s = "5 x 3" ;15
     Case 3 
       exercice.s = "5 x 9" ;45
     Case 4 
       exercice.s = "5 x 2" ;10
     Case 5 
       exercice.s = "5 x 6" ;30
     Case 6 
       exercice.s = "5 x 4" ;20
     Case 7 
       exercice.s = "5 x 7" ;35
     Case 8 
       exercice.s = "5 x 1" ;5
     Case 9
       exercice.s = "5 x 8" ;40
    EndSelect 

  Case "Table de 4"
    Select test
     Case 1 
       exercice.s = "4 x 5" ;20
     Case 2 
       exercice.s = "4 x 3" ;12
     Case 3 
       exercice.s = "4 x 9" ;36
     Case 4 
       exercice.s = "4 x 2" ;8
     Case 5 
       exercice.s = "4 x 6" ;24
     Case 6 
       exercice.s = "4 x 4" ;16
     Case 7 
       exercice.s = "4 x 7" ;28
     Case 8 
       exercice.s = "4 x 1" ;4
     Case 9
       exercice.s = "4 x 8" ;32
    EndSelect 

   Case "Table de 3"
    Select test
     Case 1 
       exercice.s = "3 x 5" ;15
     Case 2 
       exercice.s = "3 x 3" ;9
     Case 3 
       exercice.s = "3 x 9" ;27
     Case 4 
       exercice.s = "3 x 2" ;6
     Case 5 
       exercice.s = "3 x 6" ;18
     Case 6 
       exercice.s = "3 x 4" ;12
     Case 7 
       exercice.s = "3 x 7" ;21
     Case 8 
       exercice.s = "3 x 1" ;3
     Case 9
       exercice.s = "3 x 8" ;24
    EndSelect 

   Case "Table de 2"
    Select test
     Case 1 
       exercice.s = "2 x 5" ;10
     Case 2 
       exercice.s = "2 x 3" ;6
     Case 3 
       exercice.s = "2 x 9" ;18
     Case 4 
       exercice.s = "2 x 2" ;4
     Case 5 
       exercice.s = "2 x 6" ;12
     Case 6 
       exercice.s = "2 x 4" ;8
     Case 7 
       exercice.s = "2 x 7" ;14
     Case 8 
       exercice.s = "2 x 1" ;2
     Case 9
       exercice.s = "2 x 8" ;16
    EndSelect 
    
   Case "Table de 1"
    Select test
     Case 1 
       exercice.s = "1 x 5" ;5
     Case 2 
       exercice.s = "1 x 3" ;3
     Case 3 
       exercice.s = "1 x 9" ;9
     Case 4 
       exercice.s = "1 x 2" ;2
     Case 5 
       exercice.s = "1 x 6" ;6
     Case 6 
       exercice.s = "1 x 4" ;4
     Case 7 
       exercice.s = "1 x 7" ;7
     Case 8 
       exercice.s = "1 x 1" ;1
     Case 9
       exercice.s = "1 x 8" ;8
    EndSelect 

 EndSelect
 
 ProcedureReturn exercice.s

EndProcedure 


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Procedure qui teste le résultat de l'opération (resultat$) à partir de ;
;           - la table (exercice2.s)                                     ;
;           - le n° de l'opération dans cette table (test)  
; Si le résultat est OK, suivant = 1 
; Si le résulat est faux, suivant = 0 
; si c'est la dernière opération de la table, sortie0 = 1             ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;



Procedure Tester_Resultat(exercice2.s, test, resultat$)
    
    Select exercice2.s

      Case "Table de 1"
        Select test
          Case 1 
             If resultat$ = "5"
                suivant = 1
             Else 
                suivant = 0
             EndIf 
          Case 2 
             If resultat$ = "3"
                suivant = 1 
             Else 
                suivant = 0
             EndIf
          Case 3 
             If resultat$ = "9"
                suivant = 1 
             Else 
                suivant = 0
             EndIf
          Case 4 
              If resultat$ = "2"
                 suivant = 1 
              Else 
                 suivant = 0
              EndIf
          Case 5 
              If resultat$ = "6"
                 suivant = 1 
              Else 
                 suivant = 0
              EndIf
          Case 6 
              If resultat$ = "4"
                 suivant = 1 
              Else 
                 suivant = 0
              EndIf
          Case 7 
              If resultat$ = "7"
                 suivant = 1 
              Else 
                 suivant = 0
              EndIf
          Case 8 
              If resultat$ = "1"
                 suivant = 1 
              Else 
                 suivant = 0
              EndIf
          Case 9 
              If resultat$ = "8"
                 suivant = 1
                 sortie0 = 1 
              Else 
                 suivant = 0
              EndIf
           EndSelect 

       Case "Table de 2"
        Select test
          Case 1 
             If resultat$ = "10"
                suivant = 1
             Else 
                suivant = 0
             EndIf 
          Case 2 
             If resultat$ = "6"
                suivant = 1 
             Else 
                suivant = 0
             EndIf
          Case 3 
             If resultat$ = "18"
                suivant = 1 
             Else 
                suivant = 0
             EndIf
          Case 4 
              If resultat$ = "4"
                 suivant = 1 
              Else 
                 suivant = 0
              EndIf
          Case 5 
              If resultat$ = "12"
                 suivant = 1 
              Else 
                 suivant = 0
              EndIf
          Case 6 
              If resultat$ = "8"
                 suivant = 1 
              Else 
                 suivant = 0
              EndIf
          Case 7 
              If resultat$ = "14"
                 suivant = 1 
              Else 
                 suivant = 0
              EndIf
          Case 8 
              If resultat$ = "2"
                 suivant = 1 
              Else 
                 suivant = 0
              EndIf
          Case 9 
              If resultat$ = "16"
                 suivant = 1
                 sortie0 = 1 
              Else 
                 suivant = 0
              EndIf
        EndSelect 

      Case "Table de 3"
        Select test
          Case 1 
             If resultat$ = "15"
                suivant = 1
             Else 
                suivant = 0
             EndIf 
          Case 2 
             If resultat$ = "9"
                suivant = 1 
             Else 
                suivant = 0
             EndIf
          Case 3 
             If resultat$ = "27"
                suivant = 1 
             Else 
                suivant = 0
             EndIf
          Case 4 
              If resultat$ = "6"
                 suivant = 1 
              Else 
                 suivant = 0
              EndIf
          Case 5 
              If resultat$ = "18"
                 suivant = 1 
              Else 
                 suivant = 0
              EndIf
          Case 6 
              If resultat$ = "12"
                 suivant = 1 
              Else 
                 suivant = 0
              EndIf
          Case 7 
              If resultat$ = "21"
                 suivant = 1 
              Else 
                 suivant = 0
              EndIf
          Case 8 
              If resultat$ = "3"
                 suivant = 1 
              Else 
                 suivant = 0
              EndIf
          Case 9 
              If resultat$ = "24"
                 suivant = 1
                 sortie0 = 1 
              Else 
                 suivant = 0
              EndIf
           EndSelect 

      Case "Table de 4"
        Select test
          Case 1 
             If resultat$ = "20"
                suivant = 1
             Else 
                suivant = 0
             EndIf 
          Case 2 
             If resultat$ = "12"
                suivant = 1 
             Else 
                suivant = 0
             EndIf
          Case 3 
             If resultat$ = "36"
                suivant = 1 
             Else 
                suivant = 0
             EndIf
          Case 4 
              If resultat$ = "8"
                 suivant = 1 
              Else 
                 suivant = 0
              EndIf
          Case 5 
              If resultat$ = "24"
                 suivant = 1 
              Else 
                 suivant = 0
              EndIf
          Case 6 
              If resultat$ = "16"
                 suivant = 1 
              Else 
                 suivant = 0
              EndIf
          Case 7 
              If resultat$ = "28"
                 suivant = 1 
              Else 
                 suivant = 0
              EndIf
          Case 8 
              If resultat$ = "4"
                 suivant = 1 
              Else 
                 suivant = 0
              EndIf
          Case 9 
              If resultat$ = "32"
                 suivant = 1
                 sortie0 = 1 
              Else 
                 suivant = 0
              EndIf
        EndSelect 
        
     Case "Table de 5"
        Select test
          Case 1 
             If resultat$ = "25"
                suivant = 1
             Else 
                suivant = 0
             EndIf 
          Case 2 
             If resultat$ = "15"
                suivant = 1 
             Else 
                suivant = 0
             EndIf
          Case 3 
             If resultat$ = "45"
                suivant = 1 
             Else 
                suivant = 0
             EndIf

          Case 4 
              If resultat$ = "10"
                 suivant = 1 
              Else 
                 suivant = 0
              EndIf
          Case 5 
              If resultat$ = "30"
                 suivant = 1 
              Else 
                 suivant = 0
              EndIf
          Case 6 
              If resultat$ = "20"
                 suivant = 1 
              Else 
                 suivant = 0
              EndIf
          Case 7 
              If resultat$ = "35"
                 suivant = 1 
              Else 
                 suivant = 0
              EndIf
          Case 8 
              If resultat$ = "5"
                 suivant = 1 
              Else 
                 suivant = 0
              EndIf
          Case 9 
              If resultat$ = "40"
                 suivant = 1
                 sortie0 = 1 
              Else 
                 suivant = 0
              EndIf 
          EndSelect 
           
     Case "Table de 6"
        Select test
          Case 1 
             If resultat$ = "30"
                suivant = 1
             Else 
                suivant = 0
             EndIf 
          Case 2 
             If resultat$ = "18"
                suivant = 1 
             Else 
                suivant = 0
             EndIf
          Case 3 
             If resultat$ = "54"
                suivant = 1 
             Else 
                suivant = 0
             EndIf

          Case 4 
              If resultat$ = "12"
                 suivant = 1 
              Else 
                 suivant = 0
              EndIf
          Case 5 
              If resultat$ = "36"
                 suivant = 1 
              Else 
                 suivant = 0
              EndIf
          Case 6 
              If resultat$ = "24"
                 suivant = 1 
              Else 
                 suivant = 0
              EndIf
          Case 7 
              If resultat$ = "42"
                 suivant = 1 
              Else 
                 suivant = 0
              EndIf
          Case 8 
              If resultat$ = "6"
                 suivant = 1 
              Else 
                 suivant = 0
              EndIf
          Case 9 
              If resultat$ = "48"
                 suivant = 1
                 sortie0 = 1 
              Else 
                 suivant = 0
              EndIf 
          EndSelect 

      Case "Table de 7"
        Select test
          Case 1 
             If resultat$ = "35"
                suivant = 1
             Else 
                suivant = 0
             EndIf 
          Case 2 
             If resultat$ = "21"
                suivant = 1 
             Else 
                suivant = 0
             EndIf
          Case 3 
             If resultat$ = "63"
                suivant = 1 
             Else 
                suivant = 0
             EndIf
          Case 4 
              If resultat$ = "14"
                 suivant = 1 
              Else 
                 suivant = 0
              EndIf
          Case 5 
              If resultat$ = "42"
                 suivant = 1 
              Else 
                 suivant = 0
              EndIf
          Case 6 
              If resultat$ = "28"
                 suivant = 1 
              Else 
                 suivant = 0
              EndIf
          Case 7 
              If resultat$ = "49"
                 suivant = 1 
              Else 
                 suivant = 0
              EndIf
          Case 8 
              If resultat$ = "7"
                 suivant = 1 
              Else 
                 suivant = 0
              EndIf
          Case 9 
              If resultat$ = "56"
                 suivant = 1
                 sortie0 = 1 
              Else 
                 suivant = 0
              EndIf
        EndSelect 
        
     Case "Table de 8"
        Select test
          Case 1 
             If resultat$ = "40"
                suivant = 1
             Else 
                suivant = 0
             EndIf 
          Case 2 
             If resultat$ = "24"
                suivant = 1 
             Else 
                suivant = 0
             EndIf
          Case 3 
             If resultat$ = "72"
                suivant = 1 
             Else 
                suivant = 0
             EndIf

          Case 4 
              If resultat$ = "16"
                 suivant = 1 
              Else 
                 suivant = 0
              EndIf
          Case 5 
              If resultat$ = "48"
                 suivant = 1 
              Else 
                 suivant = 0
              EndIf
          Case 6 
              If resultat$ = "32"
                 suivant = 1 
              Else 
                 suivant = 0
              EndIf
          Case 7 
              If resultat$ = "56"
                 suivant = 1 
              Else 
                 suivant = 0
              EndIf
          Case 8 
              If resultat$ = "8"
                 suivant = 1 
              Else 
                 suivant = 0
              EndIf
          Case 9 
              If resultat$ = "64"
                 suivant = 1
                 sortie0 = 1 
              Else 
                 suivant = 0
              EndIf 
          EndSelect 
          
     Case "Table de 9"
        Select test
          Case 1 
             If resultat$ = "45"
                suivant = 1
             Else 
                suivant = 0
             EndIf 
          Case 2 
             If resultat$ = "27"
                suivant = 1 
             Else 
                suivant = 0
             EndIf
          Case 3 
             If resultat$ = "81"
                suivant = 1 
             Else 
                suivant = 0
             EndIf

          Case 4 
              If resultat$ = "18"
                 suivant = 1 
              Else 
                 suivant = 0
              EndIf
          Case 5 
              If resultat$ = "54"
                 suivant = 1 
              Else 
                 suivant = 0
              EndIf
          Case 6 
              If resultat$ = "36"
                 suivant = 1 
              Else 
                 suivant = 0
              EndIf
          Case 7 
              If resultat$ = "63"
                 suivant = 1 
              Else 
                 suivant = 0
              EndIf
          Case 8 
              If resultat$ = "9"
                 suivant = 1 
              Else 
                 suivant = 0
              EndIf
          Case 9 
              If resultat$ = "72"
                 suivant = 1
                 sortie0 = 1 
              Else 
                 suivant = 0
              EndIf 
          EndSelect 
          
     Case "Table de 10"
        Select test
          Case 1 
             If resultat$ = "50"
                suivant = 1
             Else 
                suivant = 0
             EndIf 
          Case 2 
             If resultat$ = "30"
                suivant = 1 
             Else 
                suivant = 0
             EndIf
          Case 3 
             If resultat$ = "90"
                suivant = 1 
             Else 
                suivant = 0
             EndIf

          Case 4 
              If resultat$ = "20"
                 suivant = 1 
              Else 
                 suivant = 0
              EndIf
          Case 5 
              If resultat$ = "60"
                 suivant = 1 
              Else 
                 suivant = 0
              EndIf
          Case 6 
              If resultat$ = "40"
                 suivant = 1 
              Else 
                 suivant = 0
              EndIf
          Case 7 
              If resultat$ = "70"
                 suivant = 1 
              Else 
                 suivant = 0
              EndIf
          Case 8 
              If resultat$ = "10"
                 suivant = 1 
              Else 
                 suivant = 0
              EndIf
          Case 9 
              If resultat$ = "80"
                 suivant = 1
                 sortie0 = 1 
              Else 
                 suivant = 0
              EndIf 
          EndSelect 
          
       EndSelect
              
 ProcedureReturn suivant
 
 EndProcedure 



quelqun pourait t-il m'expliquer comment on met des couleur(s) ...etc... Car , j'ai essayé et je n'y arrive pas :oops: Merci :)
Avatar de l’utilisateur
Progi1984
Messages : 2659
Inscription : mar. 14/déc./2004 13:56
Localisation : France > Rennes
Contact :

Message par Progi1984 »

La meme chose en 88lignes
Désolé, mais le code n'est pas complètement nettoyé,car j'ai pris pour base ce que tu as fait !

Code : Tout sélectionner

Enumeration
#validation=2
#max = 9
EndEnumeration
erreur.s="Attention Léa, tu as fait une erreur"
correct.s="Félicitation, Bravo Léa"
fin_de_table.s="Félicitation, tu as fini la "
salut.s="Au revoir, Léa"
titre_info.s="Information"
Global choix_table

Global exercice.s, suivant, sortie0
MessageRequester("Calculs","Bonjour Léa , voici quelques multiplications",#PB_MessageRequester_Ok)
While choix_init = 0
  OpenWindow(1, 0, 0, 150, 110, #PB_Window_ScreenCentered, "Table de multiplication")
  UseWindow(1)
  CreateGadgetList(WindowID())
  ComboBoxGadget(4,5,10,140,100)
  GadgetToolTip(4,"choisir la table")
  ButtonGadget(5, 5, 45,140, 25, "Ok")
  GadgetToolTip(5,"valider")
  ButtonGadget(6, 5, 80,140, 25, "Quitter")
  GadgetToolTip(6,"Quitter le jeu")
  ActivateGadget(4)

  For a=1 To 10
      AddGadgetItem(4,-1,"Table de " + Str(a))
  Next
  SetGadgetState(4,0)
  sortie1=0
  Repeat
  ;
    Select WaitWindowEvent()
      Case #PB_Event_Gadget
        Select EventGadgetID()
          Case 6
            End
          Case 5
           sortie1=1
           If GetGadgetState(4)<>-1
             choix_table=GetGadgetState(4)+1
             Debug choix_table
                
           Else
            MessageRequester("", "Rien choisi dans le combo")
           EndIf
        EndSelect
    EndSelect
  ;
  Until sortie1 = 1
  CloseWindow(1)
  sortie0 = 0
  While sortie0 = 0
   fin = 0
   OpenWindow(0, 0, 0, 220, 100, #PB_Window_ScreenCentered, exercice2.s + "  --  Calcule : " +Str(choix_table)+"*0")
   CreateGadgetList(WindowID())
   #String0 = 1
   StringGadget(#String0, 20, 5, 140, 20, "", #PB_String_Numeric)   
   ButtonGadget(2, 20, 30,140, 25, "Ok")
   ButtonGadget(3, 20, 60,140, 25, "Terminer")
   ActivateGadget(#String0)
   note=0
   While fin = 0
    event = WaitWindowEvent()
    Select event
     Case #PB_Event_Gadget
       If EventGadgetID() = 2
        If Val(GetGadgetText(#String0))=note*choix_table
          note=note+1
          SetWindowTitle(0, "Calcul : " +Str(choix_table)+"*"+Str(note))
          SetGadgetText(#String0,"")
          ActivateGadget(#String0)
        Else
          MessageRequester("","Mauvais résultat")
        EndIf
       EndIf
       If EventGadgetID() = 3
         End
       EndIf
    EndSelect
    If note=11
      Break 2
    EndIf
   Wend
  Wend
  CloseWindow(0)
Wend
MessageRequester(titre_info, salut) 
lionel_om
Messages : 1500
Inscription : jeu. 25/mars/2004 11:23
Localisation : Sophia Antipolis (Nice)
Contact :

Message par lionel_om »

lol :lol:
Webmestre de Basic-univers
Participez à son extension: ajouter vos programmes et partagez vos codes !
Répondre