Générer des QCM aléatoires en VB.NET

vinifo2 Messages postés 5 Date d'inscription mardi 10 février 2015 Statut Membre Dernière intervention 19 mars 2015 - 18 mars 2015 à 10:13
vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 - 22 mars 2015 à 00:41
Bonjour les gars, ravi de vous retrouver sur le forum. Grâce à vos orientations, j'ai pu commencer mon QCM en VB.NET. Mais je suis bloqué.En fait je voudrais que mes questions soient généreés aléatoirement parmi une liste de 100 questions. Ceci pour éviter qu'à chaque fois que le joueur recommence le jeu, il ne tombe sur les mêmes questions. J'aimerais aussi qu'une question déjà générée ne revienne pas 2 fois, à moins que le joueuur ne recommence le jeu.

Merci d'avence pour vos réponses.

Voici un bout de mon code :

Public Class Form4

Private Sub Form4_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Timer1.Start()
End Sub

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick

If Secondes.Text < 9 Then
Secondes.Text = "0" & Secondes.Text + 1
Else

If Secondes.Text = "59" Then
Secondes.Text = "00"
If Minutes.Text < 9 Then
Minutes.Text = "0" & Minutes.Text + 1
Else
Minutes.Text = Minutes.Text + 1
End If
Else
Secondes.Text = Secondes.Text + 1
End If
End If
If Minutes.Text = "01" And Secondes.Text = "00" Then
Timer1.Stop()
Secondes.Text = "00"
Minutes.Text = "00"
Label2.Text = Label2.Text + 0
Button9.Text = "Désolé, le temps est écoulé !"
Button9.ForeColor = Color.Red
Button2.BackColor = Color.Red
Button2.Enabled = False
Button3.BackColor = Color.Green
Button3.Enabled = False
Button4.BackColor = Color.Red
Button4.Enabled = False
Button5.BackColor = Color.Red
Button5.Enabled = False

End If
End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Timer1.Stop()
Secondes.Text = "00"
Minutes.Text = "00"
Label2.Text = Label2.Text + 0
Button9.Text = "MAUVAISE REPONSE !"
Button9.ForeColor = Color.Red
Button2.BackColor = Color.Red
Button2.Enabled = False
Button3.BackColor = Color.Green
Button3.Enabled = False
Button4.BackColor = Color.Red
Button4.Enabled = False
Button5.BackColor = Color.Red
Button5.Enabled = False

End Sub
End Class

7 réponses

cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
18 mars 2015 à 11:31
0
vinifo2 Messages postés 5 Date d'inscription mardi 10 février 2015 Statut Membre Dernière intervention 19 mars 2015
18 mars 2015 à 12:24
Merci les amis
sauf que je n'arrive à ouvrir le lien. Et je ne sais pas pourquoi ?
Je me remet au travail dès que j'arrive à l'ouvrir

Petite précision sur ma question : les qcm à générer aléatoirement sont contenues chacunes dans une "Form" différente allant de "Form4" à "Form103" pour les 100 qcm. C'est le button "Commencer le jeu" du "Form3" qui doit générer la première question aléatoire et ainsi de suite...

Pour passer de la "Form1 à la From2, puis la From", J'ai fait :

Dim Form1 as New Form2
Form2.Show
Me.Hide


Pareil pour passer de la Form2 à la Form3
C'est à partir de la Form3 oû les questions doivent etre générées aléatoirement que je suis bolqué.

Autre problème : mon score revient à 0 si je passe à la forme suivante, alors qu'elle devrait continuer. Je ne sais pas comment résoudre cette difficulté.

Merci de m'apporter des précisions suplémentaires s'il y en a

a bientot
0
Zermelo Messages postés 378 Date d'inscription samedi 22 septembre 2012 Statut Membre Dernière intervention 13 août 2017 14
18 mars 2015 à 11:41
Bonjour vinifo2.

Je vous suggère de rendre votre code plus lisible par la coloration syntaxique, grâce au bouton "code", puis d'utiliser la classe
System.Random
en vous servant de votre explorateur d'objet et de votre aide MSDN.
Cordialement.
0
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
18 mars 2015 à 12:17
Bonjour Zermelo

et aussi à activer option explicit et option strict
0
vinifo2 Messages postés 5 Date d'inscription mardi 10 février 2015 Statut Membre Dernière intervention 19 mars 2015 > cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019
19 mars 2015 à 09:02
Oui, mais je ne sais pas comment faire tout cela pratiquement. Je vous rappelle que je débute encore. Merci de me donner donner des exemples en codant.
0
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57 > vinifo2 Messages postés 5 Date d'inscription mardi 10 février 2015 Statut Membre Dernière intervention 19 mars 2015
19 mars 2015 à 09:36
Si tu débutes je te conseille de lire et d'apprendre avec ce cours
http://plasserre.developpez.com/cours/vb-net/
0
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
18 mars 2015 à 12:36
Pourquoi as tu besoin de 100 forms !!!!!!!!!!!!!!!!!!!!!
0
vinifo2 Messages postés 5 Date d'inscription mardi 10 février 2015 Statut Membre Dernière intervention 19 mars 2015
19 mars 2015 à 09:45
En fait, je voudrais faire un jeu éducatif comportant 2 ou 3 niveaux de 20 questions chacun. Une moyenne de 12/20 vous permet de passer au niveau supérieur. au cas contraire, le joueur recommence le jeu. C'est pourquoi, je voudrait avoir pour chaque niveaux au moins 40 questions parmi lesquelles 20 doivent etre générées aléatoirement pour chaque niveau. ceci dans le but d'éviter que les memes questions reviennent lorsque le joueur échoue et qu'il doit recommencer. Autrement, il tombera sur les memes questions. Aussi, je ne voudrais pas qu'une question revienne 2 fois dans la meme série. C'est à partir de la Form3 que les questions doivent etre générées aléatoirement

J'ai essayé ce code pour le niveau I sur le quel je suis actuellement

Dim Form3 As New random(Form4 à Form 43)
Random(Form4 à Form43).Show
Me.Hide

Mais çà n'a pas marché
Je compte sur vous pour m'aider à surmonter cet obstacle et avancer.

Je vous rappelle mon autre problème qui n'est pas encore résolu jusque là. C'est le fait que mon score revient toujours à 0 quand je passe d'une question à l'autre. Commment faire pour que le score soit continuelle ?

voici mon code:

If Label1.Text="Bonne réponse" Then
Score.Text=Score.Text+1
Else
Score.Text=Score.Text+0
End if


Mais le score revient à 0 si l'on passe à la question suivante
Merci d'avance pour vos réponses
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
Modifié par ucfoutu le 19/03/2015 à 11:21
Bonjour,
1) j' "adore" : Score.Text=Score.Text+0
et j'"adore" dans la foulée que l'on ajoute un numérique à du texte

2) comment veux-tu que te soit donnée une r(éponse éclairée à ta seconde question, puisque l'on ne voit pas dans quelle procédure évènementielle ou autre tu incrémentes la variable score ?
Elle ne reviendra pas à 0 entre chaque question si :
- soit le la déclare à portée générale (donc dans la partie déclarative de ton module de code)
- soit tu la déclares "static" au sein de la procédure où tu calcules ce score
C'est le B.A.BA ...

EDIT : je crois qu'il serait temps de commencer par le commencement ===>>
Lis ceci :
https://msdn.microsoft.com/fr-fr/library/1t0wsc67.aspx
Tu ne saurais développer sans commencer au moins par là .

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviend
0
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
19 mars 2015 à 11:22
Je compte sur vous pour m'aider à surmonter cet obstacle et avancer.

Bien chef

Ce n'est pas avec 20 forms ,écrit ta propre class qui hérite d'un panel avec la question dans un label est les choix de réponses
avec des checkboxes
et seulement avec une form

Si tu achètes 10 glaces ou sorbets tu ne vas pas les mettre dans 10 congélateurs
0
vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 169
22 mars 2015 à 00:41
Bonjour cs_ShayW

"Si tu achètes 10 glaces ou sorbets tu ne vas pas les mettre dans 10 congélateurs"


J'adore cette subtile réponse
0
Rejoignez-nous