저는 WPF에서 아이들을위한 퀴즈를 만들고 있습니다.무작위로 버튼의 내용을 지정하십시오.
모든 질문은 데이터베이스에서 제공됩니다.
인터페이스에는 질문에 대한 텍스트 블록과 객관식 답변에 대한 네 개의 버튼이 있습니다.
버튼의 내용을 무작위로 지정하여 정답이 항상 같은 버튼에 나타나지 않게하려면 어떻게해야합니까?
저는 WPF에서 아이들을위한 퀴즈를 만들고 있습니다.무작위로 버튼의 내용을 지정하십시오.
모든 질문은 데이터베이스에서 제공됩니다.
인터페이스에는 질문에 대한 텍스트 블록과 객관식 답변에 대한 네 개의 버튼이 있습니다.
버튼의 내용을 무작위로 지정하여 정답이 항상 같은 버튼에 나타나지 않게하려면 어떻게해야합니까?
:
당신이 사용할 수있는 임의의 숫자를 얻으려면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 임의 클래스)를 사용하여 응답 집합에 무작위 순서를 지정하고 명령을 받으면 단추에 응답을 할당합니다. 덜 모호한 답을 원하면 지금까지 얻은 것을 보여주십시오. :) –