Шрифт:
buttonAnswer5.Visible = visibleState;
}
//-----------------------------------------------------------------
//Вспомогательная функция, вызываемая для задания свойств видимости
//некоторых элементов управления
//-----------------------------------------------------------------
private void SetDifficultyButtonVisibility(bool visibleState) {
buttonShowAnswers_AdvancedVersion.Visible = visibleState;
buttonShowAnswers_SimpleVersion.Visible = visibleState;
}
//-------------------------------------------------------------
//Вспомогательная функция, которая позволяет задавать состояние
//видимости кнопок, отображающих ответы из словаря
//-------------------------------------------------------------
private void SetAnswerButtonEnabled(bool enabledState) {
buttonAnswer0.Enabled = enabledState;
buttonAnswer1.Enabled = enabledState;
buttonAnswer2.Enabled = enabledState;
buttonAnswer3.Enabled = enabledState;
buttonAnswer4.Enabled = enabledState;
buttonAnswer5.Enabled = enabledState;
}
//-----------------------------------------------------------------
//Задает текст в текстовом окне и кнопках,
//необходимых для формулирования вопросов.
//
//B случае практической реализации эта функция должна просматривать
//вопросы динамически
//-----------------------------------------------------------------
private void SetTextForVocabularyQuestion {
setQuestionText("What is the English word for 'der Mensch'?");
buttonAnswer0.Text = "Four";
buttonAnswer1.Text = "Person";
buttonAnswer2.Text = "Three";
buttonAnswer3.Text = "To Jump";
buttonAnswer4.Text = "Newspaper";
buttonAnswer5.Text = "Brother";
}
//Вызывается для оценки варианта ответа, выбранного пользователем
private void evaluateMultipleChoiceAnswer(Button buttonClicked, int selection) {
//Примечание: в практической реализации правильный номер ответа
//определяется динамически и не всегда соответствует "кнопке № 1"
//Если выбранный пользователем вариант ответа не является правильным,
//отменить доступ к нажатой кнопке
if (selection ! = 1) {
//Выбранный вариант ответа является неправильным
buttonClicked.Enabled = false;
} else {
//Пользователь выбрал правильный ответ, продолжить игру
StateChangeForGameUI(GameUIState.waitForNextQuestion);
}
}
//Абстракция, задающая текст вопросов
void setQuestionText(string textIn) {
textBoxAskQuestion.Text = textIn;
}
//----------------------------------------------------------------
//ОБРАБОТЧИК СОБЫТИЙ: Пользователь желает увидеть следующий вопрос
//----------------------------------------------------------------
private void buttonAskQuestion_Click(object sender, System.EventArgs e) {
SetTextForVocabularyQuestion;
StateChangeForGameUI(GameUIState.waitForUserToStateKnowledge);
}
//---------------------------------------------------------------------
//ОБРАБОТЧИК СОБЫТИЙ:
//Пользователь желает ответить на отображенный вопрос и сообщить, какой