1、 毕业设计 (论文 ) 中国象棋对弈系统 系 别 : 计算机科学与技术系 专业(班级): 计算机科学与技术 作者(学号) : XXX( 学号 ) 指导教师: XXX(括号内填写职称或学位) 完成日期: 2013 年 06 月 06 日 XXXXX 教务处制 目 录 中国象棋对弈系统 . - 1 - Chinese chese playing system . - 2 - 第一章 引言(概述) . - 3 - 第二章 系统可行性分析 . - 4 - 2.1 总体分析 . - 4 - 2.2 开发环境介绍 . - 4 - 2.2.1 硬件开发环境 . - 4 - 2.2.2 软件开发环境 . -
2、4 - 第三章 系统需求设计 . - 5 - 第四章 详细设计 . - 6 - 4.1 功能设计 . - 6 - 4.1.1 功能说明 . - 6 - 4.1.2 对弈规则 . - 6 - 4.1.3 相关类图 . - 6 - 4.1.4 相关类的类图 . - 7 - 4.2 功能的实现 . - 7 - 4.2.1 图形界面的实现 . - 7 - 4.2.2 棋谱的实现 . - 10 - 4.2.3 棋子的添加 . - 10 - 4.2.4 背景音乐 . - 12 - 4.2.5 版本信息 . - 12 - 4.2.6 新游戏 . - 13 - 4.2.7 保存与打开 . - 13 - 4.2
3、.8 悔棋 . - 15 - 4.3 棋子移动和吃棋规则 . - 16 - 4.3.1 本节说明 . - 16 - 4.3.2 详细规则介绍 . - 17 - 4.3.2.1 卒的移动及吃棋规则 . - 17 - 4.3.2.2 炮和车的移动及吃棋规则 . - 17 - 4.3.2.3 马的移动和吃棋规则 . - 17 - 4.3.2.4 相(象)的移动和吃棋规则 . - 17 - 4.3.2.5 士(仕)的移动和吃棋规则 . - 18 - 4.3.2.6 将(帅)的移动和吃棋规则 . - 19 - 4.4 测试说明 . - 19 - 4.5 测试结果 . - 20 - 4.5.1 运行 结果
4、 . - 20 - 4.5.2 新游戏实现 . - 22 - 4.5.3 棋谱的打开与保存 . - 24 - 结 束 语 . - 26 - 谢 词 . - 27 - 参 考 文 献 . - 28 - XXXX 本科毕业设计(论文) - 1 - 中国象棋对弈系统 摘 要: 1、任务 据统计,中国有 2 亿人会下中国象棋,这相当于平均 6 至 7 个人中就有 1人会下,可见它有着广泛的群众基础。中 国象棋对弈系统正是为这一可行性而开发设计的,玩家可以通过它很好的研究棋谱,学习中国象棋技术,提高水平。简单的棋规,便捷的载体,使得他成为雅俗共赏的竞技项目。该程序是一个图形界面的 java 中国象棋对弈
5、系统,本系统主要实现如下目标: ( 1)系统实现:下棋界面,走棋与吃棋,胜负判断; ( 2)设计象棋菜单:新游戏,保存,打开,退出,悔棋,信息提示。 2、着重培养的能力 本课题旨在对大学期间所学基础和专业知识的全面检验与总结;提高综合运用所学专业知识分析、解决实际问题的能力;通过本课程设计使学生加深理解、巩固课堂理论 知识和实验知识,使学生初步具备综合运用所学 Java 语言基础知识,面向对象程序设计的基本思想、方法与技术,数据结构技术等 开发 简单应用系统的基本能力,初步掌握软件开发中系统分析、系统设计、系统实现和系统测试等阶段的基本方法与技术,培养学生的创新意识,提高实践应用能力,为培养应
6、用型人才服务;进行撰写技术报告、学术论文等方面的基本训练。 3、成果形式 软件系统和设计论文 关键词: JAVA;象棋 ;对弈;游戏;大学;专业;能力;论文 姓名:中国象棋对弈系统 - 2 - Chinese chese playing system Abstract: 1, task According to statistics, China has 200 million people can play Chinese chess, it is equivalent to an average of six to one in 7 people in people, it has a b
7、road mass base. China chess system is designed for the feasibility and development, the player can move through it very good research, learning Chinese chess technology, improve the level. Simple chess rule, convenient carrier, make him fit athletic project. The program is a graphical interface Java
8、 Chinese chess game system, this system mainly realize the following goals: (1) system implementation: chess interface, playing chess and chess, the outcome, (2) design chess menu: a new game, save, open, quit, HuiQi, information prompt. 2, focus on training the ability This topic aims to the founda
9、tion and professional knowledge during the period of university comprehensive inspection and summary; To improve the integrated use of professional knowledge to analysis, the solution actual problem ability; Through this course design to make the students deepen understanding, consolidate the classr
10、oom theoretical knowledge and experimental knowledge, make students have integrated use of learned basic knowledge of Java language, the object-oriented program design basic ideas, methods and technology, data structure, technology development simple application system such as the basic ability, pre
11、liminary grasp software development, system analysis, system design, system implementation and system test phase of the basic methods and technology, cultivate the students innovation consciousness, improving practical application ability, to cultivate applied talents service; Write technical report
12、s and academic papers of basic training. 3, production forms Software system and the design paper Keywords: JAVA;chese game;game;university;magor;ability;dissertation XXXX 本科毕业设计(论文) - 3 - 第一章 引言(概述) 随着科学技术的不断提高 ,计算机科学日渐成熟 , 其强大的功能已为人们深刻认识 ,它已进入人类社会的各个领域并发挥着越来越重要的作用。 中国象棋发展至今已有二千三、四百年的历史了,早在战国时期就有正式
13、记载,堪称中国的国粹。想必在未来的几年随着中国象棋在各个领域的推广,必定会带来巨大的影响和经济效益。 中国象棋对弈在中国有着悠久的历史,是二人对抗性游戏中的一种。由于用具简单,趣味性很强,很快成为流 行极为广泛的棋艺活动。也是我国正式开展的 78 个体育项目之一,为促进该游戏在世界范围内的推广和普及,在中国历史上,象棋被列为士大夫们的修身之艺,现在被视为怡神益智的一种有益的游戏。在棋艺对战中,玩家们可以从攻与防、虚与实、整体与局部等复杂关系的变化中悟出某种各种哲理。 象棋 博弈 是由两 个玩家 轮流走子,以 “ 将死 ” 或 “ 困毙 ” 对方将 或 帅为胜的一种棋类运动,有着数以 万 亿计的
14、爱好者。它不仅能丰富 人们的 文化生活,陶冶情操,更有助于开发 个人 智力,启迪思维,锻炼辨证分析能力和培养顽强的意志 等等 。 随着计算机的使用的深入普 及,计算机应用技术的日益完善,人们已经和计算机有着密切的关联,在计算机上玩游戏已经大众化,给人们带来了无限的欢悦,本系统是一个小程序,只要在装有 jdk中的虚拟机的计算机上即可运行,中国象棋对弈系统实现了双人对弈这个功能,可用于多人一起游戏。而实现中国象棋对弈系统就为象棋在网络应用平台提供多人对弈打下基础。中国象棋对弈系统主要要实现的是棋子的走法和规则,中国象棋讲究车,马,象,仕,卒,炮,将的活用;只有当将被对方玩家的棋子吃掉,则首先吃掉对
15、方将或帅的一方就是胜利的一方。玩家 对局时,由红棋的一方先走,双方轮流各 走一 次 ,直至分出胜负,对局即 结束 。轮到走棋的一方,要将某个棋子从一个 十字 交叉点走到另一个 十字 交叉点,或者吃掉对方的棋子而占领其 十字 交叉点,都算走一次 。双方各走一 次 ,称为一个回合。象棋是中华民族的传统文化,不仅在国内深受群众喜爱,而且流传国外。 姓名:中国象棋对弈系统 - 4 - 第二章 系统可行性分析 2.1 总体分析 此次对弈系统的开发研究是大学专业知识的一次综合应用于提高,计算机主要安装jdk 运行环境和 Eclipse 应用程序开发工具。 在技术方面,开发过程中会出现很多问题,有预想之中的
16、,也有预想之外的,特别在图形界面的设计上遇到了很 多问题,但通过进一步的学习和与指导老师的沟通,一些问题逐一被解决。运用 java, gui 监听器和标准类库等知识,首先编写一个主类ChineseChess,构造一个主窗口,在中国象棋 -Java 版上添加一块可显示的棋盘,再插入图片 CChess.GIF 图片作为棋谱,再在棋盘上添加 32 个棋子按钮,再插入相应图片作为棋子,然后再在主窗口下面添加一块面板作为设计象棋菜单,用此菜单来用来对“新游戏,悔棋,保存,打开,退出棋谱,走棋提示”进行操作。 1.中国象棋对弈系统是:图形界面,线程,监听器与文件等技术的综合运用。 2.图形界面的实现:考虑
17、到中国象棋的特点本身程序使用 GridLayout 布局来实现由于使用鼠标操作本身程序使用 Jbutton 组件。 3.对弈的实现:利用鼠标的监听来实现对象棋走法的操作。 2.2 开发环境介绍 2.2.1 硬件开发环境 本系统硬件环境在操作系统在 Windows Server 2003 上完成编码及测试,硬件要求不高,只要有台电脑即可。 2.2.2 软件开发环境 1. 结合本系统的特点,只需要一个软件开发工具和一个虚拟机即可,因此需要的软件有: 2. 操作系统在 Windows Server 2003 以 上; 3. 开发工具使用 Eclipse; 4. 在操作系统上安装 jdk 的开发环境以
18、及 jre(虚拟机)的运行环境。 XXXX 本科毕业设计(论文) - 5 - 第三章 系统需求设计 中国象棋对弈系统要求实现下棋界面,利用鼠标监听来实现走棋与吃棋,胜负判断并伴有信息提示,在下棋界面下端设有象棋菜单,菜单内容包括“新游戏,保存,打开,退出,悔棋,信息提示”等相关功能。详情如下: 1. 新游戏:开始一场新的游戏,并重新棋子初始化。 2. 打开:打开原保存的文件,并开始棋局。 3. 保存:实现棋谱的保存,并生成一个棋谱文件。 4. 悔棋:返回到上一步棋局,并开始继续下棋。 5. 退出棋谱:对话框 提示,是否退出系统。 姓名:中国象棋对弈系统 - 6 - 第四章 详细设计 4.1 功
19、能设计 4.1.1 功能说明 这个系统主要实现人人对弈,采用鼠标监听的方法来实现对棋子的移动,双方依次轮流走棋,在状态显示栏有走棋的相关提示,主要提示该轮到哪方走棋。如果一方想要认输,在征求对方认可的情况下,点击“新游戏”开始新的一局开始对弈,如果一方想要悔棋,也是在征求对方同意的情况下,点击“悔棋”按钮,可连续悔棋。如果遇到紧急情况或者疲惫的情况下,可点击“保存”按钮保存当前棋局,当空闲的时候可以点击“打开”按钮并找到上次保存的棋 局。为防止误操作关闭下棋界面,在退出时设有信息提示,如果确认退出,则点击“是”按钮,否则点击“否”返回下棋界面。 4.1.2 对弈规则 选择红黑棋子双方可以自由商
20、定选择,但默认是红方先手,黑方后手。打开以前残局可按照信息提示框的提示决定哪方先手,哪方后手。 4.1.3 相关类图 ( 图) 4.1.3-1 包和类 在 Eclipse应用程序开发工具新建一个项目 ChineseChese项目,在项目中新建包 com.Larry.frame,包内包含主类 ChineseChese.java,作为该程序的 main 方法;图形界面类 CheseMainFrame.java,对界面进行设计操作;象棋走子规则类 CheseRule.java,主要对各个棋子的走法规则进行控制;音乐类XXXX 本科毕业设计(论文) - 7 - MusicDemo.java,主要用于背
21、景音乐的控制。 4.1.4 相关类的类图 该类图包括了各个类内的方法,详细的展示了类中 的方法。 (图 )4.1.4-1 相关类的类图 4.2 功能的实现 4.2.1 图形界面的实现 图形界面的是实现主要在类 ChineseMainFrame 类中实现,通过继承 Jframe来进行初始化操作以下是相关代码:如 (图 )4.2.1-1 图形界面 /创建工具栏 jmain = new JToolBar(); showAbout = new Button(“ 关于 “); showAbout.setToolTipText(“关于 “); text = new JLabel(“热烈欢迎 “); text.setToolTipText(“提示信息 “); anew = new Button(“ 新 游 戏 “ ); anew.setToolTipText(“重新开始新的一局 “); exit = new Button(“ 退 出 “);