Игра танчики. Добавить завершение игры. - C#

Узнай цену своей работы

Формулировка задачи:

Создаю танчики,нету уже сил. Не могу создать чтобы при попадании пули в танк выбило текст конец игры. Вот код:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Drawing.Drawing2D;
 
namespace WindowsFormsApplication1
{
    public partial class screen : Form
    {
        const int quantityMenuButtons = 2;
        Button[] menuButtons = new Button[quantityMenuButtons];
 
        public screen()
        {
            InitializeComponent();
            Пуля_Игрок1.Пуля_Image = WindowsFormsApplication1.Properties.Resources.bullet1;
            Пуля_Игрок2.Пуля_Image = WindowsFormsApplication1.Properties.Resources.bullet2;
            Игрок1.Игрок_Image = WindowsFormsApplication1.Properties.Resources.tank1_Up;
            Игрок2.Игрок_Image = WindowsFormsApplication1.Properties.Resources.tank2_Up;
 
            Меню_();
        }
 
        //класс для удобства работы с координатами яблока и сегментов змеи       
 
        меню Меню = new меню();
 
        игрок Игрок1 = new игрок();
        игрок Игрок2 = new игрок();
 
        пуля Пуля_Игрок1 = new пуля();
        пуля Пуля_Игрок2 = new пуля();
 
        private void Button1_Click(object sender, EventArgs e)  // кнопка "старт" 
        {
            BackgroundImage = null;
            panel1.Visible = true;
 
            gameover_text.Left = (panel1.Width / 2) - (gameover_text.Width / 2); // Позиція в центрі
            gameover_text.Top = (panel1.Height / 2) - (gameover_text.Width / 2);
            gameover_text.Visible = false;
 
            Игрок1_PicBox.Visible = true;
 
            if (timer1.Enabled)
                MessageBox.Show("Таймер работает");
            else MessageBox.Show("Таймер не работает");
 
            this.KeyDown += new KeyEventHandler(panzer_KeyDown);
            this.KeyUp += new KeyEventHandler(panzer_KeyUp);
 
            for (int i = 0; i < menuButtons.Length; i++)
                this.Controls.Remove(menuButtons[i]);
        }
 
        #region Нажатия клавиш а окне
        void panzer_KeyDown(object sender, KeyEventArgs e)
        {
            switch (e.KeyCode)
            {
                // клавиши для Игрок1
                case Keys.Up: { Игрок1.Ор = Ориентация.вверх; Игрок1.движется = true; Игрок1.Игрок_Image = WindowsFormsApplication1.Properties.Resources.tank1_Up; break; }
                case Keys.Down: { Игрок1.Ор = Ориентация.вниз; Игрок1.движется = true; Игрок1.Игрок_Image = WindowsFormsApplication1.Properties.Resources.tank1_Down; break; }
                case Keys.Left: { Игрок1.Ор = Ориентация.влево; Игрок1.движется = true; Игрок1.Игрок_Image = WindowsFormsApplication1.Properties.Resources.tank1_Left; break; }
                case Keys.Right: { Игрок1.Ор = Ориентация.вправо; Игрок1.движется = true; Игрок1.Игрок_Image = WindowsFormsApplication1.Properties.Resources.tank1_Right; break; }
                case Keys.NumPad0:
                    {
                        if (Пуля_Игрок1.выстрел == false)
                        {
                            if (Игрок1.Ор == Ориентация.вверх) { Пуля_Игрок1.Location.X = Игрок1.Location.X + 13; Пуля_Игрок1.Location.Y = Игрок1.Location.Y - 7; }
                            if (Игрок1.Ор == Ориентация.вниз) { Пуля_Игрок1.Location.X = Игрок1.Location.X + 13; Пуля_Игрок1.Location.Y = Игрок1.Location.Y + 33; }
                            if (Игрок1.Ор == Ориентация.влево) { Пуля_Игрок1.Location.X = Игрок1.Location.X - 7; Пуля_Игрок1.Location.Y = Игрок1.Location.Y + 13; }
                            if (Игрок1.Ор == Ориентация.вправо) { Пуля_Игрок1.Location.X = Игрок1.Location.X + 33; Пуля_Игрок1.Location.Y = Игрок1.Location.Y + 13; }
                            if (Игрок1.Ор == Ориентация.вверх) Пуля_Игрок1.Ор = Ориентация.вверх;
                            if (Игрок1.Ор == Ориентация.вниз) Пуля_Игрок1.Ор = Ориентация.вниз;
                            if (Игрок1.Ор == Ориентация.влево) Пуля_Игрок1.Ор = Ориентация.влево;
                            if (Игрок1.Ор == Ориентация.вправо) Пуля_Игрок1.Ор = Ориентация.вправо;
                            ПуляИгрок1_PicBox.Show();
                            Пуля_Игрок1.выстрел = true;
                        }
                        break;
                    }
                // клавиши для Игрок2
                case Keys.W: { Игрок2.Ор = Ориентация.вверх; Игрок2.движется = true; Игрок2.Игрок_Image = WindowsFormsApplication1.Properties.Resources.tank2_Up; break; }
                case Keys.S: { Игрок2.Ор = Ориентация.вниз; Игрок2.движется = true; Игрок2.Игрок_Image = WindowsFormsApplication1.Properties.Resources.tank2_Down; break; }
                case Keys.A: { Игрок2.Ор = Ориентация.влево; Игрок2.движется = true; Игрок2.Игрок_Image = WindowsFormsApplication1.Properties.Resources.tank2_Left; break; }
                case Keys.D: { Игрок2.Ор = Ориентация.вправо; Игрок2.движется = true; Игрок2.Игрок_Image = WindowsFormsApplication1.Properties.Resources.tank2_Right; break; }
                case Keys.Space:
                    {
                        if (Пуля_Игрок2.выстрел == false)
                        {
                            if (Игрок2.Ор == Ориентация.вверх) { Пуля_Игрок2.Location.X = Игрок2.Location.X + 13; Пуля_Игрок2.Location.Y = Игрок2.Location.Y - 7; }
                            if (Игрок2.Ор == Ориентация.вниз) { Пуля_Игрок2.Location.X = Игрок2.Location.X + 13; Пуля_Игрок2.Location.Y = Игрок2.Location.Y + 33; }
                            if (Игрок2.Ор == Ориентация.влево) { Пуля_Игрок2.Location.X = Игрок2.Location.X - 7; Пуля_Игрок2.Location.Y = Игрок2.Location.Y + 13; }
                            if (Игрок2.Ор == Ориентация.вправо) { Пуля_Игрок2.Location.X = Игрок2.Location.X + 33; Пуля_Игрок2.Location.Y = Игрок2.Location.Y + 13; }
                            if (Игрок2.Ор == Ориентация.вверх) Пуля_Игрок2.Ор = Ориентация.вверх;
                            if (Игрок2.Ор == Ориентация.вниз) Пуля_Игрок2.Ор = Ориентация.вниз;
                            if (Игрок2.Ор == Ориентация.влево) Пуля_Игрок2.Ор = Ориентация.влево;
                            if (Игрок2.Ор == Ориентация.вправо) Пуля_Игрок2.Ор = Ориентация.вправо;
                            ПуляИгрок2_PicBox.Show();
                            Пуля_Игрок2.выстрел = true;
                        }
                        break;
                    }
            }
        }
 
        void panzer_KeyUp(object sender, KeyEventArgs e)
        {
            switch (e.KeyCode)
            {
                // клавиши для Игрок1
                case Keys.Up: { Игрок1.движется = false; break; }
                case Keys.Down: { Игрок1.движется = false; break; }
                case Keys.Left: { Игрок1.движется = false; break; }
                case Keys.Right: { Игрок1.движется = false; break; }
                // клавиши для Игрок2
                case Keys.W: { Игрок2.движется = false; break; }
                case Keys.S: { Игрок2.движется = false; break; }
                case Keys.A: { Игрок2.движется = false; break; }
                case Keys.D: { Игрок2.движется = false; break; }
            }
 
            if (e.KeyCode == Keys.Escape) { this.Close(); } // Нажміть Esc для виходу
            if (e.KeyCode == Keys.R) // Перезапустити гру
            {               
 
            }
        }
        #endregion
 
        private void Button2_Click(object sender, EventArgs e)  // кнопка "выход" 
        {
            Application.Exit();
        }
 
        public void Меню_()                                    // вывод меню 
        {
            panel1.Visible = false;
            string[] buttText = new string[2] { "Старт", "Выход" };
            EventHandler[] handlers = new EventHandler[2] { new EventHandler(Button1_Click), new EventHandler(Button2_Click) };
 
            int buttonNumber = 0;
            int Y = 50;
            BackgroundImage = Меню.ФоноваяКартинкаМеню;
            do
            {
                Button but = new Button();
                but.Name = "button" + buttonNumber.ToString();
                but.ClientSize = new Size(150, 50);
                but.Location = new Point(600, Y);
                but.Text = buttText[buttonNumber];
                but.Click += handlers[buttonNumber];
                but.BackColor = Color.AliceBlue;
                this.Controls.Add(but);
                menuButtons[buttonNumber] = but;
                buttonNumber++;
                Y += 50;
            } while (buttonNumber != quantityMenuButtons);
        }
 
        private void timer1_Tick(object sender, EventArgs e)   // таймер 
        {
            Игрок1.Location.X = Игрок1_PicBox.Location.X;
            Игрок1.Location.Y = Игрок1_PicBox.Location.Y;
            Игрок2.Location.X = Игрок2_PicBox.Location.X;
            Игрок2.Location.Y = Игрок2_PicBox.Location.Y;
 
            Игрок1.Движение();
            Игрок2.Движение();
            Пуля_Игрок1.Движение();
            Пуля_Игрок2.Движение();
 
            Игрок1_PicBox.Image = Игрок1.Игрок_Image;
            Игрок2_PicBox.Image = Игрок2.Игрок_Image;
            ПуляИгрок1_PicBox.Image = Пуля_Игрок1.Пуля_Image;
            ПуляИгрок2_PicBox.Image = Пуля_Игрок2.Пуля_Image;
 
            Игрок1_PicBox.Location = new Point(Игрок1.Location.X, Игрок1.Location.Y);
            Игрок2_PicBox.Location = new Point(Игрок2.Location.X, Игрок2.Location.Y);
            ПуляИгрок1_PicBox.Location = new Point(Пуля_Игрок1.Location.X, Пуля_Игрок1.Location.Y);
            ПуляИгрок2_PicBox.Location = new Point(Пуля_Игрок2.Location.X, Пуля_Игрок2.Location.Y);
 
            if (Пуля_Игрок1.выстрел == false) ПуляИгрок1_PicBox.Hide();
            if (Пуля_Игрок2.выстрел == false) ПуляИгрок2_PicBox.Hide();
        }
    }
}

Решение задачи: «Игра танчики. Добавить завершение игры.»

textual
Листинг программы
Form1.Restart(); // Перезагружает форму
this.Form2.Hide();

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


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

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

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