Private void buttonDeleteChangedNumbers_Click(object sender, EventArgs e)
{
textBoxReadyNumbers.Text = "";
}
Кнопка “Выйти на начальный экран и начать с начала” отвечает за выход на начальный экран(StartScreen) и удаления всех результатов достигнутых игроком.
Private void buttonBackToStart_Click(object sender, EventArgs e)
{
NumberOfLEVEL.NumOfLev = 0;
level = 0;
LEVEL.chlevel = 0;
this.Hide();
StartScreen mainscreen = new StartScreen();
mainscreen.Show();
}
5. Кнопка “Проверка” открывает новое окно(форма), закрывая старое.
Private void buttonCheckingUp_Click(object sender, EventArgs e)
{
if (level != 0)
{
LEVEL.chlevel = level;
this.Hide();
CheckUpForm Р = new CheckUpForm();
Р .Show();
}
Else
MessageBox.Show(" Сначала выберите уровень !");
}
На новой форме пользователю предлагается пройти проверку из 5 тестов, согласно алгоритму выбранного уровня.Число вводится в единственную доступную строку (textBoxEnteredNumber) и после нажатия на кнопку “Проверить” прогоняется по алгоритму выбранного уровня.
Private void buttonCheck_Click(object sender, EventArgs e)
{
Random rnd = new Random();
int Enumber = Convert.ToInt32(textBoxEnteringRightNumber.Text);
int Rnumber= Convert.ToInt32(textBoxRandomNumber.Text);
if (LEVEL.chlevel == 1)
{
if (Rnumber %10== Enumber )
{
RAnswer();
}
Else
{
NotRAnswer();
}
int value = rnd.Next(-50, 100);
textBoxRandomNumber.Text = Convert.ToString(value);
}
if (LEVEL.chlevel == 2)
{
int digitCount = (int)Math.Log10(Rnumber) + 1;
int N = 0;
for (int i = 0; i < digitCount; i++)
{
N += Rnumber % 10;
Rnumber = Rnumber / 10;
}
if (N == Enumber)
{
RAnswer();
}
Else
{
NotRAnswer();
}
int value = rnd.Next(-50, 100);
textBoxRandomNumber.Text = Convert.ToString(value);
}
if (LEVEL.chlevel == 3)
{
if ((Rnumber *2)% 10 == Enumber)
{
RAnswer();
}
Else
{
NotRAnswer();
}
int value = rnd.Next(-50, 100);
textBoxRandomNumber.Text = Convert.ToString(value);
|
|
}
if (LEVEL.chlevel == 4)
{
string s = "";
if (Rnumber > 0)
{
int digitCount = (int)Math.Log10(Rnumber) + 1;
for (int i = 0; i < digitCount; i++)
{
s += Convert.ToString(Rnumber % 10);
Rnumber = Rnumber / 10;
}
}
Else
{
Rnumber = Rnumber * -1;
int digitCount = (int)Math.Log10(Rnumber) + 1;
s += "-";
for (int i = 0; i < digitCount; i++)
{
s += Convert.ToString(Rnumber % 10);
Rnumber = Rnumber / 10;
}
}
if (Convert.ToInt32(s) == Enumber)
{
RAnswer();
}
Else
{
NotRAnswer();
}
int value = rnd.Next(-50, 100);
textBoxRandomNumber.Text = Convert.ToString(value);
}
if (LEVEL.chlevel == 5)
{
if (Rnumber / 2 == Enumber)
{
RAnswer();
}
Else
{
NotRAnswer();
}
int value = rnd.Next(-50, 100);
textBoxRandomNumber.Text = Convert.ToString(value);
}
if (LEVEL.chlevel == 6)
{
if (Rnumber*Rnumber == Enumber)
{
RAnswer();
}
Else
{
NotRAnswer();
}
int value = rnd.Next(-50, 100);
textBoxRandomNumber.Text = Convert.ToString(value);
}
if (LEVEL.chlevel == 7)
{
int N =0;
if (Rnumber > 0)
{
int digitCount = (int)Math.Log10(Rnumber) + 1;
for (int i = 0; i < digitCount; i++)
{
if (i == 0 || i == digitCount - 1)
N += Rnumber % 10;
Rnumber = Rnumber / 10;
}
}
Else
{
Rnumber *= -1;
int digitCount = (int)Math.Log10(Rnumber) + 1;
for (int i = 0; i < digitCount; i++)
{
if (i == 0 || i == digitCount - 1)
N += Rnumber % 10;
Rnumber = Rnumber / 10;
}
}
if (N == Enumber)
{
RAnswer();
}
Else
{
NotRAnswer();
}
int value = rnd.Next(-50, 100);
textBoxRandomNumber.Text = Convert.ToString(value);
}
if (LEVEL.chlevel == 8)
{
int max = 0;
int min = 10;
if (Rnumber < 0)
{
Rnumber *= -1;
int digitCount = (int)Math.Log10(Rnumber) + 1;
for (int i = 0; i < digitCount; i++)
{
int q = Rnumber % 10;
if (q > max)
max = q;
if (q < min)
min = q;
Rnumber /= 10;
|
|
}
}
Else
{
int digitCount = (int)Math.Log10(Rnumber) + 1;
for (int i = 0; i < digitCount; i++)
{
int q = Rnumber % 10;
if (q > max)
max = q;
if (q < min)
min = q;
Rnumber /= 10;
}
}
if (min+max == Enumber)
{
RAnswer();
}
Else
{
NotRAnswer();
}
int value = rnd.Next(-50, 100);
textBoxRandomNumber.Text = Convert.ToString(value);
}
if (LEVEL.chlevel == 9)
{
int N = 0;
if (Rnumber < 0)
{
Rnumber *= -1;
int digitCount = (int)Math.Log10(Rnumber) + 1;
for (int i = 0; i < digitCount; i++)
{
if ((Rnumber % 10) % 2 > 0)
N += Rnumber % 10;
Rnumber = Rnumber / 10;
}
}
Else
{
int digitCount = (int)Math.Log10(Rnumber) + 1;
for (int i = 0; i < digitCount; i++)
{
if ((Rnumber % 10) % 2 > 0)
N += Rnumber % 10;
Rnumber = Rnumber / 10;
}
}
if (N == Enumber)
{
RAnswer();
}
Else
{
NotRAnswer();
}
int value = rnd.Next(-50, 100);
textBoxRandomNumber.Text = Convert.ToString(value);
}
if (LEVEL.chlevel == 10)
{
int max = 0;
int min = 10;
if (Rnumber < 0)
{
Rnumber *= -1;
int digitCount = (int)Math.Log10(Rnumber) + 1;
for (int i = 0; i < digitCount; i++)
{
int q = Rnumber % 10;
if (q > max)
max = q;
if (q < min)
min = q;
Rnumber /= 10;
}
}
Else
{
int digitCount = (int)Math.Log10(Rnumber) + 1;
for (int i = 0; i < digitCount; i++)
{
int q = Rnumber % 10;
if (q > max)
max = q;
if (q < min)
min = q;
Rnumber /= 10;
}
}
if ( max-min == Enumber)
{
RAnswer();
}
Else
{
NotRAnswer();
}
int value = rnd.Next(-50, 100);
textBoxRandomNumber.Text = Convert.ToString(value);
}
if (LEVEL.chlevel == 11)
{
int N = 0;
string s = "";
if (Rnumber == 0)
{
N = 0;
}
Else
{
if (Rnumber < 0)
{
Rnumber *= -1;
int digitCount = (int)Math.Log10(Rnumber) + 1;
for (int i = 0; i < digitCount; i++)
{
N = (Rnumber % 10) * 2;
s += N % 10;
Rnumber = Rnumber / 10;
}
}
|
|
Else
{
int digitCount = (int)Math.Log10(Rnumber) + 1;
for (int i = 0; i < digitCount; i++)
{
N = (Rnumber % 10) * 2;
s += N % 10;
Rnumber = Rnumber / 10;
}
}
}
if (Convert.ToInt32(new string(s.Reverse().ToArray())) == Enumber||Enumber==N)
{
RAnswer();
}
Else
{
NotRAnswer();
}
int value = rnd.Next(-50, 100);
textBoxRandomNumber.Text = Convert.ToString(value);
}
textBoxEnteringRightNumber.Text = "";
Если пользователь пройдя некоторую часть тестов, ошибся то счетчик тестов обнуляется.
Public void RAnswer()
{
MessageBox.Show(" Верно , молодец !");
count++;
textBoxCounter.Text= Convert.ToString(count);
}
Public void NotRAnswer()
{
MessageBox.Show(" Нет , не верно !");
textBoxCounter.Text = Convert.ToString(0);
count = 0;
}
Если же пользователь прошел все тесты то он возвращается на главный экран и ему доступен новый уровень ( только если он проходил последний из доступных).
if (count == 5)
{
if (NumberOfLEVEL.NumOfLev==10)
{
MessageBox.Show("Поздравляю вы прошли игру, мы надеемся что ваше понимание алгоритмов стало лучше.Всего хорошего!");
this.Hide();
MainScreen mainscreen = new MainScreen();
mainscreen.Show();
}
if (NumberOfLEVEL.NumOfLev == LEVEL.chlevel - 1)
{
NumberOfLEVEL.NumOfLev += 1;
MessageBox.Show(" Вам доступен новый уровень , поздравляю !");
this.Hide();
MainScreen mainscreen = new MainScreen();
mainscreen.Show();
}
Else
{
MessageBox.Show("Вы снова прошли проверку , для открытия нвовго уровня поробуйте выбрать последний текущий уровень .");
this.Hide();
|
|
MainScreen mainscreen = new MainScreen();
mainscreen.Show();
}
}
Для этого были созданы 2 переменные(для номера выбранного уровня и для количества открытых уровней).
Static class LEVEL
{
public static int chlevel { get; set; }
}
Static class NumberOfLEVEL
{
public static int NumOfLev { get; set; }
}
6. Кнопка “Сохранить результат” отвечает за регистрацию пользователя и сохранения его результатов, через нажатие кнопки(buttonSaveResult). (Сохранение только последнего пользователя)
Дата добавления: 2021-07-19; просмотров: 82; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!