JAVA是一门相当优秀语言。目前JAVA领域J2EE、JSP.docVIP

  • 2
  • 0
  • 约1.1万字
  • 约 17页
  • 2018-09-02 发布于湖北
  • 举报

JAVA是一门相当优秀语言。目前JAVA领域J2EE、JSP.doc

JAVA 是一门相当优秀的语言。目前 JAVA 领域 J2EE 、 JSP 、 STRUTS 等技术不知有多么的热门,他们的主要用途是用来进行企业开发, J2ME 也由于能够被大量的移动设备所支持,因此,也有不少的程序,特别是游戏是在 J2ME 平台上开发的,反而是 J2SE ,似乎只是被人们用来做一做程序界面的,就连 APPLET 也很少有人使用了。用 JAVA 来开发桌面平台的游戏,似乎很少有人这么做,也可能大家一想到做游戏都会想到 C 、 C++ 、汇编等。 我选择了 JAVA 来开发这个游戏,之所以选择 JAVA ,是因为: 很少有人用 JAVA 来开发桌面游戏,是因为 JAVA 在网络方面的强大优势使人们忽略了 JAVA 在桌面平台上的开发,特别是游戏方面,而并不是因为 JAVA 做不到,希望通过我的尝试来告诉大家:原来 JAVA 也能做出漂亮的桌面游戏的。由于 JAVA 生来就是为网络服务的,因此,一旦有需要,很容易将单机版的游戏改为网络版的。 由于现在有很多手机都支持 J2ME ,而 J2ME 和 J2SE 是一脉相承的,因此,用 JAVA 编写的游戏可以很容易移植到 J2ME 平台上,想想当你的游戏在手机上运行是一样多么愉快的事情啊。 在我的开发过程中,你可以发现我是这么做的: 使用数组实现算法的核心 使用布局和按钮来实现操作 使用布局实现用户界面 使用线程在同一时间做更多的事情 使用静态变量来减少内存的开销,并且保持信息的一致性 使用文件来保存用户的配置信息 使用声音让程序更有生气 (之一)动手前的准备 看看别人现成的游戏 在盖房子之前,我们都会先打好地基,然后搭起框架,最后再就是一点一点添砖加瓦,做软件也是一样的道理,都是从大体的框加向细节部分设计实现,现在,我们开始吧。 其实不管是做软件也好,做游戏也好,只要是写程序,在动手之前是一定会存在需求和分析的,如果不经过一定的分析就开始动手写程序,那么,这个程序一定会很难写下去的,最后的结果可能会导致放弃。 那么,在我们动手之前,让我们先简单的分析一下吧。由于“连连看”并不是一个我们凭空开发的游戏,并且网上也已经有很多别人已经开发好的版本,因此,对于我们来说,我们已经拥有了一个很好的原型(比如说 QQ 游戏中的“连连看”),分析起来也应该是轻松得多。由于 QQ 中的“连连看”是网络版,为了开发上的简便,我们先放弃网络功能,做一个简单的单机版就行了。现在,让我们现在来看一看 QQ 中的连连看吧。 “连连看”的游戏规则其实并不复杂,首先,游戏开始的时候,地图上会有由数张不同的图片随机分散在地图上(并且每张图片会出现偶数次,通常是 4 次),只需要在地图上找出两张相同的图片(点),并且这两个点之前可以用不超过 3 条的直线连接起来就可以消除这两点,如此下去,直到地图上的点全部消除完就算游戏结束,我们的开发就完全按照些规则来吧。 分析游戏规则找出算法 通过上面的分析,我们已经知道了游戏规则,可是,我们怎么样去实现呢? 其实所谓的实现也就是算法,那我们怎么样找出算法呢?别急,让我们来看一看上图,或者自己动手玩一玩别人做好的。 通过对上图的观察,我们发现,可以将游戏中的地图看作是一个二维数组,其中的所有图片(以下称“点”)可以看作是数组中的一个具体的元素。那么,游戏中相同的图片可以看作是数组中不同位置两个值相同的元素。至于直线,让我们给组数中的每一个元素赋一个特殊的值如 0 ,以表示地图上空白的位置。并且同时规定:当连续的具有该特殊值的点的横向索引或纵向索引相同时,可以认为这是一条直线,比如下图: 当数组中两点的值相同并且两点间只需要不超过 3 根直线能连接起来的时候,就让这两点的值变为 0 ,如果数组中全是 0 值的点,就认为游戏已经结束。 用伪代码来描述程序的结构 现在,我们用伪代码来描述一下游戏,假设用户开始了游戏: 准备地图 while ( 等待用户选择点 ) { 当前点 = 用户选择的点 if ( 存在上次选择的点 ) { if ( 当前点与上次选择的点可消除 ) { 消除两点; 上次选择的点 = null ; if ( 地图上已没有可消除的点 ) { 游戏结束; } } else { 上次选择的点 = 当前点; } } else { 上次选择的点 = 当前点; } } 游戏结束; 确定程序需要的模块 当伪代码完成后,并且在我们的大脑里转了几圈发现没有问题后,现在就可以开始进行模块的划分工作了。 我们还是再看一看 QQ 中的“连连看”,整个程序只需要通过鼠标操作就可以了,按照 MVC 的结构来进

文档评论(0)

1亿VIP精品文档

相关文档