0

こんにちは私はビジュアルスタジオを使用して簡単な-複数の選択肢-クイズプログラムを開発しています。(C#)

ラジオボタンを使用して選択したいのですが、各ラジオボタンには-ランダムに選択された回答-があり、そのうちの1つが正しいものです。

考えられるすべての答えを配列に入力しました。そして、毎回同じ場所ではなく、どうすれば正しい答えを出すことができるのか知りたいのですが。

では、どうすれば正しい答えをランダムな場所に当てはめることができますか?他の場所では、配列から正しいものではない他の乱数を選択します。:D

私の質問はそれほど明確ではないことを私は知っています。私は説明する方法がわかりません。><

4

2 に答える 2

1

c#Random()クラスを使用し、配列にインデックスを付けますNext

Random r = new Random();

choice = possibleChoices[r.Next(possibleChoices.Length-1)];

次に、間違った選択肢の1つを正しい選択肢で上書きできます

radioButtons[r.Next(radioButtons.Length-1)] = correctAnswer;

ドキュメンテーション

于 2012-11-21T17:49:31.720 に答える
0

まず、正しい答えを選択し、次にランダムにインデックスを選択して、ランダムなラジオボタンに正しい答えを割り当てます。

他のラジオボタンにランダムな回答を入力します。

ヒント:この操作を容易にするために、ラジオボタンをリストに保存します。まず、すべてのラジオボタンをリストに入力し、回答が入力されたらリストから削除します。これにより、「正しい回答を入力したインデックス」や「複雑な」を処理する必要がなくなります。コントロールを名前で手動で参照するコード」

編集:別の回答でAlexei Levenkovが指摘しているように、乱数を適切に生成する方法の詳細については、このスレッドを参照してください

Random randomあなたのアプリで宣言されていると仮定します

List<RadioButton> buttons = new List<RadioButton>();
buttons.Add(answer);
buttons.Add(answer2);
buttons.Add(answer3);
buttons.Add(answer4);

int goodAnswerPos = random.Next(buttons.Count);
buttons[goodAnswerPos].Text = "Good Answer";
buttons.RemoveAt(goodAnswerPos);

foreach (RadioButton button in buttons)
{
    button.Text = "Randomly Selected Wrong Answer";
}

コントロールをに保存するbuttons[goodAnswerPos]と、ユーザーが回答を送信するときに正しいコントロールを選択したかどうかを知ることができます。

于 2012-11-21T17:47:22.203 に答える