您的位置:百味书屋 > 范文大全 > 经典范文 > 中国象棋下法之如何打谱 正文 本文移动端:中国象棋下法之如何打谱

中国象棋下法之如何打谱

2016-10-13 17:24:39 来源网站: 百味书屋

篇一:中国象棋打谱系统

摘 要

中国象棋发展至今已有数千年的历史了,它是中华民族智慧的结晶。在我国,中国象棋的普及程度是其它棋类无法相比的,大致国际、国内比赛,小至社区街道。如今,仅中国就有两亿人会下中国象棋,且中国象棋的发展趋势日益国际化。

Java游戏程序的开发是计算机运用的一个重要方面之一。游戏程序的发展几乎与计算机网络和软硬件技术的发挥在那个基本保持同步。游戏无论是开发过程还是运行过程,对它所以依赖的计算机硬件配臵的要求较高。本设计采用软件工程学方法设计并实现个了中国象棋打谱系统,该系统能够制作保存用户对弈过程,能重新演示绝对过程,及复盘。当然它也能遵守象棋的一切基本规则,实现人机对战,人与人对战等多方面功能。

【关键词】中国象棋,打谱,复盘,JAVA,软件工程

Abstract

As the quintessence of a country for China,it has passed thousands of years since Chinese Chess developed. Other chess couledn't be compared with it's popularzation in China,form largeinternational or nationl competition to smaller pieces community street. It is the distillate of Chinese people's wisdom.Now,there are 200 million people can paly Chinese Chess only in China. And Chinese Chess is developing in the way of internationalization.

Java Development of the game program is one important ASPect of computer applications. Procedures for the development of the game almostremain the same step with computer NETwork and software technology development.Whether the development process oroperation process of game, it has to rely on a high computer hardware configuration.The paper designs and develops the Spectrum system of Chinese chess with Software Engineering .And the system can create and maintain a game process in order to re-demo game precess,which called chessboard resuming. Of course,it also can comply with all the basic chess rules and achieve many functions,such as human-machine war,man-man war and so on.

【Key words】Chinese Chess,Spectrum Fight,chessboard resuming, Java,

目 录

1.引言

1.1 主要设计 ........................................................................................................................... 1

1.2主要内容 ............................................................................................................................ 1

1.3设计要求 ............................................................................................................................ 1

2.开发平台

2.1 Java软件概述 .................................................................................................................. 3

2.2 Java的特点 ...................................................................................................................... 3

2.3 关于ECLIPSE .................................................................................................................... 5

3. 需求分析

3.1任务概述 ............................................................................................................................ 6

3.2 设计基本要求 ................................................................................................................... 6

4. 总体设计

4.1线程的设计 ........................................................................................................................ 8

4.1.1 通过Thread类实现 ............................................................................................. 8

4.1.2 实现Runnable接口 ............................................................................................. 8

4.2线程的生命周期 ................................................................................................................ 9

4.2.1 出生 ....................................................................................................................... 9

4.2.2 就绪 ....................................................................................................................... 9

4.2.3 运行 ....................................................................................................................... 9

4.2.4 阻塞 ....................................................................................................................... 9

4.2.5 死亡 ..................................................................................................................... 10

5.详细设计

5.1程序流程图 ...................................................................................................................... 11

5.2运行结果及界面 .............................................................................................................. 12

6.实验总结

致谢 .............................................................................................................................................. 16 参考文献 ................................................................................................................................... 17

南昌工学院课程设计论文

1.引言

1.1 主要设计

象棋水平的发展是需要靠信息技术来推动的,国际象棋有两个很好的范例,一个是象棋棋谱编辑和对弈程序的公共平台——WinBoard平台,另一个是商业的国际象棋数据库和对弈软件——ChessBase,他们为国际象棋爱好者和研究者提供了极大的便利。国际象棋软件有着成功的商业运作,已发展成一种产业。然而,电脑在中国象棋上的运用还刚刚起步,尽管国内涌现出一大批中国象棋的专业网站和专业软件,但是由于缺乏必要的基础工作,电脑技术在中国象棋上的应用优势还无法体现出来。

在设计中国象棋软件过程中,国际象棋软件有很多值得借鉴的成功经验和优秀的思想。例如B. Moreland,微软(Microsoft)的程序设计师,业余从事国际象棋引擎Ferret的开发,他的一系列关于国际象棋程序设计的文章非常值得其他棋类程序设计人员借鉴。然而,中国象棋与国际象棋存在着很大的差异,因此国际象棋的某些成熟技术,无法直接应用于中国象棋,需要对其加以改进和创新。

1.2主要内容

本课题采用Java语言编写这个中国象棋对弈系统程序。

主要工作内容:搜集相关资料,准备参考资料,学习掌握开发方法、开发工具,需求分析,确定游戏程序实施方案,根据要求设计具体的流程图,编写程序,修改、完善程序,系统调试、测试,优化处理。

1.3设计要求

中国象棋是双方在由9条和10条横线分割而成的棋盘对弈。竖线与横线的交叉点称做棋点,每个棋子都放置在棋点上 ,而不是方格中。河界将棋盘分为两个等分=份,没一边都有一个由9个点组成的区域“将”,“帅”,“士”只能在“九宫”内移动,并且“将”,“帅”,的每一步只可以水平或垂直移动一个棋点。士:“士”只能在“九宫”内移动,并且每一步只可以沿对角线方向移动一个棋点。象;一步必须沿对角线方向走两个棋点。但它既不能过河,也不能跳过或穿

1

篇二:中国象棋打谱软件

中国象棋打谱软件

1. 设计内容

中国象棋打谱软件提供给用户的一个能将对弈过程保存成文件 并可以重新演示对弈过 程 即复盘

2. 设计要求

1 中国象棋是双方在有着9 条竖线和10 条横线的棋盘上对弈的 竖线与横线的交叉点 称做棋点 每个棋子都是在棋点上行走 而不是在方格中行走 河界将棋盘分成两个等份 每一边都有一块由9 个点组成的 九宫 棋子 将 帅 士 只能在 九宫 内移动

并且 将 帅 每一步只可以水平或垂直移动一个棋点

士 它只能在 九宫 内移动 并且它每一步只可以沿对角线方向移动一个棋点

象 它必须一步沿对角线方向走两个棋点 但它既不能过河 也不能跳过或穿越障碍 即象在走的过程中不能被 别眼

马 每一步只可以水平或垂直移动一个棋点 但必须按对角线方向 向左或右移动 中 国象棋的马不能跳过障碍 即在走的过程中不能被 别腿

车 可以水平或垂直方向移动任意个无阻碍的点

炮 移动起来和车很类似 但它必须跳过一个棋子来吃掉对方的一个棋子 被跳过的那 个棋子称为桥或者屏风

兵 每步只能向前移动一个棋点 过河以后 它便增加了向左右移动的能力 兵不允许 向后移动

2 单击 中国象棋 菜单可以选择 制作棋谱 保存棋谱 和 演示棋谱 菜单项

3 选择 制作棋谱 将出现相应的棋盘 该棋盘可进行实战对弈 选择 保存棋谱 可以 随时将对弈过程保存成一个棋谱文件 棋谱文件的扩展名可以任意指定 选择 演示棋谱 将出现打开文件对话框 用来选择曾保存过的棋谱文件 选择棋谱文件后 将出现用来演示 棋谱的棋盘 用户可以选择自动或手动来演示对弈过程 自动演示时 还可以控制每步之间 的间隔时间 也可以暂停演示或继续演示等

3.中国象棋打谱软件共有8 个Java 源文件

Chess.java

该java 文件的类负责创建中国象棋的 主窗口 该文件含有 main 方法 程序从该类开 始执行

ChessBoard.java

该文件生成的类负责创建 对弈棋盘 对象 用户可以用鼠标拖动棋盘上棋子进行对弈

当松开鼠标时将棋子固定到棋点 该棋盘使得用户不能将棋子拖放到非棋点上 棋盘的Rule 对象负责判断走棋是否遵守了中国象棋的规则 例如 马 走日 象 走田 小卒 一 去不回头等等 如果用户的走法不符合规则 棋子将被放回原处 重新走着 棋盘的

MakeChessManual 对象负责记录棋谱 当用户选择 保存棋谱 菜单时 可以将该棋谱保存 成文件 另外 该棋盘还能进行悔棋 悔棋不被记录到棋谱

ChessPoint.java

该文件生成的类负责创建棋盘的棋点对象 棋点对象可以判断该棋点上是否有棋子 可 以指定当前棋点上的棋子 获取当前棋点上的棋子 移掉当前棋点上的棋子

ChessPiece.java

该文件生成的类负责创建棋子对象 并绘制棋子的外观 棋子对象可以获取本身的颜色

大小 名字 也可以设置和获取本身的类别 红棋或黑棋

MakeChessManual.java

该文件生成的类负责创建记录棋谱的对象 该对象可以将棋谱记录到一个链表中 并在 一个文本区中显示棋谱 当对弈者悔棋时 该对象将修改棋谱 并更新文本区中的信息 Rule.java

该文件生成的类负责为创建走棋法则对象 该对象负责判断用户的走着是否遵守了中国 象棋规则

Demon.java

该文件生成的类负责创建 棋谱演示 对象 该对象可以演示保存过的棋谱对象 MakeStep.java

该类创建的对象负责记录一步走棋

4.运行效果

将8 个java 文件保存到一个文件夹中 比如 C \chess 将8 个Java 文件分别编译 生成相应的字节码(class)文件 然后 用java 解释器运行主类

C \ chess\java Chess

效果如图

对弈和保存棋谱

演示棋谱

篇三:中国象棋打谱软件

中国象棋打谱软件

1. 设计内容

中国象棋打谱软件提供给用户的一个能将对弈过程保存成文件 并可以重新演示对弈过 程 即复盘

2. 设计要求

1 中国象棋是双方在有着9 条竖线和10 条横线的棋盘上对弈的 竖线与横线的交叉点 称做棋点 每个棋子都是在棋点上行走 而不是在方格中行走 河界将棋盘分成两个等份 每一边都有一块由9 个点组成的 九宫 棋子 将 帅 士 只能在 九宫 内移动

并且 将 帅 每一步只可以水平或垂直移动一个棋点

士 它只能在 九宫 内移动 并且它每一步只可以沿对角线方向移动一个棋点

象 它必须一步沿对角线方向走两个棋点 但它既不能过河 也不能跳过或穿越障碍 即象在走的过程中不能被 别眼

马 每一步只可以水平或垂直移动一个棋点 但必须按对角线方向 向左或右移动 中 国象棋的马不能跳过障碍 即在走的过程中不能被 别腿

车 可以水平或垂直方向移动任意个无阻碍的点

炮 移动起来和车很类似 但它必须跳过一个棋子来吃掉对方的一个棋子 被跳过的那 个棋子称为桥或者屏风

兵 每步只能向前移动一个棋点 过河以后 它便增加了向左右移动的能力 兵不允许 向后移动

2 单击 中国象棋 菜单可以选择 制作棋谱 保存棋谱 和 演示棋谱 菜单项

3 选择 制作棋谱 将出现相应的棋盘 该棋盘可进行实战对弈 选择 保存棋谱 可以 随时将对弈过程保存成一个棋谱文件 棋谱文件的扩展名可以任意指定 选择 演示棋谱 将出现打开文件对话框 用来选择曾保存过的棋谱文件 选择棋谱文件后 将出现用来演示 棋谱的棋盘 用户可以选择自动或手动来演示对弈过程 自动演示时 还可以控制每步之间 的间隔时间 也可以暂停演示或继续演示等

3.中国象棋打谱软件共有8 个Java 源文件

Chess.java

该java 文件的类负责创建中国象棋的 主窗口 该文件含有 main 方法 程序从该类开 始执行

ChessBoard.java

该文件生成的类负责创建 对弈棋盘 对象 用户可以用鼠标拖动棋盘上棋子进行对弈

当松开鼠标时将棋子固定到棋点 该棋盘使得用户不能将棋子拖放到非棋点上 棋盘的Rule 对象负责判断走棋是否遵守了中国象棋的规则 例如 马 走日 象 走田 小卒 一 去不回头等等 如果用户的走法不符合规则 棋子将被放回原处 重新走着 棋盘的

MakeChessManual 对象负责记录棋谱 当用户选择 保存棋谱 菜单时 可以将该棋谱保存 成文件 另外 该棋盘还能进行悔棋 悔棋不被记录到棋谱

ChessPoint.java

该文件生成的类负责创建棋盘的棋点对象 棋点对象可以判断该棋点上是否有棋子 可 以指定当前棋点上的棋子 获取当前棋点上的棋子 移掉当前棋点上的棋子

ChessPiece.java

该文件生成的类负责创建棋子对象 并绘制棋子的外观 棋子对象可以获取本身的颜色

大小 名字 也可以设置和获取本身的类别 红棋或黑棋

MakeChessManual.java

该文件生成的类负责创建记录棋谱的对象 该对象可以将棋谱记录到一个链表中 并在 一个文本区中显示棋谱 当对弈者悔棋时 该对象将修改棋谱 并更新文本区中的信息 Rule.java

该文件生成的类负责为创建走棋法则对象 该对象负责判断用户的走着是否遵守了中国 象棋规则

Demon.java

该文件生成的类负责创建 棋谱演示 对象 该对象可以演示保存过的棋谱对象 MakeStep.java

该类创建的对象负责记录一步走棋

4.运行效果

将8 个java 文件保存到一个文件夹中 比如 C \chess 将8 个Java 文件分别编译 生成相应的字节码(class)文件 然后 用java 解释器运行主类

C \ chess\java Chess

效果如图

对弈和保存棋谱

演示棋谱

来源:网络整理 免责声明:本文仅限学习分享,如产生版权问题,请联系我们及时删除。


中国象棋下法之如何打谱》出自:百味书屋
链接地址:http://www.850500.com/news/2246.html
转载请保留,谢谢!
查看更多相关内容>>中国象棋下法之如何打谱
推荐范文