Сделать игру с движущимися фигурами - 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!!!";

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4 из 5
Похожие ответы