Beispiel #1
0
        void 修改区块当前外观(区块状态 当前外观)
        {
            System.Drawing.Image img;
            img = null;

            switch (当前外观)
            {
            case 区块状态.未知:
                img = Properties.Resources.n;
                break;

            case 区块状态.爆炸:
                img = Properties.Resources.c;
                break;

            case 区块状态.标记:
                img = Properties.Resources.f;
                break;

            case 区块状态.可疑:
                img = Properties.Resources.q;
                break;

            default:
                img = 设置区块外观();
                break;
            }

            this.Image = img;
        }
Beispiel #2
0
 void 初始化地雷(Boolean 是否是地雷, 雷场 雷场)
 {
     区块._所属雷场        = 雷场;
     _is地雷           = 是否是地雷;
     this.MouseDown += 处理鼠标被点击的方法;
     this.Size       = new System.Drawing.Size(_地雷宽度, _宽);
     当前状态            = 区块状态.未知;
 }
Beispiel #3
0
        void 处理鼠标被点击的方法(object sender, System.Windows.Forms.MouseEventArgs e)
        {
            if (游戏是否结束)
            {
                return;
            }
            //改变当前方块状态
            switch (e.Button)
            {
            case System.Windows.Forms.MouseButtons.Left:
                if (_当前状态 == 区块状态.未知)
                {
                    当前状态 = _is地雷 ? 区块状态.爆炸 : 区块状态.安全;
                }
                else if (_当前状态 == 区块状态.安全)
                {
                    //快速开辟安全区
                    快速开辟安全区(_在雷场中的行位置, _在雷场中的列位置);
                }
                break;

            case System.Windows.Forms.MouseButtons.Right:
                if (_当前状态 == 区块状态.未知)
                {
                    当前状态 = 区块状态.标记;
                    修改周围区块的已标记数量(_在雷场中的行位置, _在雷场中的列位置, true);
                }
                else if (_当前状态 == 区块状态.标记)
                {
                    当前状态 = 区块状态.可疑;
                    修改周围区块的已标记数量(_在雷场中的行位置, _在雷场中的列位置, false);
                }
                else if (_当前状态 == 区块状态.可疑)
                {
                    当前状态 = 区块状态.未知;
                }
                break;

            default:
                break;
            }
        }