中国象棋网络对战版(作者:孙中吕,C/S框架网原创)
中国象棋网络对战版(作者:孙中吕,C/S框架网原创)
中国象棋网络对战版(2011) 单机版源码由网友提供,花了几天时间将单机版改为网络版对战版,纠正原程序中一些错误,如马蹩脚算法。 可作为高校C#培训教材,优质学习资源!
1. ChineseChess.EXE.主程序EXE,如主窗体,连接玩家,系统设置等 2. ChineseChess.Library.DLL 中国象棋程序代码库, 业务逻辑. 3. ChineseChess.Res.DLL 图片资源库 通过分解单机版方便扩展以后的版本,目前[悔棋]功能尚未实现,留点思考空间给网友们自由发挥嘛,
1.配置玩家名称.在debug目录下有个player.ini文件,用记事本打开输入名称即可。(不支持中文名称) 2.运行程序,在主窗体点开始按钮,此时启动Tcp/IP Listener(监控程序). 第一次运行程序会打开连接对家的窗口,你可以关闭连接窗体等待玩家连接你的电脑。 5.图片资源完全分离。 中国象棋网络对战版 - C#源码: C# Code:
/// <summary> /// 移动棋子到远程玩家发送来的棋子坐标 /// </summary> public void MoveChessByRemote(ChessPoint fromPoint, ChessPoint toPoint) { Chess from = this[fromPoint]; from.MoveTo(toPoint);//移动棋子 _EnableMove = true; this._currentGame.ShowHistory(from); //显示最后移动的棋子 //移动棋子完成,重画棋盘 this.DrawChessBoard(); //启动计时器 this.CurrentGame.ControlPanel.StartTimer(ChessColor.Red); this.CurrentGame.ControlPanel.StopTimer(ChessColor.Black); } //来源:C/S框架网(www.csframework.com) QQ:1980854898 C# Code: /// <summary> /// 移动棋子 /// </summary> public void MoveChess(ChessPoint point) { try { Chess chess = this[point];//获取鼠标点的棋子 //之前没有选中棋子 if (this.CurrentChess == null) { //当前棋子为空,又点了一个空白点 if (chess == null) return; //当前棋子为空,点击了一个不属于自己颜色的棋子 if (chess.Color != ChessColor.Red) return; this.CurrentChess = chess;//设置当前棋子 this.DrawChessBoard(); } else { //之前选中了一个棋子,现在又点击了之前选中的棋子,退出 if (chess == this.CurrentChess) return; //点中了自己的棋子,改变当前棋子到目标棋子 if (chess != null && chess.Color == this.CurrentChess.Color) { this.CurrentChess = chess; } else //点中对方的棋子或目标点为空,移动到目标点或吃掉对方的棋子 { ChessPoint currPoint = this.CurrentChess.CurrentPoint;//保存变量 this.CurrentChess.MoveTo(point);//移动棋子 //如果移动失败 if (!this.CurrentChess.CurrentPoint.Equals(point)) return; //移动成功,通知(对方)远程更新棋盘 this.CurrentGame.SendPointToRemote(currPoint, point); _EnableMove = false; //禁用棋盘 this._currentGame.ShowHistory(this.CurrentChess); //显示最后移动的棋子 this.CurrentChess = null; } //移动棋子完成,重画棋盘 this.DrawChessBoard(); //停止计时器 this.CurrentGame.ControlPanel.StopTimer(ChessColor.Red); this.CurrentGame.ControlPanel.StartTimer(ChessColor.Black); } } catch (GameLoseException ex) { _currentGame.Victory(); _currentGame.Gameover(); Msg.ShowInformation(ex.Message); } } //来源:C/S框架网(www.csframework.com) QQ:1980854898 扫一扫加作者微信 车马炮相士将对象定义: Source Code for VIP:
参考文档:
C#网络版中国象棋游戏源代码(VS2005) 解决重启电脑后网络打印机灰色无法打印的问题|C/S框架网 组织机构上下级同级用户以及数据权限控制|C/S框架网 Winform界面权限控制原理|C/S框架网 Winform程序扫码条码读取商品数据简单实现|C/S框架网 代码生成器加载用户表和视图报错解决方案|C/S框架网 C# Winform增删查改快速开发框架|C/S框架网 Winform查询数据对话窗体与选择资料窗体实现|C/S框架网 珠海市喜鹊信息技术有限公司荣获四个高新技术产品证书|C/S框架网 基于C#.NET标准三层架构订单管理系统 (OMS)|C/S框架网 基于MVC架构的WebApi服务端开发框架核心优势|C/S框架网 C#语言FFMpegRunner-FFMpeg超级视频压缩工具下载|C/S框架网 CSFramework代码生成器自动生成主从表界面-C/S框架网 C#.NET二次开发框架,二次开发平台产品介绍-C/S框架网 ERP快速开发平台|ERP软件开发平台-C/S框架网
其它资料:
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 | |