私はWPFの子供向けのクイズを作成しています。ランダムにボタンの内容を割り当てます。
すべての質問は、データベースから来ています。
インターフェイスには質問用のテキストブロックと複数選択肢用の4つのボタンがあります。
ボタンの内容をランダムに割り当てて、正しい回答が常に同じボタンに表示されないようにするにはどうすればよいですか?
私はWPFの子供向けのクイズを作成しています。ランダムにボタンの内容を割り当てます。
すべての質問は、データベースから来ています。
インターフェイスには質問用のテキストブロックと複数選択肢用の4つのボタンがあります。
ボタンの内容をランダムに割り当てて、正しい回答が常に同じボタンに表示されないようにするにはどうすればよいですか?
:
には、使用可能な乱数を取得するにはList<string> Shuffle(List<string> answers)
{
Random r = new Random();
Dictionary<int, string> d = new Dictionary<int, string>();
foreach (var answer in answers)
{
d.Add(r.Next(), answer);
}
return d.OrderBy(a => a.Key).Select(b => b.Value).ToList();
}
本来、正しい答えの場所として0から3までの乱数を生成することでこれを行うことができます。それから残りの答えを、データベースから来る順序どおりに表示します。あなたは答えをシャッフルする方法を使用することができ
var placeHolder = new Random().Next(0,3);
の可能重複[SQLでランダムに行を要求するには?] (http://stackoverflow.com/questions/19412/how-to-request-a-random-row-in-sql) – BrokenGlass
要するに、乱数ジェネレータ(.NET Randomクラスなど)を使用して答えのセットへのランダムな順序、そして一度注文すると、ボタンに回答を割り当てます。あまり漠然とした答えが必要な場合は、あなたが今までに得たものを見せてください。 :) –