0

次のような質問があります。

Dim Questions(25) As TheQuestions

Function loadQuestions()

    Questions(0).Question = "Which of these words are an adjective?"
    Questions(0).option1 = "Dog"
    Questions(0).option2 = "Beautiful"
    Questions(0).option3 = "Steven"
    Questions(0).option4 = "Bird"
    Questions(0).Answer = "B"

    Questions(1).Question = "What's the adjective in this sentence:" & vbCrLf & "'Kelly handled the breakable glasses very carefully'"
    Questions(1).option1 = "Kelly"
    Questions(1).option2 = "Handled"
    Questions(1).option3 = "Carefully"
    Questions(1).option4 = "Breakable"
    Questions(1).Answer = "D"

    Questions(2).Question = "What's the adjective in this sentence: 'Karen is a graceful dancer'"
    Questions(2).option1 = "Is"
    Questions(2).option2 = "Graceful"
    Questions(2).option3 = "Dancer"
    Questions(2).option4 = "Tanya"
    Questions(2).Answer = "B"
    ...

質問をうまくランダム化する方法を見つけましたが、表示されている質問とともに正しい 4 つの潜在的な回答が表示されることを確認できますか?

以下は、質問を取得してラベル (lblQuestion) に表示する関数を呼び出すためのコードです。

Function GetQuestion(ByVal intQuestion As Integer)

    tmrOne.Start()

        If questionNumber < 25 Then
            lblQuestionNumber.Text = "Question" & " " & questionNumber
            lblQuestion.Text = Questions(intQuestion).Question
            btnAnswerA.Text = Questions(intQuestion).option1
            btnAnswerB.Text = Questions(intQuestion).option2
            btnAnswerC.Text = Questions(intQuestion).option3
            btnAnswerD.Text = Questions(intQuestion).option4
            strAnswer = Questions(intQuestion).Answer
            questionNumber = questionNumber + 1
            btnAnswerA.BackColor = Color.White
            btnAnswerB.BackColor = Color.White
            btnAnswerC.BackColor = Color.White
            btnAnswerD.BackColor = Color.White
            btnAnswerA.Enabled = True
            btnAnswerB.Enabled = True
            btnAnswerC.Enabled = True
            btnAnswerD.Enabled = True
            Return intQuestion
        Else
            MsgBox("You have finished")
            End
        End If

End Function

私はこれを使用しました:

lblQuestion.Text = Questions(random.Next(25)).Question

質問をランダム化しますが、4 つの選択肢がある上記の配列のように、4 つの可能な回答が正しい質問と共に表示されるようにするにはどうすればよいでしょうか。

どうもありがとう!

4

1 に答える 1

1

それ以外の:

lblQuestion.Text = Questions(random.Next(25)).Question

乱数を保存して、次のようにするだけでよいと思います。

dim questionChosen as int

questionChosen = random.Next(25)
lblQuestion.Text = Questions(questionChosen).Question

次に、Questions(questionChosen).WhateverYouNeed を使用して残りのフィールドを更新します。

于 2013-08-24T16:05:50.370 に答える