文档章节

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

jtn
 jtn
发布于 2015/04/13 15:07
字数 596
阅读 27
收藏 0

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

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

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

 运行效果和项目结构

 

 

游戏运行方式
 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

© 著作权归作者所有

jtn

jtn

粉丝 12
博文 879
码字总数 879609
作品 0
武汉
程序员
私信 提问
中国象棋--GMChess

GMChess 是一款 Linux 下的中国象棋软件。 正值svn版本号100,发布GMChess的第一个版本0.10吧。目前只有读谱功能,支持qq象棋,联众象棋,中游象棋,象棋演播室等软件生成的棋谱。 使用方法:...

匿名
2009/03/26
11.4K
1
发布一款基于silverFoxServer构建的一套象棋联机对战程序!

基于silverFoxServer构建的一套象棋联机对战程序 点进入或去旁观进入房间 整合到了discuz论坛,主要也是体现silverFoxServer的理念,即没有自已的数据库,依赖其它系统, 插件名称: Discuz中...

SilverFoxServer
2015/09/09
652
3
HTML5代码做的中国象棋游戏,这个程序无人能敌

最近上班无聊时有事没事喜欢下几把象棋,当然前提是我项目都做得很好了,空闲时间才娱乐下,大家不要学我哟,玩了几把才知道,自己有好多年没练过了,游戏中的高手还是挺多的,毕竟这年代,还...

编程需要艺术
2018/01/13
0
0
算法+算力:不止围棋,几乎所有棋类问题都能解决了

     昨天,DeepMind 团队再次震惊世界,通过一篇论文《Mastering Chess and Shogi by Self-Play with a General Reinforcement Learning Algorithm》(https://arxiv.org/pdf/1712.0181......

乌镇智库
2017/12/07
0
0
PSP游戏开发引擎--NGE2

nge2(nge是not a game engine的递归缩写,nge第一版原为制作中国象棋psp所写,第二版得到了更全面的强化)是psp/win开发的一个程序库,不是一个游戏引擎,设计思想是简单易用,用来做各个显...

匿名
2010/03/17
2.8K
0

没有更多内容

加载失败,请刷新页面

加载更多

python学习10.04:Python list列表使用技巧及注意事项

前面章节介绍了很多关于 list 列表的操作函数,细心的读者可能会发现,有很多操作函数的功能非常相似。例如,增加元素功能的函数有 append() 和 extend(),删除元素功能的有 clear()、 remo...

太空堡垒185
22分钟前
4
0
新手插画学习的方法?教你如何自学?

插画学习的方法?教你如何自学? 从小喜欢画一些漫画头像随笔画,但是其实没有基础。个人偏好小清新手绘风的插画(如下图),每每看到都希望自己能画出这样的作品。 我其实很想说画这种美术功...

huihuajiaocheng
28分钟前
4
0
面试题

1、实现clone();

gtandsn
39分钟前
5
0
CentOS 7 部署 tesseract-ocr

官方地址 github yum-config-manager --add-repo https://download.opensuse.org/repositories/home:/Alexander_Pozdnyakov/CentOS_7/ 若提示 yum-config-manager: command not found 执行以......

阿白
39分钟前
3
0
JAVA比较器中comparator的使用

一个专用的比较器Comparator Comparator是一个专用的比较器,当一个不支持自比较或者自比较函数不能满足要求时,可写一个比较器来完成两个对象之间大小的比较。Comparator体现了一种策略模式...

daxiongdi
40分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部