`
FansUnion
  • 浏览: 152549 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

中国象棋程序的设计与实现(零)--原始版源码

 
阅读更多

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

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics