Dobrý den,
vytvářím quíz a zasekl jsem se. Chtěl bych vás poprosit o pomoc s úpravou kódu.
Abych popsal jak to má vypadat:
Na formu mám 4 labely (pro otázku a 3 možnosti odpovědi), 3 radio buttony (pro výběr odpovědi) a dva buttony se kterými potřebuji pomoct. Teda, momentálně tam mám jen jeden, protože nemám vyřešený kód, ale chtěl bych abych s jedním buttonem zapnul kvíz a zrovna vygeneroval do labelu náhodou otázku (ten button se poté hned skryje) a druh, který bude pokračovat v roli generování náhodných otázek a obsahovat podmínku pro správnou odpověď zároveň s podmínkou, že po 10ti otázka zobrazí další form kde se zobrazí proměnná X, což je počet správných odpovědí z deseti otázek.
Dal jsem dohromady nějaké zkušenosti, ale opravdu nevím zda-li jsme na správné cestě či úplně vedle.
Tady je ukázka zápisu textového souboru. Mám v něm 50 otázek z nichž chci náhodně generovat.
//Question|Answer1|Answer2|Answer3|right answer(a,b,c)
Question 1?|Answer1|Answer2|RightAnswer3|c
Question 2?|continue|vfvfvfvfv|gtgtgtgg|a
Question 3?|njmbnmb|right answer|right!|b
Question 4?|wasdw|cdcdc|right!|c
Question 5?|good!|fefefef|frfrfrfrf|a
A tady je kód:
http://oi60.tinypic.com/20pbtjo.jpg (Screen kódu a chyby v syntaxy.)
Public Class Form2
Dim q1(10), a1(10), a2(10), a3(10), ca(10) As String
Dim value As Integer
Dim x As Integer //proměnná pro výsledný počet správných odpovědí.
Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim soubor As New IO.StreamReader("textfile1.txt")
While Not soubor.EndOfStream
Dim txtline() As String = soubor.ReadLine().Split("|")
Dim question As String = txtline(0)
Dim ans1 As String = txtline(1)
Dim ans2 As String = txtline(2)
Dim ans3 As String = txtline(3)
Dim rightanswer As String = txtline(4)
End While
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim selectedanswer As String = ""
If RadioButton1.Checked = True Then selectedanswer = "a"
If RadioButton2.Checked = True Then selectedanswer = "b"
If RadioButton3.Checked = True Then selectedanswer = "c"
If selectedanswer = ca(value) Then x = x + 1
loadquestions()
End Sub
Public Sub loadquestions()
Randomize()
value = CInt(Int((10 * Rnd()) + 1))
Label1.Text = q1(value).ToString
Label2.Text = a1(value).ToString
Label3.Text = a2(value).ToString
Label4.Text = a3(value).ToString
End Sub
End Class