Comment faire un questionnaire

tutux1 Messages postés 2 Date d'inscription mercredi 30 septembre 2009 Statut Membre Dernière intervention 2 octobre 2009 - 2 oct. 2009 à 13:19
tutux1 Messages postés 2 Date d'inscription mercredi 30 septembre 2009 Statut Membre Dernière intervention 2 octobre 2009 - 2 oct. 2009 à 17:32
Bonjour tout la monde,

Je fais appel à votre grande connaissance en programmation vb moi qui ne suis qu'un débutant.

Je cherche à mettre en place un jeu du type Qui Veut Gagner Des Millions.
Le jeu comprend une dizaine de questions de difficultés croissantes.
J'ai réussi à m'en sortir avec une question par niveau mais ce qu'on me demande est plus complexe. Il me faut 3 questions par niveau.
Ainsi, à chaque montée de niveau, le logiciel doit choisir aléatoirement une de ces 3 questions pour l'afficher(sachant que 4 possibilités de réponses sont associées à chaque question)
Jusque là, je m'en suis sorti avec ces lignes de programmation (exemple pour le prèmiere question):

Private Sub Bouton_commencer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Bouton_commencer.Click

Label_question1.Text = "Question 1"
Reponse_A.Text = "reponse A1" 'bonne réponse
Reponse_B.Text = "reponse B1"
Reponse_C.Text = "reponse C1"
Reponse_D.Text = "reponse D1"

Private Sub Reponse_B_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Reponse_B.Click
If Reponse_B.Text = "reponse B1" Then
MsgBox("Mauvaise réponse, vous avez perdu")
End If
End Sub

Private Sub Reponse_C_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Reponse_C.Click
If Reponse_B.Text = "reponse C1" Then
MsgBox("Mauvaise réponse, vous avez perdu")
End If
End Sub

Private Sub Reponse_D_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Reponse_D.Click
If Reponse_D.Text = "reponse D1" Then
MsgBox("Mauvaise réponse, vous avez perdu")
End If
End Sub

Private Sub Reponse_A_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Reponse_B.Click
If Reponse_A.Text = "reponse A1" Then
MsgBox("Bonne réponse")
Label_question1.Text = "Question 2"
Reponse_A.Text = "reponse A2"
Reponse_B.Text = "reponse B2"
Reponse_C.Text = "reponse C2"
Reponse_D.Text = "reponse D2"
End If
End Sub ...............

En fait, je chercherai un moyen de mettre :

Private Sub Bouton_commencer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Bouton_commencer.Click

Label_question1.Text = "Question 1.1"
Reponse_A.Text = "reponse A1.1"
Reponse_B.Text = "reponse B1.1"
Reponse_C.Text = "reponse C1.1"
Reponse_D.Text = "reponse D1.1" OR

Label_question1.Text = "Question 1.2"
Reponse_A.Text = "reponse A1.2"
Reponse_B.Text = "reponse B1.2"
Reponse_C.Text = "reponse C1.2"
Reponse_D.Text = "reponse D1.2" OR

Label_question1.Text = "Question 1.3"
Reponse_A.Text = "reponse A1.3"
Reponse_B.Text = "reponse B1.3"
Reponse_C.Text = "reponse C1.3"
Reponse_D.Text = "reponse D1.3" etc.....

Mais évidemment, cette fonction OR n'existe pas dans ce contexte.

Merci d'avance pour vos solutions.

Tutux1

2 réponses

nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
2 oct. 2009 à 13:37
Salut,

Il faut que réfléchisse a un meilleur algo.

Regardes du coté des collections et de la programmation objet

exemple
class question
int niveau
list(of reponse) reponses
int numeroreponsebonne


class reponse
string text

esperant que ca te guides

nb il y a possibilité de mettre plusieurs handler sur une fonction
Private Sub Btn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Bt1.Click, Bt2.Click
0
tutux1 Messages postés 2 Date d'inscription mercredi 30 septembre 2009 Statut Membre Dernière intervention 2 octobre 2009
2 oct. 2009 à 17:32
Salut nhervagault,
Comme je l'ai dit je ne suis qu'un novice et sur le coup, je ne comprend pas du tout ce que tu me conseilles de faire.
Pourrais-tu être plus précis stp?

Merci d'avance
0
Rejoignez-nous