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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? chessman.cs

?? Visual studio 2005,C#開發 具有人工智能
?? CS
字號:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Data;
using System.Text;
using System.Windows.Forms;

namespace GameWorld.ChineseChess
{
	public abstract partial class ChessMan : UserControl
	{
		public ChessMan()
		{
			InitializeComponent();
		}
		public const int RED = 2;
		public const int BLACK = 1;
		public const int GREY = 0;

		public const int GENERAL = 7;
		public const int GUARD = 6;
		public const int STAFF = 5;
		public const int HORSE = 4;
		public const int CHARIOT = 3;
		public const int CANNON = 2;
		public const int SOLDIER = 1;
		public const int BLANK = 0;

		public const int REDSIDE = 0;
		public const int BLACKSIDE = 1;
		private const int gridSize = 40;
		private const int ChessSize = 32;


		public int color;
		public int kind;
		public int number;
		public bool beAttack;
		public string fileName;
		public int x;
		public int y;
		public Graphics Graphics;
		//public int top;
		//public int left;
		public ChessMan[,] situation
		{
			get
			{
				if (this.Parent != null)
				{
					ChineseChessControl parent = this.Parent as ChineseChessControl;
					if (parent != null)
						return parent.situation;
				}
				return null;
			}
		}

		private Request Request = Request.CreateInstance();

		public ChessMan(int color, int kind, int number, int boardside)
		{
			InitializeComponent();

			this.DrawChessMan(color, kind, number, boardside);

		}
		public ChessMan(int color, int kind, int x, int y, int boardside)
		{
			InitializeComponent();

			this.DrawChessMan(color, kind, x, y, boardside);
		}

		public void DrawChessMan(int color, int kind,int x, int y,int boardside)
		{

			this.SetStyle(ControlStyles.SupportsTransparentBackColor, true);
			this.BackColor = Color.Transparent;

			this.x = x;
			this.y = y;

			this.Width = ChessSize;
			this.Height = ChessSize;
			this.color = color;
			this.kind = kind;
			this.beAttack = false;
			this.fileName = @"ChineseChess\Image\";

			switch (this.color)
			{
				case RED:
					{
						this.fileName += "red";
						break;
					}
				case BLACK:
					{
						this.fileName += "black";
						break;
					}
			}

			switch (this.kind)
			{
				case GENERAL:
					{
						this.fileName += "general";
						break;
					}
				case GUARD:
					{
						this.fileName += "guard";
						break;
					}
				case STAFF:
					{
						this.fileName += "staff";
						break;
					}
				case HORSE:
					{
						this.fileName += "horse";
						break;
					}
				case CHARIOT:
					{
						this.fileName += "chariot";
						break;
					}
				case CANNON:
					{
						this.fileName += "cannon";
						break;
					}
				case SOLDIER:
					{
						this.fileName += "soldier";
						break;
					}
				case BLANK:
					{
						this.fileName += "blank";
						break;
					}
			}

			this.fileName += ".ico";

			this.Left = Math.Abs(8 * boardside - this.x) * gridSize - ChessSize / 2 + gridSize / 2;//gridSize/2是偏移
			this.Top = Math.Abs(9 * boardside - this.y) * gridSize - ChessSize / 2 + gridSize / 2;
		}

		public void DrawChessMan(int color, int kind, int number, int boardside)
		{

			//GraphicsPath graphicsPath = new GraphicsPath();
			//graphicsPath.AddEllipse(0, 0, ChessSize, ChessSize);
			//this.Region = new Region(graphicsPath);

			this.SetStyle(ControlStyles.SupportsTransparentBackColor, true);
			this.BackColor = Color.Transparent;

			this.Width = ChessSize;
			this.Height = ChessSize;
			this.color = color;
			this.kind = kind;
			this.number = number;
			this.beAttack = false;
			this.fileName = @"ChineseChess\Image\";

			switch (this.color)
			{
				case RED:
					{
						this.fileName += "red";
						break;
					}
				case BLACK:
					{
						this.fileName += "black";
						break;
					}
			}

			switch (this.kind)
			{
				case GENERAL:
					{
						this.fileName += "general";
						this.x = 4;
						this.y = 9 * (this.color - 1);
						break;
					}
				case GUARD:
					{
						this.fileName += "guard";
						this.x = 3 + 2 * this.number;
						this.y = 9 * (this.color - 1);
						break;
					}
				case STAFF:
					{
						this.fileName += "staff";
						this.x = 2 + 4 * this.number;
						this.y = 9 * (this.color - 1);
						break;
					}
				case HORSE:
					{
						this.fileName += "horse";
						this.x = 1 + 6 * this.number;
						this.y = 9 * (this.color - 1);
						break;
					}
				case CHARIOT:
					{
						this.fileName += "chariot";
						this.x = 8 * this.number;
						this.y = 9 * (this.color - 1);
						break;
					}
				case CANNON:
					{
						this.fileName += "cannon";
						this.x = 1 + 6 * this.number;
						this.y = 2 + 5 * (this.color - 1);
						break;
					}
				case SOLDIER:
					{
						this.fileName += "soldier";
						this.x = 2 * this.number;
						this.y = 3 * this.color;
						break;
					}
				case BLANK:
					{
						this.fileName += "blank";
						break;
					}
			}

			this.fileName += ".ico";

			//int chessMan = document.createElement("<div class='chessMan'>");
			//int imgsrc = document.createElement("<img src='"+this.fileName+"'>");

			//chessMan.style.top = Math.Abs(9*boardside-this.y) * gridSize - 16;
			//chessMan.style.left = Math.Abs(8*boardside-this.x) * gridSize - 16;
			//chessMan.appendChild(imgsrc);
			//this.top = Math.Abs(9 * boardside - this.y) * gridSize - ChessSize / 2;
			//this.left = Math.Abs(8 * boardside - this.x) * gridSize - ChessSize / 2;

			this.Left = Math.Abs(8 * boardside - this.x) * gridSize - ChessSize / 2 + gridSize / 2;//gridSize/2是偏移
			this.Top = Math.Abs(9 * boardside - this.y) * gridSize - ChessSize / 2 + gridSize / 2;
		}

		//public void Draw(Graphics g)
		//{
		//    Icon ico = new Icon(this.fileName);
		//    g.DrawIcon(ico, this.left, this.top);
		//}

		private void ChessMan_MouseDown(object sender, MouseEventArgs e)
		{
			check();
		}

		private void ChessMan_Paint(object sender, PaintEventArgs e)
		{
			//Matrix transformMatrix = new Matrix();
			//transformMatrix.Scale(1.5F, 1.5F);
			//e.Graphics.MultiplyTransform(transformMatrix);

			Icon ico = new Icon(this.fileName);
			e.Graphics.DrawIcon(ico, new Rectangle(0, 0, ChessSize, ChessSize));
		}
		private void check()
		{
			ChineseChessControl control = this.Parent as ChineseChessControl;

			if (control.end == true)
			{
				MessageBox.Show("對局已經結束, 請重新開局!");
				return;
			}
			if (((control.BoardSide == REDSIDE) && (this.color == BLACK)) || ((control.BoardSide == BLACKSIDE) && (this.color == RED)))
			{
				if (this.beAttack == false)
				{
					MessageBox.Show("不能移動對方棋子!");
					return;
				}
			}
			if (control.selection == null)
			{
				if (this.color != control.side)
				{
					MessageBox.Show("不該你走棋!");
					return;
				}
			}
			else
			{
				if (this.color != control.selection.color)
				{
					if ((this.color != GREY)
					&& (this.beAttack == false))
					{
						MessageBox.Show("不該你走棋!");
						return;
					}
				}
			}


			if ((this.color == GREY)||(this.beAttack == true))
			{
				//坐標變換,本客戶端采用左上角為原點,Web 服務采用左下角作原點
				int x1 = control.selection.x;
				int y1 = 9 - control.selection.y;
				int x2 = this.x;
				int y2 = 9 - this.y;

				control.ToPos = this;

				this.Request.Move(x1, y1, x2, y2);

				return;
			}


			control.clearBoard();
			control.selection = this;
			this.BackColor = Color.Blue;

			for (int i = 0; i < 9; i++)
			{
				for (int j = 0; j < 10; j++)
				{
					if (this.canGo(i, j))
					{
						control.addBlank(i, j);
					}
				}
			}
		}




		public abstract bool canGo(int i, int j);

		private void ChessMan_Load(object sender, EventArgs e)
		{


		}

	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
白白色亚洲国产精品| 不卡一区在线观看| 依依成人精品视频| √…a在线天堂一区| 中文字幕精品—区二区四季| 久久一区二区三区国产精品| 精品成人a区在线观看| 欧美成人欧美edvon| www成人在线观看| 久久久美女艺术照精彩视频福利播放| 欧美成人性福生活免费看| 日韩欧美www| 国产欧美一区二区精品婷婷| 国产精品久久精品日日| 国产精品高清亚洲| 亚洲一区二区四区蜜桃| 亚洲va欧美va国产va天堂影院| 天堂成人免费av电影一区| 午夜成人免费视频| 久久成人免费日本黄色| 国产剧情一区二区| 色94色欧美sute亚洲线路二 | 欧美精品一区二区三区高清aⅴ| 3d动漫精品啪啪| 久久人人爽人人爽| 国产精品免费久久| 一区二区三区国产精华| 另类成人小视频在线| 粉嫩久久99精品久久久久久夜| 91麻豆国产自产在线观看| 欧美日韩一本到| 一片黄亚洲嫩模| 精品一区二区三区的国产在线播放| 韩国欧美国产1区| 91豆麻精品91久久久久久| 日韩欧美成人激情| 亚洲欧美日韩电影| 精品在线播放免费| 在线观看www91| 久久久午夜精品理论片中文字幕| 亚洲精品视频免费观看| 国产一区999| 3d动漫精品啪啪一区二区竹菊| 中文字幕 久热精品 视频在线| 日本中文字幕不卡| 99国产精品国产精品久久| 欧美大片在线观看一区二区| 亚洲自拍欧美精品| av综合在线播放| 久久亚洲综合色| 日本欧美在线看| 91久久精品午夜一区二区| 久久久久88色偷偷免费 | 色婷婷久久久综合中文字幕| 欧美一区午夜视频在线观看| 亚洲色图视频网站| 成人高清在线视频| 久久久一区二区三区| 美女www一区二区| 制服视频三区第一页精品| 亚洲日穴在线视频| 99精品偷自拍| 国产精品人成在线观看免费| 国产一区二区三区在线观看免费 | 国产高清不卡二三区| 欧美一卡二卡在线观看| 五月天中文字幕一区二区| 在线观看日韩一区| 一区二区三区不卡视频在线观看| 91麻豆精品视频| 亚洲美女区一区| 色综合久久久久综合99| |精品福利一区二区三区| 波多野结衣一区二区三区| 中文字幕免费不卡在线| 成人一级视频在线观看| 欧美国产日韩亚洲一区| av在线不卡电影| 亚洲欧美另类久久久精品 | 911精品国产一区二区在线| 亚洲综合清纯丝袜自拍| 日本韩国精品在线| 亚洲精品视频一区二区| 欧美日韩免费高清一区色橹橹 | 九九视频精品免费| 日韩欧美区一区二| 国产一区二区剧情av在线| 久久综合中文字幕| 懂色av噜噜一区二区三区av| 亚洲视频电影在线| 欧美图片一区二区三区| 五月激情六月综合| 欧美va天堂va视频va在线| 国内外成人在线视频| 国产日韩欧美激情| 91久久奴性调教| 老司机午夜精品| 欧美激情综合网| 欧美日韩日日骚| 麻豆精品一二三| 国产精品全国免费观看高清| 欧美亚日韩国产aⅴ精品中极品| 午夜精品免费在线| 久久嫩草精品久久久久| 91国内精品野花午夜精品 | 国产日韩精品视频一区| 91在线视频在线| 奇米777欧美一区二区| 欧美国产日产图区| 欧美日本高清视频在线观看| 国产精品亚洲视频| 五月婷婷综合激情| 国产精品视频九色porn| 91精品中文字幕一区二区三区| 国产成人亚洲综合a∨婷婷图片| 亚洲综合一二三区| 国产人成一区二区三区影院| 欧美又粗又大又爽| 国产一区二区伦理| 日韩—二三区免费观看av| 中文字幕日本不卡| 欧美xxxx老人做受| 欧美精品乱码久久久久久 | 欧美日韩不卡在线| 成人免费观看av| 麻豆国产欧美日韩综合精品二区| 国产精品少妇自拍| 精品日韩99亚洲| 91精品一区二区三区在线观看| 丁香五精品蜜臀久久久久99网站| 日韩电影在线看| 亚洲在线中文字幕| 日韩理论片网站| 国产亚洲精品aa午夜观看| 欧美一卡2卡三卡4卡5免费| 色综合久久99| 99国产精品视频免费观看| 国产成人精品综合在线观看| 麻豆成人免费电影| 视频精品一区二区| 亚洲一区中文在线| 亚洲精品国产a久久久久久 | 精品一区二区三区欧美| 亚洲国产日韩一区二区| 自拍偷在线精品自拍偷无码专区 | 免费成人av在线| 亚洲第一福利视频在线| 一级中文字幕一区二区| 亚洲一区二区精品视频| 亚洲精品视频在线观看网站| 亚洲男人的天堂一区二区| 自拍偷自拍亚洲精品播放| 亚洲青青青在线视频| 亚洲品质自拍视频网站| 亚洲激情第一区| 亚洲综合色区另类av| 亚洲一区二区五区| 午夜精品福利一区二区蜜股av | 亚洲精品久久7777| 亚洲蜜臀av乱码久久精品 | 精品影视av免费| 极品少妇xxxx偷拍精品少妇| 极品瑜伽女神91| 成人高清视频在线| 色94色欧美sute亚洲13| 欧美日韩成人一区| 日韩欧美国产三级电影视频| 久久综合999| 国产精品理论在线观看| 亚洲日本电影在线| 日韩成人午夜精品| 国产资源精品在线观看| 国产99精品在线观看| 91高清视频免费看| 欧美一区二区福利在线| 中文字幕不卡一区| 亚洲综合一区二区精品导航| 日韩国产欧美一区二区三区| 国产精品一二三四| 在线观看日韩国产| 精品久久人人做人人爽| 中文字幕在线不卡| 亚洲国产aⅴ天堂久久| 国产麻豆日韩欧美久久| 色偷偷久久一区二区三区| 777午夜精品视频在线播放| 国产午夜一区二区三区| 一区二区三区在线视频观看58| 免费在线欧美视频| 成人av综合在线| 制服丝袜亚洲播放| 国产精品天天摸av网| 日韩高清中文字幕一区| 成人网男人的天堂| 日韩三区在线观看| 亚洲欧美日韩国产成人精品影院| 精品综合免费视频观看| 欧美日韩激情一区二区三区| 欧美国产欧美亚州国产日韩mv天天看完整 | 5858s免费视频成人|