激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

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

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

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

winform實現(xiàn)五子棋游戲

2022-02-19 15:40Jia_ShengJie C#

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

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

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

說明:

棋盤: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];//把新數(shù)組賦值給舊數(shù)組
          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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 欧美性生活视频免费看 | 日韩 欧美 中文 | 99精品视频在线观看免费 | 中文字幕1区2区 | 亚洲午夜精选 | 中文日韩在线视频 | 成人黄色免费 | 国产在线a | 成人电影毛片 | 国产亚洲精品久久久久5区 男人天堂免费 | 欧美在线观看视频一区二区 | 色播视频在线播放 | 狼伊千合综网中文 | 欧洲成人一区 | 久久久日韩精品一区二区 | av在线观 | 麻豆视频在线观看免费网站 | 精品国产91久久久久 | 欧美精品久久天天躁 | 精品国产一区二区三区蜜殿 | 欧美精品一区二区久久 | 国产亚洲精品yxsp | 成人在线视频网 | 在线看一区二区三区 | 56av国产精品久久久久久久 | 毛片在线免费观看视频 | 国产1区视频 | 一日本道久久久精品国产 | 91国内精品久久久久免费影院 | 欧美一级视频网站 | 中文字幕在线视频日本 | 一色桃子av大全在线播放 | 亚洲午夜1000理论片aa | ⅴideo裸体秀hd | 免费男女乱淫真视频 | 黄色网址在线视频 | 精品一区二区久久久久久按摩 | 免费在线观看毛片 | 欧美性生活视频免费 | 《97色伦在色在线播放》 | 亚洲小视频网站 |