Сделать игру с движущимися фигурами - C#
Формулировка задачи:
Здравствуйте. Такая проблема возникла...
Если кратко, попросили сделать хоть как-то игру с движущимися фигурами.
Суть у меня в том, что вы зажимаете Enter, фигура начинает идти вправо и надо отжать кнопку на нужных точках, чтобы победить. У фигуры рандомный шаг, потому легко это сделать не выйдет.
За один проход, фигура может остановиться в нескольких выигрышных точках, т.е. вы за раз можете выиграть несколько раз (до 6-ти побед за 1 игру) и мне нужен счетчик, который подсчитывал эти попадания фигуры на нужные точки и выводил в лейбл результат.
Но проблема в том, что я не совсем понимаю, как вообще реализовать этот горе счетчик.
Через цикл у меня не получалось, мне сразу выдавало конечное число прохода, т.е. он сразу все проходы выполнял.
А через таймер я не понимаю, как такое сделать.
Вот код кнопки с условием, когда рисунок проходит через одну из указанных точек, то в лейбл 2 меняется текст на "You win!!!", этот текст спокойно может несколько раз возникнуть и как все это фиксировать, может кто подскажет?
private void button1_Click(object sender, EventArgs e)
{
Random n = new Random();
int i = n.Next(1, 10);
string s1 = i.ToString();
label1.Text = "Ваш шаг " + s1;
if ((pictureBox9.Location.X < 587) && (pictureBox9.Location.Y == -1))
{
pictureBox9.Left = pictureBox9.Left + i;
}
else
{
pictureBox9.Left = -1;
button1.Enabled = false;
}
if (((pictureBox9.Location.X == 115) && (pictureBox9.Location.Y == -1)) ||
((pictureBox9.Location.X == 207) && (pictureBox9.Location.Y == -1)) ||
((pictureBox9.Location.X == 298) && (pictureBox9.Location.Y == -1)) ||
((pictureBox9.Location.X == 399) && (pictureBox9.Location.Y == -1)) ||
((pictureBox9.Location.X == 492) && (pictureBox9.Location.Y == -1)) ||
((pictureBox9.Location.X == 585) && (pictureBox9.Location.Y == -1)))
{
label2.Text = "You win!!!";
// Тут я пытался что-то с счетчиком придумать...
// if (label2.Text == "You win!!!")
// {
// for (int Z = 0; Z < 10; Z++)
// {
// string s2 = Z.ToString();
// label5.Text = "Кол-во побед 1-го игрока " + s2;
// }
//
}
else
{
label2.Text = "-----";
}
}
}Решение задачи: «Сделать игру с движущимися фигурами»
textual
Листинг программы
label2.Text = "You win!!!";