日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > C# >内容正文

C#

黑白棋 C#版本

發(fā)布時(shí)間:2023/12/14 C# 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 黑白棋 C#版本 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
using System; using System.Drawing; using System.Threading; using System.Windows.Forms;namespace WindowsApplication1 {public partial class Form1 : Form{private int x1;//落子位置 private int y1;private int[,] Map = new int[10, 10];//0無(wú)子 1黑色 2白色 private int MyColor;string[] Info = new string[61];public Form1(){InitializeComponent();}private void Show_Can_Position(){//用圖片形式顯示可以落子的位置 int i;int j;Graphics g = this.pictureBox1.CreateGraphics();Bitmap bitmap = new Bitmap("Info2.png");//提示圖片 int n = 0;for (i = 1; i <= 8; i++){for (j = 1; j <= 8; j++){if (Map[i, j] == 0 & Can_go(i, j)){Info[n] = i + "|" + j;n = n + 1;g.DrawImage(bitmap, (i - 1) * 45 + 26, (j - 1) * 45 + 26, 30, 30);}}}}//統(tǒng)計(jì)可以落子的位置數(shù) private int Show_Can_Num(){int i, j;int n = 0;for (i = 1; i <= 8; i++){for (j = 1; j <= 8; j++){if (Can_go(i, j)){Info[n] = i + "|" + j;n = n + 1;}}}return n;//可以落子的位置個(gè)數(shù) }private void Cls_Can_Position(){int n;string a;string b;int x;int y;string s;Graphics g = this.pictureBox1.CreateGraphics();Bitmap bitmap = new Bitmap("BackColor.png");//背景圖片 for (n = 0; n <= 60; n++){s = Info[n];if (string.IsNullOrEmpty(s)) break;a = s.Substring(0, 1);//b = s.Substring(Strings.InStr(s, "|"), 1);b = s.Substring(s.IndexOf('|', 1) + 1);x = Convert.ToInt16(a);y = Convert.ToInt16(b);if (Map[x, y] == 0){g.DrawImage(bitmap, (x - 1) * 45 + 26, (y - 1) * 45 + 26, 30, 30);}//Me.Text = CInt(x) & y }}private bool CheckDirect(int x1, int y1, int dx, int dy){int x, y;bool flag;x = x1 + dx;y = y1 + dy;flag = false;while (InBoard(x, y) & !Ismychess(x, y) & Map[x, y] != 0){x += dx;y += dy;flag = true; //構(gòu)成夾擊之勢(shì) }if (InBoard(x, y) & Ismychess(x, y) & flag == true){return true; //該方向落子有效 }return false;}private void DirectReverse(int x1, int y1, int dx, int dy){int x, y;bool flag;x = x1 + dx;y = y1 + dy;flag = false;while (InBoard(x, y) & !Ismychess(x, y) & Map[x, y] != 0){x += dx;y += dy;flag = true; //構(gòu)成夾擊之勢(shì) }if (InBoard(x, y) & Ismychess(x, y) & flag == true){do{x -= dx;y -= dy;if ((x != x1 || y != y1)) FanQi(x, y);} while ((x != x1 || y != y1));}}private bool InBoard(int x, int y){if (x >= 1 & x <= 8 & y >= 1 & y <= 8)return true;elsereturn false;}private bool Can_go(int x1, int y1){//從左,左上,上,右上,右,右下,下,左下八個(gè)方向判斷if (CheckDirect(x1, y1, -1, 0) == true)return true;if (CheckDirect(x1, y1, -1, -1) == true)return true;if (CheckDirect(x1, y1, 0, -1) == true)return true;if (CheckDirect(x1, y1, 1, -1) == true)return true;if (CheckDirect(x1, y1, 1, 0) == true)return true;if (CheckDirect(x1, y1, 1, 1) == true)return true;if (CheckDirect(x1, y1, 0, 1) == true)return true;if (CheckDirect(x1, y1, -1, 1) == true)return true;return false;}private void pictureBox1_MouseDown(object sender, MouseEventArgs e){int x, y;int n = 0;x1 = (e.X - 22) / 45 + 1;y1 = (e.Y - 22) / 45 + 1;if (!Can_go(x1, y1)){toolStripStatusLabel1.Text = "此處不能走棋子";return;}if (MyColor == 1){listBox1.Items.Add("黑色落在(" + Convert.ToChar(x1 + 64).ToString() + "," + y1 + ")");}else{listBox1.Items.Add("白色落在(" + Convert.ToChar(x1 + 64).ToString() + "," + y1 + ")");}//(x1,y1)處原色處理 Graphics g = this.pictureBox1.CreateGraphics();Bitmap bitmap = new Bitmap("WhiteStone.png");if (MyColor == 2){Map[x1, y1] = 2;g.DrawImage(bitmap, (x1 - 1) * 45 + 22, (y1 - 1) * 45 + 22, 45, 45);}if (MyColor == 1){Map[x1, y1] = 1;bitmap = new Bitmap("BlackStone.png");g.DrawImage(bitmap, (x1 - 1) * 45 + 22, (y1 - 1) * 45 + 22, 45, 45);}//從左,左上,上,右上,右,右下,下,左下八個(gè)方向翻轉(zhuǎn) if (CheckDirect(x1, y1, -1, 0) == true) //向左方向形成夾擊之勢(shì)DirectReverse(x1, y1, -1, 0);if (CheckDirect(x1, y1, -1, -1) == true) //向左上方向形成夾擊之勢(shì)DirectReverse(x1, y1, -1, -1);if (CheckDirect(x1, y1, 0, -1) == true) //向上方向形成夾擊之勢(shì)DirectReverse(x1, y1, 0, -1);if (CheckDirect(x1, y1, 1, -1) == true) //向右上方向形成夾擊之勢(shì)DirectReverse(x1, y1, 1, -1);if (CheckDirect(x1, y1, 1, 0) == true)DirectReverse(x1, y1, 1, 0);if (CheckDirect(x1, y1, 1, 1) == true)DirectReverse(x1, y1, 1, 1);if (CheckDirect(x1, y1, 0, 1) == true)DirectReverse(x1, y1, 0, 1);if (CheckDirect(x1, y1, -1, 1) == true)DirectReverse(x1, y1, -1, 1);Cls_Can_Position(); //清除提示 if (MyColor == 1){//狀態(tài)行提示該對(duì)方走棋 MyColor = 2;toolStripStatusLabel1.Text = "白色棋子走";}else{MyColor = 1;toolStripStatusLabel1.Text = "黑色棋子走";}Show_Can_Position(); //顯示提示 if (Show_Can_Num() == 0){MessageBox.Show("提示", "對(duì)方無(wú)可走位置,請(qǐng)繼續(xù)走棋");if (MyColor == 1){MyColor = 2;toolStripStatusLabel1.Text = "白色棋子繼續(xù)走";}else{MyColor = 1;toolStripStatusLabel1.Text = "黑色棋子繼續(xù)走";}Show_Can_Position(); //顯示提示 }//判斷游戲是否結(jié)束 int whitenum = 0;int blacknum = 0;for (x = 1; x <= 8; x++){for (y = 1; y <= 8; y++){if (Map[x, y] != 0){n = n + 1;if (Map[x, y] == 2)whitenum += 1;if (Map[x, y] == 1)blacknum += 1;}}}if (n == 64) //在棋盤下滿時(shí), {if (blacknum > whitenum){MessageBox.Show("游戲結(jié)束黑方勝利", "黑方:" + blacknum + "白方:" + whitenum);}else{MessageBox.Show("游戲結(jié)束白方勝利", "黑方:" + blacknum + "白方:" + whitenum);}pictureBox1.Enabled = false; //游戲結(jié)束,不能走棋 button1.Enabled = true; //"開始游戲"按鈕有效 return;}//在棋盤還沒(méi)有下滿時(shí) if (whitenum == 0){MessageBox.Show("游戲結(jié)束黑方勝利", "黑方:" + blacknum + "白方:" + whitenum);pictureBox1.Enabled = false; //游戲結(jié)束,不能走棋 button1.Enabled = true; //"開始游戲"按鈕有效 }if (blacknum == 0){MessageBox.Show("游戲結(jié)束白方勝利", "黑方:" + blacknum + "白方:" + whitenum);pictureBox1.Enabled = false; //游戲結(jié)束,不能走棋 button1.Enabled = true; //"開始游戲"按鈕有效 }}private void FanQi(int x, int y){Graphics g = this.pictureBox1.CreateGraphics();Bitmap bitmap = new Bitmap("WhiteStone.png");//1黑色 2白色 if (Map[x, y] == 1){Map[x, y] = 2;g.DrawImage(bitmap, (x - 1) * 45 + 22, (y - 1) * 45 + 22, 45, 45);}else{Map[x, y] = 1;bitmap = new Bitmap("BlackStone.png");g.DrawImage(bitmap, (x - 1) * 45 + 22, (y - 1) * 45 + 22, 45, 45);}Thread.Sleep(200); //延時(shí)0.2秒listBox1.Items.Add(" (" + Convert.ToChar(x + 64).ToString() + "," + y + ")處被反色");}private bool Ismychess(int x, int y){if (Map[x, y] == MyColor)return true;elsereturn false;}private void button1_Click(object sender, EventArgs e){//開始游戲按鈕事件過(guò)程 int x, y;Graphics g = this.pictureBox1.CreateGraphics();Bitmap bitmap = new Bitmap("WhiteStone.png");pictureBox1.Enabled = true;pictureBox1.Refresh();for (x = 1; x <= 8; x++){for (y = 1; y <= 8; y++){Map[x, y] = 0;}}listBox1.Items.Clear();//棋盤上畫初始4個(gè)棋子 x = 4;y = 4;g.DrawImage(bitmap, (x - 1) * 45 + 22, (y - 1) * 45 + 22, 45, 45);x = 5;y = 5;g.DrawImage(bitmap, (x - 1) * 45 + 22, (y - 1) * 45 + 22, 45, 45);bitmap = new Bitmap("BlackStone.png");x = 5;y = 4;g.DrawImage(bitmap, (x - 1) * 45 + 22, (y - 1) * 45 + 22, 45, 45);x = 4;y = 5;g.DrawImage(bitmap, (x - 1) * 45 + 22, (y - 1) * 45 + 22, 45, 45);Map[4, 4] = 2;//0無(wú)子 1黑色 2白色 Map[5, 5] = 2;Map[4, 5] = 1;Map[5, 4] = 1;MyColor = 1;//自己棋子顏色為黑色 toolStripStatusLabel1.Text = "黑色棋子先走";this.Text = "黑白棋游戲";Show_Can_Position();}private void button2_Click(object sender, EventArgs e){Show_Can_Position();}private void button3_Click(object sender, EventArgs e){Cls_Can_Position();}private void button4_Click(object sender, EventArgs e){Application.Exit();}} }

總結(jié)

以上是生活随笔為你收集整理的黑白棋 C#版本的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: www日本www | 美女搞黄在线观看 | 天天射天天爽 | 男女插鸡视频 | 三级欧美视频 | wwwa级片 | 久久国语 | www国产精品内射老熟女 | 天天操中文字幕 | 国产一级性生活片 | 欧美日韩视频网站 | jizz欧美性11 | 97国产资源 | 91亚洲综合 | 色爽爽爽爽爽爽爽爽 | 美女张开腿露出尿口 | 91射区| 麻豆视频网站入口 | 99精品无码一区二区 | 少妇一级免费 | 动漫裸体无遮挡 | 操你啦在线视频 | 欧美成人午夜视频 | 懂色一区二区三区免费观看 | 法国经典free性复古xxxx | av一区免费 | 午夜网站在线观看 | 欧美专区第一页 | 国产无毛片 | 欧美激精品 | 尤物一区| 九九成人 | 黄色网址你懂的 | 一起操网站| 午夜精品久久久久久久91蜜桃 | 日韩福利视频 | 久久96视频 | 奇米狠狠操 | 国精产品一区一区三区在线 | 亚洲hhh| 色偷偷一区二区三区 | 一本色道久久综合 | 久久久视| 午夜特片网| 91精品国产成人www | 国产乱子伦精品无码专区 | 美女三级网站 | 天堂av在线网 | 国产91视频在线 | 九九热精品视频在线观看 | 国产精品久久久久久亚洲av | 欧美在线综合 | 日日夜夜天天综合 | 午夜香蕉 | 视频免费观看在线 | 永久黄网站色视频免费观看w | 中文字幕一区二区三区人妻四季 | 97精品一区二区视频在线观看 | 亚洲另类xxxx | 欧美黄色录像视频 | 免费av大全| 成人国产精品一区 | 国产真实交换夫妇视频 | 99久久精品免费看国产免费软件 | 黄瓜视频在线免费观看 | 日本中文字幕在线观看视频 | 一级片小视频 | 先锋影音av资源在线 | 91超碰免费 | 黄色福利在线观看 | 日本在线视频www色 国产在线视频网址 | 日本免费不卡视频 | 国产特级毛片aaaaaa | 国产一区二区精品久久 | 精品一区二区三区在线播放 | 欧美亚韩一区二区三区 | av手机天堂网 | 友田真希一区二区 | 国产亚洲精品久久久久久无几年桃 | 不卡在线一区二区 | 日韩综合区 | 久久嫩草精品久久久久 | 蜜臀一区二区三区精品免费视频 | 日本视频黄 | 91成人入口 | 国产91精品久久久久久久网曝门 | 成人深夜影院 | 一区二区三区福利视频 | 成人动漫在线播放 | 国产乱码精品一区二三赶尸艳谈 | 97久久人国产精品婷婷 | 思思久久99 | 好av在线 | 黄色a一级片 | 欧美日韩在线精品 | 青青操国产 | 久久99精品久久久久久噜噜 | 啪啪日韩| 欧美影院久久 |