⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 paneforms.cs

📁 用vc#编写的小游戏
💻 CS
字号:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace Mine.UIL
{
    public partial class PaneForms : Form
    {
        /// <summary>
        /// Control类的对象
        /// </summary>
        private Mine.Model.Control control;
        System.Windows.Forms.Label label;
        System.Windows.Forms.Timer _time;
        private bool _succeed=false;

        /// <summary>
        /// 获取或设置游戏是否成功
        /// </summary>
        public bool Succeed
        {
            get { return _succeed;}
            set { _succeed = value; }
        }
        //public  System.Windows.Forms.Label labTip = new Label();
        public PaneForms()
        {
            InitializeComponent();
        }

        

        /// <summary>
        /// 重载构造涵数
        /// </summary>
        /// <param name="wight">Pane窗体的宽度</param>
        /// <param name="hight">窗体的高度</param>
        /// <param name="buttonNumber">按钮的个数</param>
        /// <param name="mineNumber">雷的个数</param>
        public PaneForms(int buttonNumber,int mineNumber, System.Windows.Forms.Label label,System.Windows.Forms.Timer time)
        {
            
            
            InitializeComponent();

            //初始化控件
            InitializeControl(buttonNumber, mineNumber);
            this.label = label;
            this.label.Text = mineNumber.ToString();

            _time = time;
        }

        /// <summary>
        /// 初始化控件
        /// </summary>
        /// <param name="wight">窗体宽度</param>
        /// <param name="hight">窗体高度</param>
        /// <param name="buttonNumber">按钮数目</param>
        /// <param name="mineNumber">雷的数目</param>
        public void InitializeControl(int buttonNumber,int mineNumber)
        {
            control = new Mine.Model.Control(buttonNumber,  mineNumber);
           

            for (int i = 0; i < control.ButtonNumber; i++)
            {
                this.panel1.Controls.Add(((Mine.Model.Pane)control._arrayList[i])._button);
            }


            //设置按钮的事件
            ButtonEvents();
        }
        private void panel1_Paint(object sender, PaintEventArgs e)
        {
           
        }

        /// <summary>
        /// 设置按钮的事件
        /// </summary>
        public void ButtonEvents()
        {
            for (int i = 0; i < control.ButtonNumber; i++)
            {
                System.Windows.Forms.Button button = ((Mine.Model.Pane)control._arrayList[i])._button;
                button.MouseDown += new System.Windows.Forms.MouseEventHandler(this.button1_MouseDown);
                
            }
        }

        /// <summary>
        /// 鼠标点击事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button1_MouseDown(object sender, MouseEventArgs e)
        {
            System.Windows.Forms.Button button = (System.Windows.Forms.Button)sender;

            //右键点
            if (e.Button == MouseButtons.Right)
            {
                if (button.Image != null && button.FlatStyle != FlatStyle.Popup)
                {
                    button.Image = null;
                   control.IsSucceed(button) ;
      
                   this.label.Text = Convert.ToString(Convert.ToInt32(this.label.Text) + 1);
                   ((Mine.Model.Pane)control._arrayList[(int)button.Tag]).State = "normal";
                }
                else if (button.Image == null && button.FlatStyle != FlatStyle.Popup)
                {
                    button.Image = global::Mine.Properties.Resources.Marked;
                    ((Mine.Model.Pane)control._arrayList[(int)button.Tag]).State = "marker";

                     this.label.Text =Convert.ToString( Convert.ToInt32(this.label.Text) - 1);
                     if (control.IsSucceed1(button) == 0 && Convert.ToInt32(this.label.Text)==0)
                     {

                         _time.Stop();
                         _time.Tag = "0";
                         MessageBox.Show("您已经排雷成功!","提示信息",MessageBoxButtons.OK,MessageBoxIcon.Information);
                         _succeed = true;
                     }
                }
            }
            //左键点
            if (e.Button == MouseButtons.Left && button.Image == null && ((Mine.Model.Pane)control._arrayList[(int)button.Tag]).State == "normal")
            {
                if ((string)_time.Tag == "0")
                {
                    _time.Start();
                    _time.Tag = "1";
                }

                //button.FlatStyle = FlatStyle.Popup;
                //((Mine.Model.Pane)control._arrayList[(int)button.Tag]).State = "open";
                //control.DisplayAround((int)button.Tag);
                if (((Mine.Model.Pane)control._arrayList[(int)button.Tag]).IsMine == true)
                {
                    control.DisplayAll();
                    _time.Stop();
                    _time.Tag = "0";
                    MessageBox.Show("您已经挂了,嘿嘿!", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                else
                {
                    switch (((Mine.Model.Pane)control._arrayList[(int)button.Tag]).PaneNumber)
                    {
                        case 1: ((Mine.Model.Pane)control._arrayList[(int)button.Tag])._button.Image = global::Mine.Properties.Resources.button1;
                            ((Mine.Model.Pane)control._arrayList[(int)button.Tag])._button.Enabled = false; break;
                        case 2: ((Mine.Model.Pane)control._arrayList[(int)button.Tag])._button.Image = global::Mine.Properties.Resources.button2; ((Mine.Model.Pane)control._arrayList[(int)button.Tag])._button.Enabled = false; break;
                        case 3: ((Mine.Model.Pane)control._arrayList[(int)button.Tag])._button.Image = global::Mine.Properties.Resources.button3; ((Mine.Model.Pane)control._arrayList[(int)button.Tag])._button.Enabled = false; break;
                        case 4: ((Mine.Model.Pane)control._arrayList[(int)button.Tag])._button.Image = global::Mine.Properties.Resources.button4; ((Mine.Model.Pane)control._arrayList[(int)button.Tag])._button.Enabled = false; break;
                        case 5: ((Mine.Model.Pane)control._arrayList[(int)button.Tag])._button.Image = global::Mine.Properties.Resources.button5; ((Mine.Model.Pane)control._arrayList[(int)button.Tag])._button.Enabled = false; break;
                        case 6: ((Mine.Model.Pane)control._arrayList[(int)button.Tag])._button.Image = global::Mine.Properties.Resources.button6; ((Mine.Model.Pane)control._arrayList[(int)button.Tag])._button.Enabled = false; break;
                        case 7: ((Mine.Model.Pane)control._arrayList[(int)button.Tag])._button.Image = global::Mine.Properties.Resources.button7; ((Mine.Model.Pane)control._arrayList[(int)button.Tag])._button.Enabled = false; break;
                        case 8: ((Mine.Model.Pane)control._arrayList[(int)button.Tag])._button.Image = global::Mine.Properties.Resources.button8; ((Mine.Model.Pane)control._arrayList[(int)button.Tag])._button.Enabled = false; break;
                        case 0: control.DisplayAround((int)button.Tag); break;
                    }
                }
            }
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -