2012-11-21 5 views
0

안녕하세요 저는 Visual Studio를 사용하여 여러 가지 선택형 퀴즈 프로그램을 개발하고 있습니다. (C#)C#에서 무작위로 선택하기

각 라디오 버튼에 무작위로 선택된 대답이 있고 그 중 하나가 올바른 라디오 버튼으로 선택하고 싶습니다.

가능한 모든 대답으로 배열을 채웠습니다. 그리고 매번 똑같은 장소에서 올바른 답을내는 방법을 알고 싶습니다.

어떻게 무작위로 적절한 답을 만들 수 있습니까? 다른 곳에서는 올바른 배열이 아닌 배열에서 다른 난수를 선택합니다. : D

나는 나의 질문이 내가 어떻게 설명 해야할지 명확하지 않다는 것을 알고있다. > <

+0

으로 잘못된 선택 사항 중 하나를 덮어 쓸 수있는 C#을 Random() 클래스 및 인덱스 Next

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

와 배열을 사용 귀하의 질문에 대한 혼란, 우리 중 누구든지 당신이하고 싶은 일에 가깝습니까? – emartel

+0

@emartel 네, 네가 도움이 될 것 같아. 나는 아이디어를 얻었고 나는 그것을 어플리케이션에 적용하려고 노력할 것이다. 고맙습니다. – Lamia

답변

0

먼저 답을 선택한 다음 임의로 색인을 선택하고 임의의 라디오 버튼에 정답을 지정하십시오.

무작위 응답으로 다른 라디오 버튼을 채 웁니다.

팁 :이 작업을 쉽게 수행 할 수 있도록 라디오 버튼을 목록에 저장하십시오. 먼저 목록에 모든 라디오 버튼을 채운 다음, 응답으로 채워지는 목록에서 목록을 제거합니다. 이렇게하면 "어느 색인에 정답을 넣었습니까?"또는 "복잡합니까?"를 처리 할 필요가 없습니다. 이름 "수동으로 컨트롤을 참조하는 코드

편집 : 다른 답변에서 알렉세이 Levenkov에 의해 지적, 제대로

Random random 앱에 선언 된 가정 난수를 생성하는 방법에 대한 자세한 내용은 this thread를 참조

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]에 컨트롤 저장 사용자가 답변을 제출할 때 올바른 사용자를 선택했는지 알 수 있습니다.

+0

Brilliant, 답변을 위해 그림을 사용하고 있기 때문에 제 신청서에 따라 작업하겠습니다. 나는 라디오 버튼 목록을 만드는 것에 대해 생각하지 않았다. 나는 그것을 시도 할 것이다 : D 고마워. – Lamia

1

가 있기 때문에 당신이 올바른 선택

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

documentation

+0

+1 ... [임의 번호 생성기는 하나의 난수 생성 전용] (http://stackoverflow.com/questions/767999/random-number-generator-only-generating-one-random-number)을 읽어보십시오. 전에 '무작위'로 일하지 않았다면. –

+0

그는 무작위로 임의의 대답을 다른 라디오 버튼에 할당하고 무작위 응답을 찾지 않으려 고합니다 – emartel

+0

이것은 저에게 새로운 것이지만 그것을 이해하려고 노력할 것입니다. 정말 고맙습니다. – Lamia