2024年4月8日发(作者:)

用 JAVA 开发游戏连连看

其实不管是做软件也好,做游戏也好,只要是写程序,

在动手之前是一定会存在需求和分析的,如果不经过

一定的分析就开始动手写程序,那么,这个程序一定

会很难写下去的,最后的结果可能会导致放弃。

那么,在我们动手之前,让我们先简单的分析一下吧。

由于“连连看”并不是一个我们凭空开发的游戏,并且

网上也已经有很多别人已经开发好的版本,因此,对

于我们来说,我们已经拥有了一个很好的原型(比如

说 QQ 游戏中的“连连看”),分析起来也应该是轻松

得多。由于 QQ 中的“连连看”是网络版,为了开发上

的简便,我们先放弃网络功能,做一个简单的单机版

就行了。现在,让我们现在来看一看 QQ 中的连连看

吧。

“连连看”的游戏规则其实并不复杂,首先,游戏开始

的时候,地图上会有由数张不同的图片随机分散在地

图上(并且每张图片会出现偶数次,通常是 4 次),

只需要在地图上找出两张相同的图片(点),并且这

两个点之前可以用不超过 3 条的直线连接起来就可

以消除这两点,如此下去,直到地图上的点全部消除

完就算游戏结束,怎么样,规则很简单吧?:)我们

的开发就完全按照些规则来吧。

分析游戏规则找出算法

通过上面的分析,我们已经知道了游戏规则,可是,

我们怎么样去实现呢?

其实所谓的实现也就是算法,那我们怎么样找出算法

呢?别急,让我们来看一看上图,或者自己动手玩一

玩别人做好的。

通过对上图的观察,我们发现,可以将游戏中的地图

看作是一个二维数组,其中的所有图片(以下称“点”)

可以看作是数组中的一个具体的元素。那么,游戏中

相同的图片可以看作是数组中不同位置两个值相同的

元素。至于直线,让我们给组数中的每一个元素赋一

个特殊的值如 0 ,以表示地图上空白的位置。并且