本设计采用单机服务器模式,游戏规则是模仿网络上普通的跳棋游戏,主要是鼠标两次点击的图片能否实现跳转到指定位置的问题。当前,前提是点击棋子图片,若点击的是同一张图片或者两张不同的图片,则不予处理。在两张想同图片所能连通的所有路径中,如果存在一条转弯点不多于两个的路径,就可以跳转;如果没有,则不予处理。
界面的设计
将整体界面分为三个大的部分,左上部分为游戏图片显示区域,即主区域,用IMAGE控件;右上角为命令按钮。

跳棋游戏制作的目的是满足了人们休闲的需要,在紧张工作之余休闲类的小游戏能够给人带来最大程度的放松,也可以增进人们之间的交流,沟通,方便人们娱乐的目的。

设计时遇到的问题
开始制作游戏时,主要要解决的问题有以下几个方面:如何设置整个游戏的界面;如何控制跳棋游戏中棋子图片的生成且每种图片必须为偶数个;游戏开始后,判断鼠标两次点击的图片能否消去,即图片是否相同且图片之间路径的判断;如何判断游戏是否结束以及输赢问题等。

基本思路

1 解决游戏区域问题

这个问题最简单,但是却是最花时间的。正所谓:万事开头难。刚开始想了好多控件来实现。比如Label,Panel等等,后来在发现一个跳棋游戏可以通过image控件来画图。因此在几天之后才解决这个最早的最简单的也是最头疼的问题。

2 获取图片位置的思路

首先,最基本的就是关于程序图片的位置怎么获取,以及如何控制。这里采用最常用的方法——数组。考虑到图片是多行多列的格式。所以采用二维数组(数组名为flag[])的方式来控制比较直观,并且为了程序容易解读,统一在不同过程中用名为i和j的变量来分别表示行列。程序开始时给数组中的各个元素赋初值为0,即表示没有图片。

然后数组控制整个游戏区域,游戏区域最外围为空白区域,即相关元素的值为0。这样就可以保证游戏刚开始后,第二层显示的图片之间的相连路径处理时就没有阻碍了。

现在介绍flag[]数组具体控制图片的过程,首先,由于每张图片显示的宽度×高度为39×47,所以整个控件设置为468×376(包括外围空白的两行两列)。而每张图片可以用flag[i,j]来表示,它在image内部的位置为{x=i*39到(i+1)39,y=j47到(j+1)*47}这样image控件内的一点M(x,y)所对应的图片就可以转化为数组flag[i,j]的值来判断。这个思路的具体算法可以后面的3.2.2的第二个步骤中得以体现。

2 界面的设计和棋子图片的生成

由于这个程序的界面并不是很复杂,所以用到的控件也不多,主要核心内容还是后台的代码设计。图片的随机生成主要是用到一个random()函数将随机数赋值给flag[]数组中的每个元素,然后根据数组元素值,来显示图片。(这个在3.1.2的思路中有详细的介绍)

java 跳棋连跳算法 java跳棋游戏设计代码_java


目 录

1 选题背景 5

1.1 课题来源 5

1.2 目的 5

1.3 意义 5

1.4 主要问题 5

1.5 发展概况 6

1.6 指导思想 6

2 设计原理 6

3 开发语言JAVA介绍 6

4 系统设计 10

4.1 基本思路 10

4.1.1 解决游戏区域问题 10

4.1.2 获取图片位置的思路 10

4.2 界面的设计和棋子图片的生成 11

4.2.1 界面的设计 11

4.2.2 棋子图片的生成 12

4.2.3 单击控件的事件触发 13

4.3 跳转路径是否符合规律 14

4.4 游戏界面 16

5 系统调试与测试 17

5.1 程序调试 17

5.2 程序的测试 17

5.2.1 测试的重要性及目的 17

5.2.2 测试的步骤 19

5.2.3 测试的主要内容 19