用C#怎样做象棋

能在局域网使用,两人对弈,和电脑对弈!
2025-05-21 10:06:22
推荐回答(2个)
回答1:

以下是棋盘实现代码:
///


/// 绘制棋盘
///

public void DrawChessBoard()
{
//棋盘背景
Bitmap map = ChineseChess.Res.Properties.Resources.xqboard.Clone() as Bitmap;

//画棋子
Graphics g = Graphics.FromImage(map);

for (int i = 0; i < 9; i++)
{
for (int j = 0; j < 10; j++)
{
if (_chesses[i, j] != null)
{
//计算物理坐标
Point p = CoordinateHelper.CalculatePyshicalPoint(new ChessPoint(i, j));

g.DrawImage(_chesses[i, j].ChessImage, p.X, p.Y, 43, 43); //画棋子

//当前棋子上面画一个焦点框
if (_chesses[i, j] == _currentChess)
{
Bitmap focus = ChineseChess.Res.Properties.Resources.focus.Clone() as Bitmap;
focus.MakeTransparent(Color.FromArgb(255, 255, 255));
g.DrawImage(focus, p.X, p.Y, 43, 43);
}
}
}
}

g.Dispose();

_pbChessBoard.Invoke(_SetImage, _pbChessBoard, map);
}

详细请参考:http://wenku.baidu.com/link?url=Tt95wqhosJTmjRyFHidsQOvPj8_iW-xMJJeiwY7-FkhqhC1V2dAHRe19luS8D5pAIvp5OKDr0DpB0FegU3t01CAJmz2w85IdsmBRmltDltq

回答2:

........和电脑要写AI的- -..局域网就简单了...你就写好数据传输就oK..