中国象棋实验报告

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

本科学生综合性实验报告课程名称:Java程序设计

中国象棋

项目成员学号

班级B02班

项目名称中国象棋

指导教师

开课学期2013 至2014 学年第1 学期

完成时间2013 年12 月25 日

1.引言 (1)

1.1开发背景 (1)

1.2国内外象棋发展状况 (1)

1.3开发目标 (2)

1.4开发环境 (2)

2.设计思路 (2)

2.1设计步骤 (2)

2.2设计流程图 (3)

3.设计技术 (3)

3.1io技术 (3)

3.2多线程 (4)

3.3swing (4)

4.设计规则 (4)

4.1走棋规则 (4)

4.2吃棋规则 (4)

5.代码实现 (4)

6.程序测试 (5)

6.1步骤一:点击运行 (5)

6.2步骤二: (6)

7.总结与提升 (10)

1.引言

1.1开发背景

中国象棋游戏流传至今已经有数千年的历史了,是一种古老的文化,它集文化、科学、艺术、竞技于一体,有利于开发人的智慧,锻炼人的思维,培养人的毅力,增强人的竞争意识。自从计算机发明,向各个领域发展,到成为我们现在每天工作和生活必不可少的一部分的这个过程中,电子游戏也逐步渗入我们每个人的娱乐活动中。在计算机已经普及的今天,对于可以用计算机进行程序编辑的人来说,开发属于自己的游戏,已经不再是梦想,中国象棋历史悠久不仅源远流长,而且基础广泛,作为一项智力运动更成为我们游戏开发的首选对象。

中国象棋是一项智力游戏,以往都是人和人下棋,现在有了计算机我们可以和计算机竞技,人可以与计算机进行对弈。控制计算机的是人类,而人工智能是综合性很强的一门边缘学科,它的中心任务是研究如何使计算机去做那些过去只能靠人的智力才能做的工作。因此,对游戏开发过程中的人工智能技术的研究自然也就成了业界的一个热门研究方向。

1.2国内外象棋发展状况

中国象棋游戏流传至今已经有数千年的历史了,是一种古老的文化,它集文化、科学、艺术、竞技于一体,有利于开发人的智慧,锻炼人的思维,培养人的毅力,增强人的竞争意识。自从计算机发明,向各个领域发展,到成为我们现在每天工作和生活必不可少的一部分的这个过程中,电子游戏也逐步渗入我们每个人的娱乐活动中。在计算机已经普及的今天,对于可以用计算机进行程序编辑的人来说,开发属于自己的游戏,已经不再是梦想,中国象棋历史悠久不仅源远流长,而且基础广泛,作为一项智力运动更成为我们游戏开发的首选对象。

中国象棋是一项智力游戏,以往都是人和人下棋,现在有了计算机我们可以和计算机竞技,人可以与计算机进行对弈。控制计算机的是人类,而人工智能是综合性很强的一门边缘学科,它的中心任务是研究如何使计算机去做那些过去只能靠人的智力才能做的工作。因此,对游戏开发过程中的人工智能技术的研究自然也就成了业界的一个热门研究方向。

1.3开发目标

在计算机技术日益发展的今天,为了让信息技术能够更好的贴近生活,并且在此基础上传承国学精髓,为此设计一个简单易懂的人人对弈的中国象棋小游戏,同时也为了巩固自身对java的运用。

1.4开发环境

本游戏程序的设计是在Windows 7 RTM 7600.16385(X86)中文旗舰版操作系统环境下,使用MyEclipse 6.0.1中文版开发成功的。

✧硬件环境:英特尔酷睿i5双核处理器430M 2GB DDR3内存

✧开发软件:Eclipse 6.0

✧运行平台:Windows 7

2.设计思路

2.1设计步骤

步骤一:窗体界面的设计;主窗体利用的是swing组件JFrame,在组件JFrame 上设计可视化界面。

步骤二:棋盘的绘制;中国象棋的棋盘是一个由9*10的横纵交错的线条组成的,线条与线条之间的距离皆相等,而且横向线条上5线和下5线的交界处是“楚河汉界”,对此,要计算好线条与线条之间的距离以及线条起点和终点的坐标,利用线条绘制函数来绘制棋盘。

步骤三:象棋棋子的加载;中国象棋中一共包含32个棋子,蓝子有26个,黑子有16个,其中兵(卒)有10个,炮4个,车4个,马4个,相(象)4个,士(仕)4个,将(帅)2个,于是我们需要设计32个象棋棋子对象,蓝方16个,黑方16个,在象棋棋子类里编写棋子的操作。

步骤四:界面布局;JFrame中各个位置都有其位置坐标,象棋棋子的位置由坐标的位置确定,由于棋子走动的位置只能限制在棋盘的线与线之间的交点上,因此我们得到一个9*10的矩阵,棋子只能在这矩阵的位置上移动。

步骤五:设定棋子走棋规则;在中国象棋中,每一个棋子都有其特定的行走规则,比如马走“日”,相走“田”等,兵只能过河之后才能左右移动,所以对于棋子的移动位置需要利用矩阵的思想来限定。

步骤六:添加鼠标点击棋子事件;在当前的中国象棋游戏中,是通过点击移动鼠标的方法来移动象棋的,当鼠标点击到棋子时,鼠标下一个位置就是该象棋棋子移动的位置,如果位置与上述规则相左时,象棋需要重新选定。

步骤七:吃棋规则的给定;在中国象棋里,任何棋子都有吃棋的资格,但是自己的棋子不能吃自己的棋子,棋子的吃棋方式是按照走棋的方式来给定的,当前位置的棋子能走动到的位置即为该棋子当前能吃的位置,没有棋子级别高低之分。

步骤八:主函数调用;最后编写主函数调用以上方法。

2.2设计流程图

图1:游戏设计流程图

3.设计技术

3.1 io技术

该中国象棋小游戏运用信息的输入和输出技术,其主要的实现代码是打印函数,以及文件的加载函数,这两个函数所在的包是java.io.File以及java.io.IOException内的。

System.out.println()打印函数,在代码中的主要是输出鼠标点击的位置以及鼠标点击的棋子,并确定鼠标点击位置的棋子能否走棋或者能否吃棋。

ImageIO.read(new File(“D:\\image\\24.jpg”))图片导入函数,在游戏代码中的目的是加载棋子。

相关文档
最新文档