C# оптимизировать помощник изучения слов
Суть задания была в том, чтобы сделать программу, которая помогает выучить дни недели на англ. Я, конечно, сделал это, но вот способ которым я решил это сделать меня вообще не устраивает, в голову ничего умнее не шло и решил пойти колхозным путём. В интерфейсе установлены 7 radioButton которые подписаны русскими днями недели и в итоге я сравниваю элементы массива с этими radioButton. Подскажите пожалуйста, как по человечески это можно было сделать, с расчётом на то что слов может быть не только 7, а больше, допустим ~30-40. Спасибо за внимание!
Класс формы:
public Form1()
{
InitializeComponent();
}
private void button2_Click(object sender, EventArgs e)
{
label1.Text = AppLogic.NewWord();
}
private void button1_Click(object sender, EventArgs e)
{
if(AppLogic.CurrentWord == default)
MessageBox.Show("Нажмите кнопку \"Новое слово\" для старта", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.None);
else if (radioButton1.Checked && AppLogic.CurrentWord == AppLogic.EngWords[1])
SendMsg();
else if (radioButton2.Checked && AppLogic.CurrentWord == AppLogic.EngWords[2])
SendMsg();
else if(radioButton3.Checked && AppLogic.CurrentWord == AppLogic.EngWords[3])
SendMsg();
else if (radioButton4.Checked && AppLogic.CurrentWord == AppLogic.EngWords[4])
SendMsg();
else if (radioButton5.Checked && AppLogic.CurrentWord == AppLogic.EngWords[5])
SendMsg();
else if (radioButton6.Checked && AppLogic.CurrentWord == AppLogic.EngWords[6])
SendMsg();
else if (radioButton7.Checked && AppLogic.CurrentWord == AppLogic.EngWords[0])
SendMsg();
else
MessageBox.Show("Неверно. Попробуйте ещё!", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.None);
void SendMsg()
{
MessageBox.Show("Правильный ответ!", "Ответ", MessageBoxButtons.OK, MessageBoxIcon.None);
label1.Text = AppLogic.NewWord();
}
}
Класс AppLogic:
public static class AppLogic
{
public static string[] EngWords =
{
"Sunday",
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday"
};
static Random rnd = new Random();
public static string CurrentWord = default;
public static string NewWord()
{
return CurrentWord = EngWords[rnd.Next(0, EngWords.Length)];
}
}