亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? form2.cs

?? C#寫了一個掃雷小游戲
?? CS
?? 第 1 頁 / 共 2 頁
字號:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace winmine
{
    public partial class Form2 : Form
    {
        public Form2()
        {
            InitializeComponent();
        }
        Graphics G;
        Random Rd = new Random();
       
        private void Form2_Load(object sender, EventArgs e)
        {           
            G = pictureBox1.CreateGraphics();
            BlockGraphics.GG = G;
            Map.RowCount = 9;
            Map.ColumnCount = 9;
            Map.MineNumber = 10;
            Map.Init();
            BlockGraphics.MemImage = new Bitmap(pictureBox1.Width, pictureBox1.Height);
            GG = Graphics.FromImage(BlockGraphics.MemImage);
            BlockGraphics.G = GG;
            Restart();

        }

        private void pictureBox1_Click(object sender, EventArgs e)
        {
             
        }
       
        Graphics GG; //Image in memery  
        private void pictureBox1_Paint(object sender, PaintEventArgs e)
        {
                
            GG.Clear(this.BackColor);         
            Map.DrawBlocks();            
            e.Graphics.DrawImage(BlockGraphics.MemImage, 0, 0);
            base.OnPaint(e);
        }

         
        private void button1_Click(object sender, EventArgs e)
        {            
            Restart();
        }

        private void Restart()
        {
            BlockGraphics.GG.Clear(this.BackColor);   
            timer1.Enabled = true;
            timer1.Interval=1000;
            Map.GameOver = false;
            Map.Time = 0;
            Map.UserMineCount = Map.MineNumber;
            textBox1.Text = Map.UserMineCount.ToString();
            this.Width = Map.Width + 15;
            this.Height = Map.Height + 120;
            //pictureBox1.Width = Map.Width;
            //pictureBox1.Height = Map.Height;
            List<BlockData> TBDList = new List<BlockData>();
            Map.BlockDataList = new List<BlockData>();
            int n = Map.RowCount;
            int m = Map.ColumnCount;
            for (int i = 0; i < n; i++)
            {
                for (int j = 0; j < m; j++)
                {
                    BlockData bd = new BlockData(j * Map.BlockWidth, i * Map.BlockWidth, 0);
                    bd.ID = i * Map.ColumnCount + j;
                    Map.BlockDataList.Add(bd);
                    TBDList.Add(bd);
                }
            }

            // 初始化雷             
            for (int j = 0; j < Map.MineNumber; j++)
            {
                int i1 = Rd.Next(TBDList.Count);
                TBDList[i1].IsMine = true;
                //TBDList[i1].State = BlockState.UserMine;
                TBDList[i1].MineCount = -1;
                TBDList.RemoveAt(i1);
            }
            //
            for (int i = 0; i < Map.BlockDataList.Count; i++)
            {
                #region InitBlock
                int row = i / Map.ColumnCount;
                int col = i % Map.ColumnCount;
                if (row > 0)
                {
                    //Add mine to  up                     
                    Map.BlockDataList[i - Map.ColumnCount].BlockList.Add(Map.BlockDataList[i]);
                    if (col > 0)
                    {
                        //Add mine to  left-up                          
                        Map.BlockDataList[i - Map.ColumnCount - 1].BlockList.Add(Map.BlockDataList[i]);
                    }
                    if (col < Map.ColumnCount - 1)
                    {
                        //Add mine to  right-up                        
                        Map.BlockDataList[i - Map.ColumnCount + 1].BlockList.Add(Map.BlockDataList[i]);
                    }
                }
                if (row < Map.RowCount - 1)
                {
                    //Add mine to  down                     
                    Map.BlockDataList[i + Map.ColumnCount].BlockList.Add(Map.BlockDataList[i]);
                    if (col > 0)
                    {
                        //Add mine to  left-down                         
                        Map.BlockDataList[i + Map.ColumnCount - 1].BlockList.Add(Map.BlockDataList[i]);
                    }
                    if (col < Map.ColumnCount - 1)
                    {
                        //Add mine to  right-down                        
                        Map.BlockDataList[i + Map.ColumnCount + 1].BlockList.Add(Map.BlockDataList[i]);
                    }
                }
                if (col > 0)
                {
                    //Add mine to  left                        
                    Map.BlockDataList[i - 1].BlockList.Add(Map.BlockDataList[i]);
                }
                if (col < Map.ColumnCount - 1)
                {
                    //Add mine to  right-up                        
                    Map.BlockDataList[i + 1].BlockList.Add(Map.BlockDataList[i]);
                }
                #endregion
                if (Map.BlockDataList[i].IsMine)
                {

                    #region InieMine
                    if (row > 0)
                    {
                        //Add mine to  up 
                        Map.BlockDataList[i - Map.ColumnCount].MineCount++;
                        Map.BlockDataList[i - Map.ColumnCount].MineList.Add(Map.BlockDataList[i]);
                        if (col > 0)
                        {
                            //Add mine to  left-up 
                            Map.BlockDataList[i - Map.ColumnCount - 1].MineCount++;
                            Map.BlockDataList[i - Map.ColumnCount - 1].MineList.Add(Map.BlockDataList[i]);


                        }
                        if (col < Map.ColumnCount - 1)
                        {
                            //Add mine to  right-up 
                            Map.BlockDataList[i - Map.ColumnCount + 1].MineCount++;
                            Map.BlockDataList[i - Map.ColumnCount + 1].MineList.Add(Map.BlockDataList[i]);

                        }
                    }
                    if (row < Map.RowCount - 1)
                    {
                        //Add mine to  down 
                        Map.BlockDataList[i + Map.ColumnCount].MineCount++;
                        Map.BlockDataList[i + Map.ColumnCount].MineList.Add(Map.BlockDataList[i]);
                        if (col > 0)
                        {
                            //Add mine to  left-down 
                            Map.BlockDataList[i + Map.ColumnCount - 1].MineCount++;
                            Map.BlockDataList[i + Map.ColumnCount - 1].MineList.Add(Map.BlockDataList[i]);
                        }
                        if (col < Map.ColumnCount - 1)
                        {
                            //Add mine to  right-down 
                            Map.BlockDataList[i + Map.ColumnCount + 1].MineCount++;
                            Map.BlockDataList[i + Map.ColumnCount + 1].MineList.Add(Map.BlockDataList[i]);
                        }
                    }
                    if (col > 0)
                    {
                        //Add mine to  left 
                        Map.BlockDataList[i - 1].MineCount++;
                        Map.BlockDataList[i - 1].MineList.Add(Map.BlockDataList[i]);
                    }
                    if (col < Map.ColumnCount - 1)
                    {
                        //Add mine to  right
                        Map.BlockDataList[i + 1].MineCount++;
                        Map.BlockDataList[i + 1].MineList.Add(Map.BlockDataList[i]);
                    }
                    #endregion
                }
            }
            for (int i = 1; i < Map.BlockDataList.Count; i++)
            {
                if (Map.BlockDataList[i].IsMine)
                {
                    Map.BlockDataList[i].MineCount = -1;
                }
            }
            Map.DrawBlocks();
        }
        int CurrentX=0;
        int CurrentY=0;
        bool LeftMouseDown = false;
        bool RightMouseDown = false;
        private void WinMine_MouseDown(object sender, MouseEventArgs e)
        {
            if (Map.GameOver)
            {
                Map.Showall();
                Map.DrawBlocks();
                return;
            }
            CurrentX = e.X;
            CurrentY = e.Y;
            CurrentX = CurrentX / Map.BlockWidth * Map.BlockWidth;
            CurrentY = CurrentY / Map.BlockWidth * Map.BlockWidth;
            BlockData bd = Map.GetBlock(CurrentX, CurrentY);
            if (bd == null)
            {
                return;
            }
            //if pressed left-button
            if (e.Button == MouseButtons.Left)
            {
                //if pressed left-button only
                if (!RightMouseDown)
                {
                    if (bd.State == BlockState.UserMine)

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产乱子伦一区二区三区国色天香| 91超碰这里只有精品国产| 中文字幕av一区 二区| eeuss影院一区二区三区| 日韩理论在线观看| 欧美一区二区三区白人| www.色精品| 日本va欧美va精品发布| 亚洲国产精品av| 91精品国产综合久久香蕉麻豆| 激情图区综合网| 亚洲精品高清在线| 精品少妇一区二区三区| 91官网在线观看| 91丨国产丨九色丨pron| 国产成人自拍在线| 日韩高清在线一区| 亚洲福利视频三区| 亚洲欧美日本在线| 国产精品入口麻豆原神| 亚洲国产精品传媒在线观看| 欧美在线制服丝袜| av不卡一区二区三区| 国产成人免费视| 国产一二三精品| 韩国三级在线一区| 国产福利不卡视频| 成av人片一区二区| 色噜噜狠狠色综合欧洲selulu| 91理论电影在线观看| 日本精品视频一区二区| 欧美三级在线看| 51精品秘密在线观看| 精品播放一区二区| 中文字幕一区二区三区色视频| 亚洲精品视频在线观看网站| 香港成人在线视频| 国产成人av一区二区| 在线精品视频免费观看| 欧美xingq一区二区| 国产精品热久久久久夜色精品三区| 一区二区在线看| 国产一区二区不卡老阿姨| 91免费看片在线观看| 精品黑人一区二区三区久久| 亚洲男同性恋视频| 国产麻豆视频一区二区| 欧美日韩中文一区| 日韩一区欧美小说| 精品亚洲成a人在线观看| 91福利小视频| 亚洲影院在线观看| 国产成人免费视频网站| 日韩一级免费观看| 亚洲成人自拍网| 成人免费看黄yyy456| 日韩一级二级三级精品视频| 一区二区日韩av| 色猫猫国产区一区二在线视频| 337p日本欧洲亚洲大胆色噜噜| 亚洲蜜臀av乱码久久精品| 成人午夜激情在线| 久久精品欧美一区二区三区麻豆 | 日韩午夜激情免费电影| 亚洲一区在线视频| 一本一道综合狠狠老| 成人免费一区二区三区视频 | 三级欧美韩日大片在线看| 99久久免费精品| 国产精品国产精品国产专区不蜜| 国内精品视频一区二区三区八戒 | 91精品福利在线一区二区三区| 亚洲精品视频一区| 在线亚洲高清视频| 亚洲特级片在线| 色诱视频网站一区| 亚洲国产毛片aaaaa无费看| 色美美综合视频| 天天综合网 天天综合色| 日韩欧美在线影院| 国产精品资源在线看| 日本一区二区三区国色天香| 成人毛片视频在线观看| 亚洲综合另类小说| 91精品国产色综合久久不卡电影 | 久久国产尿小便嘘嘘| 久久嫩草精品久久久精品| 99精品视频一区二区三区| 亚洲国产aⅴ天堂久久| 久久久精品2019中文字幕之3| 成人性生交大片免费看视频在线 | 欧美精品一区二区三区视频| 国产福利一区二区| 亚洲国产aⅴ天堂久久| 久久中文字幕电影| 欧美午夜影院一区| 国产精品一区二区x88av| 亚洲永久免费av| 国产女同性恋一区二区| 欧美日韩极品在线观看一区| 欧美视频精品在线| 国产精品综合久久| 蜜桃在线一区二区三区| 国产精品久久一卡二卡| 日韩免费高清av| 色av成人天堂桃色av| 国产成人一级电影| 九九视频精品免费| 亚洲香肠在线观看| 国产精品对白交换视频| 久久精品视频免费| 精品日本一线二线三线不卡| 欧美色视频在线| 色综合色狠狠综合色| 福利视频网站一区二区三区| 看电影不卡的网站| 日日摸夜夜添夜夜添亚洲女人| 玉足女爽爽91| 一区二区三区不卡视频| 一区二区三区精品| 亚洲一区二区欧美日韩| 亚洲精品成人精品456| 亚洲天天做日日做天天谢日日欢 | 日本一区二区视频在线| 久久久99久久| 国产精品久久久久aaaa樱花 | 亚洲欧洲av在线| 亚洲乱码中文字幕| 亚洲在线视频网站| 天天色 色综合| 久久成人免费网站| 成人黄色片在线观看| 色综合久久久久| 欧美日韩高清一区二区| 日韩美女视频在线| 久久综合色婷婷| 日韩一区中文字幕| 午夜精品福利久久久| 成人性视频免费网站| 色综合久久久久| 精品久久久久久久久久久院品网| 久久久精品免费观看| 一区二区三区中文字幕电影 | 91香蕉国产在线观看软件| 欧美日韩在线播放一区| 26uuu精品一区二区| 亚洲永久精品国产| 狠狠色丁香久久婷婷综合丁香| 色哟哟在线观看一区二区三区| 欧美一区二区三区四区久久| 欧美国产97人人爽人人喊| 伊人开心综合网| 国产精品一二三在| 在线不卡中文字幕播放| 国产精品乱人伦一区二区| 奇米影视一区二区三区小说| aaa欧美大片| 2020国产精品久久精品美国| 天堂在线一区二区| 在线精品视频小说1| 国产精品蜜臀av| 丁香婷婷综合色啪| 亚洲成a人v欧美综合天堂下载| 波多野结衣亚洲| 亚洲国产精品v| 粉嫩13p一区二区三区| 日韩三级在线免费观看| 亚洲成人www| 欧美专区日韩专区| 一区二区三区日韩欧美| 91丨porny丨首页| 亚洲日本成人在线观看| 91香蕉视频在线| 亚洲婷婷在线视频| 日本乱人伦aⅴ精品| 亚洲精品伦理在线| 欧美亚洲国产一区二区三区va | 亚洲精品高清在线| 在线观看不卡视频| 午夜私人影院久久久久| 欧美一区二区福利在线| 久久97超碰色| 中文一区二区在线观看| 懂色一区二区三区免费观看| 国产精品久久精品日日| 在线观看免费亚洲| 狠狠色丁香九九婷婷综合五月 | 国产区在线观看成人精品| 99久久精品国产一区二区三区| 亚洲人妖av一区二区| 88在线观看91蜜桃国自产| 国产一区视频在线看| 中文字幕久久午夜不卡| 粉嫩在线一区二区三区视频| 精品国产91久久久久久久妲己| 亚洲国产综合人成综合网站| 欧美美女网站色| 狠狠狠色丁香婷婷综合激情| 日韩一二三四区| 不卡电影免费在线播放一区|