1 / 16
文档名称:

java中国象棋报告.doc

格式:doc   大小:131KB   页数:16页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

java中国象棋报告.doc

上传人:薄荷牛奶 2019/2/3 文件大小:131 KB

下载得到文件列表

java中国象棋报告.doc

文档介绍

文档介绍:贵州航天职业技术学院Java课程设计报告专业:计算机软件技术班级:09软件二学号:A093GZ053020152姓名:韦治成指导老师:肖宏启时间:目录摘要 3【摘要】 3【关键字】 4系统概述 4系统分析 8系统设计 8运行界面: : : 15参考文献 16中国象棋摘要【摘要】中国象棋系统将计算机知识和中国象棋知识结合起来的一种新型的游戏方式。本文结合在中国象棋机器博弈方面的实践经验,在分析了中国象棋游戏需求基础上,设计并实现了中国象棋系统。该系统为人人对战。人人对战规则明确,包含了中国象棋所有的招法。方便了不同水平人群的不同选择,其它些小功能也增加了本象棋游戏增加了乐趣。本系统的实现满足了人们对中国象棋的基本需求,解决了传统象棋游戏学****性差、不易演示等问题。【关键字】中国象棋,,以方便计算机处理。中国象棋的棋盘表示还没有形成统一的或者公认的哪种为最佳的数据格式。最直观也是最典型的方式是使用10x9的二维棋盘数组表示,也有使用棋子数组。 走法生成就是找到某个局面所有合法的走法。它与棋盘表示的数据结构密切相关,一般需要大量繁琐的判断,伴随着搜索进行,并且调用频繁,是相当复杂而且耗费运算时间。在一定程度上形成了程序的性能瓶颈。当前为了提高着法生成的效率通常采用以空间换时间的方法:与先求出棋子的在某位置的所有走法(有此功能模块,但未完无全实现)。,还未连网的状态下实现同一台电脑多人或一人的操作,或在后期的自我研****而用。,对弈的竖线与横线的交叉点称做棋点,每个棋子都是在棋点上行走而不是在方格中行走河界将棋盘分成两个等份。每一边都有一块由9个点组成的九宫棋子。将、帅、士只能在九宫内移动,并且将帅每一步只可以水平或垂直移动一个棋点。士,它只能在九宫内移动,并且它每一步只可以沿对角线方向移动一个棋点;象,它必须一步沿对角线方向走两个棋点,但它既不能过河,也不能跳过或穿越障碍,即象在走的过程中不能被别眼;马,每一步只可以水平或垂直移动一个棋点,但必须按对角线方向,向左或右移动,中国象棋的马不能跳过障碍,即在走的过程中不能被别腿;车,可以水平或垂直方向移动任意个无阻碍的点;炮,移动起来和车很类似,但它必须跳过一个棋子来吃掉对方的一个棋子,被跳过的那个棋子称为桥或者屏风;兵,每步只能向前移动一个棋点,过河以后,它便增加了向左右移动的能力,兵不允许向后移动。“中国象棋”菜单可以选择“制作棋谱”、“保存棋谱”和“演示棋谱”菜单项。“制作棋谱”将出现相应的棋盘,该棋盘可进行实战对弈选择“保存棋谱”可以随时将对弈过程保存成一个棋谱文件,棋谱文件的扩展名可以任意指定选择“演示棋谱”,将出现打开文件对话框,用来选择曾保存过的棋谱文件,选择棋谱文件后,将出现用来演示棋谱的棋盘,用户可以选择自动或手动来演示对弈过程自动演示时还可以控制每步之间的间隔时间也可以暂停演示或继续演示等。。“对弈棋盘”对象,用户可以用鼠标拖动棋盘上棋子进行对弈当松开鼠标时将棋子固定到棋点,该棋盘使得用户不能将棋子拖放到非棋点上,棋盘的Rule对象负责判断走棋是否遵守了中国象棋的规则。例如:马走日、象走田、小卒一去不回头等等,如果用户的走法不符合规则,棋子将被放回原处重新走,棋盘的MakeChessManual对象负责记录棋谱,当用户选择“保存棋谱”菜单时,可以将该棋谱保存成文件。另外,该棋盘还能进行悔棋,悔棋不被记录到棋谱。,棋点对象可以判断该棋点上是否有棋子,可以指定当前棋点上的棋子,获取当前棋点上的棋子,移掉当前棋点上的棋子。,并绘制棋子的外观。棋子对象可以获取本身的颜色、大小和名字也可以设置和获取本身的类别红棋或黑棋。,该对象可以将棋谱记录到一个链表中,并在一个文本区中显示棋谱。当对弈者悔棋时,该对象将