亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C# > 正文

使用C#編寫15子游戲

2019-10-29 21:10:54
字體:
來源:轉載
供稿:網友

本文實例為大家分享了C#15子游戲的實現代碼,供大家參考,具體內容如下

所需控件:一個Button,拖入Form1中即可。
源碼:

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms;  namespace ShiWuZhiGame {   public partial class Form1 : Form   {     public Form1()     {       InitializeComponent();     }      const int N = 4; //按鈕的行、列數     Button[,] buttons = new Button[N, N]; //按鈕的數組      private void Form1_Load(object sender, EventArgs e)     {       //產生所有按鈕       GenerateAllButtons();     }     //打亂順序     void Shuffle()     {       //多次隨機交換兩個按鈕       Random rnd = new Random();       for (int i = 0; i < 100; i++)       {         int a = rnd.Next(N);         int b = rnd.Next(N);         int c = rnd.Next(N);         int d = rnd.Next(N);         Swap(buttons[a, b], buttons[c, d]);       }     }      //生成所有的按鈕     void GenerateAllButtons()     {       int x0 = 100, y0 = 10, w = 45, d = 50;       for (int r = 0; r < N; r++)         for (int c = 0; c < N; c++)         {           int num = r * N + c;           Button btn = new Button();           btn.Text = (num + 1).ToString();           btn.Top = y0 + r * d;           btn.Left = x0 + c * d;           btn.Width = w;           btn.Height = w;           btn.Visible = true;           btn.Tag = r * N + c; //這個數據用來表示它所在行列位置            //注冊事件           btn.Click += new EventHandler(btn_Click);            buttons[r, c] = btn; //放到數組中           this.Controls.Add(btn); //加到界面上         }       buttons[N - 1, N - 1].Visible = false; //最后一個不可見     }      //交換兩個按鈕     void Swap(Button btna, Button btnb)     {       string t = btna.Text;       btna.Text = btnb.Text;       btnb.Text = t;        bool v = btna.Visible;       btna.Visible = btnb.Visible;       btnb.Visible = v;     }      //按鈕點擊事件處理     void btn_Click(object sender, EventArgs e)     {       Button btn = sender as Button; //當前點中的按鈕       Button blank = FindHiddenButton(); //空白按鈕        //判斷是否與空白塊相鄰,如果是,則交換       if (IsNeighbor(btn, blank))       {         Swap(btn, blank);         blank.Focus();       }        //判斷是否完成了       if (ResultIsOk())       {         MessageBox.Show("ok");       }     }      //查找要隱藏的按鈕     Button FindHiddenButton()     {       for (int r = 0; r < N; r++)         for (int c = 0; c < N; c++)         {           if (!buttons[r, c].Visible)           {             return buttons[r, c];           }         }       return null;     }      //判斷是否相鄰     bool IsNeighbor(Button btnA, Button btnB)     {       int a = (int)btnA.Tag; //Tag中記錄是行列位置       int b = (int)btnB.Tag;       int r1 = a / N, c1 = a % N;       int r2 = b / N, c2 = b % N;        if (r1 == r2 && (c1 == c2 - 1 || c1 == c2 + 1) //左右相鄰         || c1 == c2 && (r1 == r2 - 1 || r1 == r2 + 1))         return true;       return false;     }      //檢查是否完成     bool ResultIsOk()     {       for (int r = 0; r < N; r++)         for (int c = 0; c < N; c++)         {           if (buttons[r, c].Text != (r * N + c + 1).ToString())           {             return false;           }         }       return true;     }      private void button1_Click_1(object sender, EventArgs e)     {       //打亂順序       Shuffle();     }   } } 

運行效果如下:

程序啟動時:

C#,15子,游戲

點擊開始后:

C#,15子,游戲

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到c#教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲欧洲偷拍精品| 美女精品视频一区| 欧美日韩在线视频首页| 国产a级全部精品| 欧美国产日韩xxxxx| 欧美精品成人在线| 成人在线一区二区| 热久久视久久精品18亚洲精品| 久久久久久久久久久国产| 中文字幕亚洲色图| 国产精品久久久久影院日本| 中文字幕在线成人| 久久久久久久久综合| 欧美资源在线观看| 国产一区二区免费| 日韩欧美有码在线| 在线一区二区日韩| 中文字幕欧美日韩精品| 欧美日韩国产成人| 午夜精品理论片| 中文字幕不卡在线视频极品| 精品国产一区二区三区久久狼黑人| 欧美与黑人午夜性猛交久久久| 亚洲新声在线观看| 欧美成年人网站| 欧美日韩国产区| 中文字幕亚洲一区| 国产精品久久久999| 91精品国产高清自在线看超| 国产精品三级网站| 亚洲国产女人aaa毛片在线| 亚洲国产精品国自产拍av秋霞| 国产一区二区动漫| 成人国产精品色哟哟| 九九九热精品免费视频观看网站| 麻豆国产精品va在线观看不卡| 国产亚洲一区二区在线| 精品网站999www| 成人网页在线免费观看| 97成人精品视频在线观看| 欧美激情在线播放| 亚洲精品久久久一区二区三区| 亚洲第一福利网站| 深夜福利亚洲导航| 久久夜色精品国产| 91精品视频免费| 国产亚洲视频中文字幕视频| 国产精品青草久久久久福利99| 亚洲自拍av在线| 午夜欧美不卡精品aaaaa| 欧美在线xxx| 国产精品一区二区久久久| 国产欧美精品一区二区三区介绍| www.国产精品一二区| 国产精品视频色| 久久久久999| 国产免费一区二区三区在线观看| 国产成人精品一区二区三区| 欧美视频国产精品| 国产一区二区三区在线播放免费观看| 日韩激情视频在线| 成人中文字幕在线观看| 欧美制服第一页| 亚洲精品久久久一区二区三区| 高跟丝袜欧美一区| 欧美日韩亚洲国产一区| 91精品国产综合久久久久久久久| 中文字幕日韩av| 久久精品美女视频网站| 国产黑人绿帽在线第一区| 国产suv精品一区二区三区88区| 国产va免费精品高清在线观看| 欧美午夜影院在线视频| 在线精品高清中文字幕| 久久免费成人精品视频| 亚洲国产小视频在线观看| 最近2019年手机中文字幕| 91久久久久久| 国产精品色视频| 久久久久国产一区二区三区| 亚洲jizzjizz日本少妇| 日韩在线观看免费全| 欧美性xxxxx极品娇小| 26uuu久久噜噜噜噜| 欧美激情国产高清| 亚洲精品色婷婷福利天堂| 亚洲精品日韩欧美| 国产成人一区二区三区小说| 久久久av亚洲男天堂| 亚洲国产高潮在线观看| 精品久久久久久久久中文字幕| 日韩av在线网页| 97超级碰碰碰| 欧美xxxx做受欧美.88| 亚洲精品国精品久久99热一| 国产日韩亚洲欧美| 日韩av色综合| 亚洲人成欧美中文字幕| 欧美一级bbbbb性bbbb喷潮片| 欧美成人第一页| 欧美老妇交乱视频| 亲爱的老师9免费观看全集电视剧| 久久好看免费视频| 国产精品中文久久久久久久| 中文字幕在线看视频国产欧美在线看完整| 久久久久久久久久av| 国产极品jizzhd欧美| 欧美日韩国产91| 中日韩美女免费视频网站在线观看| 国产精品美女视频网站| 国产欧美精品xxxx另类| 欧美裸体男粗大视频在线观看| 国产日本欧美在线观看| 亚洲人成欧美中文字幕| 国产91亚洲精品| 久久久久久久久久久91| 日韩在线观看免费高清| 一本大道亚洲视频| 国产日韩专区在线| 成人av在线网址| 日韩在线视频国产| 91精品免费视频| 九九综合九九综合| 亚洲成人av片在线观看| 国产精品99久久久久久人| 亚洲女成人图区| 精品精品国产国产自在线| 在线观看精品自拍私拍| 日本一区二区在线播放| 中文字幕日韩视频| 国产精品久久久久久影视| 中文字幕日韩av电影| 亚洲综合日韩在线| 久久人人爽人人爽人人片av高清| 久久久久九九九九| 国产精品日韩欧美大师| 日韩一区二区久久久| 久久免费少妇高潮久久精品99| 精品久久久在线观看| 国产大片精品免费永久看nba| 国产999视频| 亚洲成人在线视频播放| 日韩美女福利视频| 国产成人精品视频在线| 国产精品久久久久久久午夜| 亚洲综合在线中文字幕| 国模吧一区二区| 亚洲精品视频免费| 欧美体内谢she精2性欧美| 精品视频www| 欧洲成人在线观看| 国产精品久久久久久久久| 欧美日韩第一视频| 日韩欧美aaa| 中文字幕欧美日韩va免费视频| 精品亚洲男同gayvideo网站| 91chinesevideo永久地址| 国产成人精品综合久久久| 日韩毛片在线观看| 欧美国产日产韩国视频| 国产在线精品播放| 91精品国产综合久久久久久久久| 91久热免费在线视频| 欧洲成人性视频|