[置顶] 中国象棋程序的设计与实现(原始版)(包含源码)

2010年10月大三,我从CSDN下载中心,下载了1个中国象棋程序,功能比较简单。
我在此基础上,开发了当前版本(1.0)的程序。

相对于下载的版本, 增加了联网对战,悔棋等功能,增加必要的注释,重命名类、函数、变量的名字,提高了可读性。

转眼间,就过去了3年,时光飞逝啊。o(︶︿︶)o 
 
 下载地址http://download.csdn.net/detail/fansunion/6236211

 运行效果和项目结构
FansChinessChess1.0-红方视角

 

FansChinessChess1.0-蓝方视角 

项目结构

游戏运行方式
 1.运行ChessServer服务器。
 2.运行LoginDialog,输入玩家1的用户名和服务器地址(本机是localhost) 比如 leiwen,localhost
 3.运行LoginDialog,输入玩家2的用户名和服务器地址(本机是localhost) 比如 fansunion,localhost
   2个玩家的用户名不能相同。  
  
 4.2个玩家登录之后,自动绑定到1个会话中。
   1个为红方,1个为蓝方。
     蓝方先“准备游戏”,红方然后“开始游戏”。
 

注:棋子是通过“拖动”的方式来移动的,在2.0版本是通过点击移动的。

/**
 * 项目名称: FansChineseChess
 * 版本号:1.0
 * 名字:雷文
 * 博客: http://FansUnion.cn
 * CSDN:http://blog.csdn.net/FansUnion
 * 邮箱: leiwen@FansUnion.cn
 * QQ:240-370-818

 */
 
 上次更新:2010-11-12(代码开发结束)
 本次更新:2013-9-9(增加文档和注释)
 


 

 主要类的介绍
 LoginDialog:登录对话框,需要输入用户名和服务器地址(localhost)
 ChessServer:服务器
 ChessClient:客户端界面,登录成功后,跳转到该界面
 
 cn.fansunion.core
 ChessBoard:棋盘
 ChessPiece:棋子
 ChessPoint:棋子点
 GameRule:游戏规则
 MoveRecord:一条移动记录的所有信息
 MoveStep:一条移动记录的起始和结束的位置信息
 

 
 cn.fansunion.ui
 Demo:演示历史游戏界面
 MakeChessManual:棋子移动记录面板
 
 cn.fansunion.util
 ChessUtils:工具类
 Constants:常量
 DataPacket:2个客户端通信用的数据包
 HandleASession:为2个玩家定义一个线程类来处理新的会话
 Message:聊天信息
 ThreadPool:线程池
 
 
 特别说明:这个1.0版本的功能比较弱,用户体验也很差,bug也不少。 主要用来学习用,如果有兴趣,可以自行完善。
 
 敬请期待:2.0版本比1.0版本要好很多,无论是功能还是用户体验,近期更新,敬请期待。

原文链接:http://fansunion.cn/articles/2348

原文地址:https://www.cnblogs.com/keanuyaoo/p/3310724.html