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"
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.