Générateur de suites (4 formules pur le momment)

Description

Voilà, c'est une form avec 1 Label,1 TextBox et 2 Boutons (Valider et générer)
ça crée une suite logique et vous devez trouver ce qui remplace le "?" dedans.
Si la réponse est bonne on gagne 1 point

Quelqu'un aurait-t-il une idée pour que le prog génère ses formules lui même ?
Comme ça j'aurai pas besoin de les mettres moi même, et c'est plus interressant pour la personne qui y joue (car c'est impossible de retenir une infinitée de formules ;) )

Vous noterez au passage que ce sont tous des Long et pas des Integer...
Parce que les integer sont trops petits :p

Je mets le code source et un ZIP

Source / Exemple :


Dim juste As Long ' pour vérifier la rep plus tard
Dim score As Integer ' ;)

Private Sub Command1_Click() ' le bouton générer
Dim tmp As Long 
Dim tmp2 As Long
Dim op1 As Long
Dim op2 As Long
Dim op3 As Long
Dim terme As Long
Form1.Caption = "Score :" + Str(score) ' mettre dans la barre de titre le score
terme = Int(Rnd * 9 + 1)
op1 = Int(Rnd * 100 + 1)
op2 = Int(Rnd * 100 + 1)
op3 = Int(Rnd * 10 + 1)
tmp = Int(Rnd * 100 + 1)
tmp2 = Int(Rnd * 100 + 1) 'touts ça c'est juste pour avoir un début != de 0
suite = "" 'suite est le label
suite = Str(tmp) 'on met le premier terme de la suite
Select Case Int(Rnd * 5) 'on tire une formule au hasard
   Case 0
      For ix = 0 To 9 ' 10 termes dans la suite
         tmp = tmp + op1 ' une des formules
         If ix = terme Then 'terme est tiré au hasard et ix est un compteur (i,j ou k générallement pour une variable compteur)
            suite = suite + "-?" ' ça c'est le terme masqué
            juste = tmp ' on sauve la valeure dans juste
         Else
            suite = suite + "-" + Str(tmp) ' on continue
         End If
      Next
Case 1
For ix = 0 To 9
tmp2 = tmp2 + op3
tmp = op1 * tmp2
If ix = terme Then
suite = suite + "-?"
juste = tmp
Else
suite = suite + "-" + Str(tmp)
End If
Next
Case 2
For ix = 0 To 9
tmp2 = tmp2 + 1
tmp = Val(Str(tmp2 + op1) + Str(tmp2 - op2))
If ix = terme Then
suite = suite + "-?"
juste = tmp
Else
suite = suite + "-" + Str(tmp)
End If
Next
Case 3
For ix = 0 To 9
tmp = (tmp + op1) Mod 10 + tmp
If ix = terme Then
suite = suite + "-?"
juste = tmp
Else
suite = suite + "-" + Str(tmp)
End If
Next
Case 4
For ix = 0 To 9
tmp = tmp + tmp / 10
If ix = terme Then
suite = suite + "-?"
juste = tmp
Else
suite = suite + "-" + Str(tmp)
End If
Next
End Select
If score > 0 Then score = score - 1 ' si il a 0 on ne lui met pas -1
End Sub

Private Sub Command2_Click()
If rep = juste Then ' si réponse juste
MsgBox "Bravo!"
score = score + 1
Else
MsgBox "La réponse était :" + Str(juste)
score = score - 1
End If
Command1_Click
End Sub

Private Sub rep_Click()' quand on clique pour mettre la réponse
rep.Text = "" 
End Sub

Private Sub rep_LostFocus()' si on clique autre part sans avoir rien mis
If rep.Text = "" Then rep.Text = 0
End Sub

Conclusion :


-Quelqu'un pourrait-il m'aider à en faire un truc sérieux ?
-J'aime les commentaires ;)
-Exersice pour les newbies :
  • Comprendre ce que ça fait
  • Le compiler en exe
  • formater les 3 autres "case"
  • Faire de même avec les "if"

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.