2016-04-09 5 views
-2

я класс называется QuestionsAll с конструктором:Метод без повторения

QuestionsAll(label question, Button b1, Button b2, Button b3, Button b4) 

и метод называется:

questions(string question, string answer1, string answer2, string answer3, string answer4, Button correctanswer) 

Как я использую его в своей форме:

void NewQuestion()  
{ 
    Random rd = new Random(); 
    int qu = rd.Next(0,4) 
    QuestionsAll q = new QuestionsAll(label1,Button1,Button2,Button3,Button4) //my question will be in label1, answer1 in Button1......) 

    if(qu == 1) q.questions("1+1 =", "1", "2", "3", "4", Button2); 
    if(qu == 2) q.questions("1+2 =", "1", "2", "3", "4", Button3); 
} 

И когда ты нажмите на правильный вопрос, измените вопрос, но вопросы и ответы повторяются. Как я могу это сделать без повторения?

+0

Вам нужно указать дополнительную информацию о текущем поведении и ожидаемом поведении. – MikeC

ответ

2

Если я понял, вы хотите пройти весь вопрос только один раз? Если да, составите список целых чисел, которые символизируют вопросы. Как только вопрос пройдет, удалите его из списка. Например:

List<int> questions = new List<int>(); 
for (int i = 0; i < 5; i++){ 
    list.add(i); 
} 
//... 
int qu = rd.Next(0, questions.Count); 
//... Question is answered 
questions.Remove(qu); 
+0

Korhak: И где я должен добавить этот метод q.questions («1 + 1 =», «1», «2», «3», «4», Button2)? –

+0

Я не знаю всей структуры вашей программы, поэтому вам нужно немного подумать. Вы сохраняете структуру, как у вас, просто замените строку на int qu = ... И в конце вы вызываете questions.Remove (qu), а затем метод можно вызвать снова. – Korhak

Смежные вопросы