Он считывает вопросы / ответы / темы и c из файла .txt и сохраняет его в массиве под названием «questionArray», который разделяется запятыми в другой массив под названием «splitDetails». Оператор if выбирает вопросы определенного уровня сложности и topi c из списка и создает новый вопрос 'newQ' типа MultipleChoice, который имеет такие свойства, как QuestionText, Choice1, Choice2 et c. и добавлен в список под названием «allQuestions». populateTextboxes () выбирает случайный вопрос из списка allQuestions и устанавливает его для объекта currentQ, который имеет тип MultipleChoice, а затем удаляет его из списка, чтобы он больше не отображался.
{
if (File.Exists("MultipleChoice questions.txt")) //checking file exists
{
string[] questionArray = File.ReadAllLines("MultipleChoice questions.txt"); //create array of all questions
foreach (string Q in questionArray)
{
string[] splitDetails = Q.Split(','); //create new array split by commas
if (splitDetails[6] == Quiz.DifficultyLevel && splitDetails[7] == Quiz.CurrentTopic)
{
newQ.QuestionText = splitDetails[0];
newQ.Choice1 = splitDetails[1];
newQ.Choice2 = splitDetails[2];
newQ.Choice3 = splitDetails[3];
newQ.Choice4 = splitDetails[4];
newQ.Answer = splitDetails[5];
newQ.Difficulty = splitDetails[6];
newQ.Topic = splitDetails[7];
newQ.QuestionType = splitDetails[8];
allQuestions.Add(newQ);
}
}
}
Else MessageBox.Show("No question file found", "File not found");
}
//add text to blank question form
public MultipleChoice populateTextboxes()
{
Random myNum = new Random();
if (allQuestions.Count > 0)
{
questionCount += 1;
//select random question from all questions
int randomNumber = myNum.Next(0, allQuestions.Count);
currentQ = allQuestions[randomNumber];
allQuestions.Remove(currentQ);//remove used uestion so it isnt used again
}
//when the round is over (3 questions asked)
if (questionCount == 4)
{
//open keyboardQuestion
this.Close();
KeyboardInput k = new KeyboardInput();
k.Show();
}
lblQuestion.Text = currentQ.QuestionText;
btnChoice1.Text = currentQ.Choice1;
btnChoice2.Text = currentQ.Choice2;
btnChoice3.Text = currentQ.Choice3;
btnChoice4.Text = currentQ.Choice4;
return currentQ;
}