文档章节

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

jtn
 jtn
发布于 2015/04/13 12:38
字数 596
阅读 29
收藏 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

没有更多内容

加载失败,请刷新页面

加载更多

Mybatis Plus删除

/** @author beth @data 2019-10-17 00:30 */ @RunWith(SpringRunner.class) @SpringBootTest public class DeleteTest { @Autowired private UserInfoMapper userInfoMapper; /** 根据id删除......

一个yuanbeth
今天
4
0
总结

一、设计模式 简单工厂:一个简单而且比较杂的工厂,可以创建任何对象给你 复杂工厂:先创建一种基础类型的工厂接口,然后各自集成实现这个接口,但是每个工厂都是这个基础类的扩展分类,spr...

BobwithB
今天
5
0
java内存模型

前言 Java作为一种面向对象的,跨平台语言,其对象、内存等一直是比较难的知识点。而且很多概念的名称看起来又那么相似,很多人会傻傻分不清楚。比如本文我们要讨论的JVM内存结构、Java内存模...

ls_cherish
今天
4
0
友元函数强制转换

友元函数强制转换 p522

天王盖地虎626
昨天
5
0
js中实现页面跳转(返回前一页、后一页)

本文转载于:专业的前端网站➸js中实现页面跳转(返回前一页、后一页) 一:JS 重载页面,本地刷新,返回上一页 复制代码代码如下: <a href="javascript:history.go(-1)">返回上一页</a> <a h...

前端老手
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部