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; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!