国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - C# - winform實現五子棋游戲

winform實現五子棋游戲

2022-02-19 15:40Jia_ShengJie C#

這篇文章主要為大家詳細介紹了winform實現五子棋游戲,具有一定的參考價值,感興趣的小伙伴們可以參考一下

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

利用數組,根據新舊數組值的不同,獲取那個點是什么棋子;

說明:

棋盤:15*15;

定義4個全局變量:

?
1
2
3
4
string[,] stroldlist = new string[15, 15];//初始的List
    public string[,] strlist = new string[15, 15]; //0 :未下,1:黑子 2:白子
     int icount = 0;//五子連線算贏
     string abc = "";//獲取是白子還是黑子,1=黑子 2=白子 0=無子

自我感覺這種方法好笨,但是實在想不到什么好方法了。

代碼如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
#region 判斷輸贏
    public void PanDuan() {
      //賦值
      for (int i = 0; i < 225; i++) {
        strlist[i / 15, i % 15] = sandwich[i].btn.Text;
        if (stroldlist[i / 15, i % 15] != strlist[i / 15, i % 15]) {
          stroldlist[i / 15, i % 15] = strlist[i / 15, i % 15];//把新數組賦值給舊數組
          icount = i;
          abc = strlist[i / 15, i % 15];      
        }
      }
 
 
      //檢查輸贏,共有四中情況,橫、豎、左斜、右斜
      int ix = icount / 15;//X軸
      int iy = icount % 15;//y軸
     // PublicClass.ShowMessage(ix+"--------"+iy);
      int count = 0;//五個點相連為贏
      // int kstart = 0;//五子連開始的點
      //四種情況,橫、豎、左斜、右斜
 
 
      //橫(左上角坐標為0,0)    "|"
      int k_shu_min = ix - 4 < 0 ? 0 : ix - 4;
      int k_shu_max = ix + 4 < 15 ? ix + 4 : 14;
      for (int k = k_shu_min; k <= k_shu_max; k++) {
        if (strlist[k, iy] == abc) {
          count++;
          if (count >= 5) {
            if (abc == "1") {
              PublicClass.ShowMessage("黑子勝!");
            }
            if (abc == "2") {
              PublicClass.ShowMessage("白子勝!");
            }
            return;
          }
        }else {
          count = 0;
        }
      }
      count = 0;//count值清0
 
 
      //豎      "一"
      int k_heng_min = iy - 4 < 0 ? 0 : iy - 4;
      int k_heng_max = iy + 4 < 15 ? iy + 4 : 14;
      for (int k = k_heng_min; k <= k_heng_max; k++) {
        if (strlist[ix, k] == abc) {
          count++;
          if (count >= 5) {
            if (abc == "1") {
              PublicClass.ShowMessage("黑子勝!");
            }
            if (abc == "2") {
              PublicClass.ShowMessage("白子勝!");
            }
            return;
          }
        }else {
          count = 0;
        }
      }    
      count = 0;
 
 
      //左斜     "/"
      int k_left_min = ix - 4 < 0 ? 0 : ix - 4;
      int k_left_max = ix + 4 < 15 ? ix + 4 : 14;
      for (int k = k_left_min; k <= k_left_max; k++) {
        int ky = 0;
        if (ix + iy > 14) {
          ky = ix + iy - k >= 14 ? 14 : ix + iy - k;
        } else {
          ky = ix + iy - k <= 0 ? 0 : ix + iy - k;
        }
        if (strlist[k, ky] == abc) {
          count++;
          if (count >= 5) {
            if (abc == "1") {
              PublicClass.ShowMessage("黑子勝!");
            }
            if (abc == "2") {
              PublicClass.ShowMessage("白子勝!");
            }
            return;
          }
        }else {
          count = 0;
        }
      }
      count = 0;
 
 
      //右斜      "\"
      int k_right_min = iy - 4 < 0 ? 0 : iy - 4;
      int k_right_max = iy + 4 < 15 ? iy + 4 : 14;
      for (int k = k_right_min; k <= k_right_max; k++) {
        int kx = 0;
        if (ix < iy) {        
          kx = ix - iy + k <= 0 ? 0 : ix - iy + k; 
        } else {
          kx = ix - iy + k >= 14 ? 14 : ix - iy + k;     
        }
        // PublicClass.ShowMessage(kx+"---"+k);
        if (strlist[kx, k] == abc) {
          count++;
          if (count >= 5) {
            if (abc == "1") {
              PublicClass.ShowMessage("黑子勝!");
            }
            if (abc == "2") {
              PublicClass.ShowMessage("白子勝!");
            }
            return;
          }
        }else {
          count = 0;
        }
      }
      count = 0;
    }
    #endregion

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:http://blog.csdn.net/u013816709/article/details/38424905

延伸 · 閱讀

精彩推薦
  • C#WPF 自定義雷達圖開發實例教程

    WPF 自定義雷達圖開發實例教程

    這篇文章主要介紹了WPF 自定義雷達圖開發實例教程,本文介紹的非常詳細,具有參考借鑒價值,需要的朋友可以參考下...

    WinterFish13112021-12-06
  • C#深入解析C#中的交錯數組與隱式類型的數組

    深入解析C#中的交錯數組與隱式類型的數組

    這篇文章主要介紹了深入解析C#中的交錯數組與隱式類型的數組,隱式類型的數組通常與匿名類型以及對象初始值設定項和集合初始值設定項一起使用,需要的...

    C#教程網6172021-11-09
  • C#C#裁剪,縮放,清晰度,水印處理操作示例

    C#裁剪,縮放,清晰度,水印處理操作示例

    這篇文章主要為大家詳細介紹了C#裁剪,縮放,清晰度,水印處理操作示例,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    吳 劍8332021-12-08
  • C#C#實現XML文件讀取

    C#實現XML文件讀取

    這篇文章主要為大家詳細介紹了C#實現XML文件讀取的相關代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    Just_for_Myself6702022-02-22
  • C#Unity3D實現虛擬按鈕控制人物移動效果

    Unity3D實現虛擬按鈕控制人物移動效果

    這篇文章主要為大家詳細介紹了Unity3D實現虛擬按鈕控制人物移動效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一...

    shenqingyu060520232410972022-03-11
  • C#C#設計模式之Visitor訪問者模式解決長隆歡樂世界問題實例

    C#設計模式之Visitor訪問者模式解決長隆歡樂世界問題實例

    這篇文章主要介紹了C#設計模式之Visitor訪問者模式解決長隆歡樂世界問題,簡單描述了訪問者模式的定義并結合具體實例形式分析了C#使用訪問者模式解決長...

    GhostRider9502022-01-21
  • C#C# 實現對PPT文檔加密、解密及重置密碼的操作方法

    C# 實現對PPT文檔加密、解密及重置密碼的操作方法

    這篇文章主要介紹了C# 實現對PPT文檔加密、解密及重置密碼的操作方法,非常不錯,具有參考借鑒價值,需要的朋友可以參考下...

    E-iceblue5012022-02-12
  • C#C#通過KD樹進行距離最近點的查找

    C#通過KD樹進行距離最近點的查找

    這篇文章主要為大家詳細介紹了C#通過KD樹進行距離最近點的查找,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    帆帆帆6112022-01-22
主站蜘蛛池模板: 亚洲区视频在线观看 | 欧美成人午夜视频 | 亚洲视频欧美视频 | 亚洲国产视频网 | 无码日韩精品一区二区免费 | 国产一区二区视频在线 | 欧美日韩精品一区 | 国产第一二区 | 奇米在线 | 成人在线小视频 | 久久精品中文字幕 | 国产天天操 | 亚洲网色| 免费av电影网站 | 综合一区 | 免费日韩 | 亚洲男人天堂网 | 久久一区二区视频 | 久久久精品亚洲 | 亚洲精品视频在线 | 亚洲天堂一区二区 | 美女搞黄网站 | 91免费看| 日韩午夜电影 | 中文字幕在线免费播放 | 欧美一区永久视频免费观看 | 欧美精品乱码久久久久久按摩 | 韩日精品一区 | 操av网 | а天堂中文最新一区二区三区 | 午夜a区| 好看的国产精彩视频 | 久久精品2019中文字幕 | 黄色毛片在线观看 | 中文在线a在线 | 免费视频爱爱太爽了 | 亚洲大奶网 | av网站在线免费观看 | 亚洲精品久久久 | 欧美精品一区二区三区在线播放 | 免费观看黄色大片 |