目前 JAA 领域 J2EE 、 JSP 、 STRUTS 等技术不知有.doc

目前 JAA 领域 J2EE 、 JSP 、 STRUTS 等技术不知有.doc

ID:58427769

大小:461.00 KB

页数:17页

时间:2020-05-19

目前 JAA 领域 J2EE 、 JSP 、 STRUTS 等技术不知有.doc_第1页
目前 JAA 领域 J2EE 、 JSP 、 STRUTS 等技术不知有.doc_第2页
目前 JAA 领域 J2EE 、 JSP 、 STRUTS 等技术不知有.doc_第3页
目前 JAA 领域 J2EE 、 JSP 、 STRUTS 等技术不知有.doc_第4页
目前 JAA 领域 J2EE 、 JSP 、 STRUTS 等技术不知有.doc_第5页
资源描述:

《目前 JAA 领域 J2EE 、 JSP 、 STRUTS 等技术不知有.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、JAVA是一门相当优秀的语言。目前JAVA领域J2EE、JSP、STRUTS等技术不知有多么的热门,他们的主要用途是用来进行企业开发,J2ME也由于能够被大量的移动设备所支持,因此,也有不少的程序,特别是游戏是在J2ME平台上开发的,反而是J2SE,似乎只是被人们用来做一做程序界面的,就连APPLET也很少有人使用了。用JAVA来开发桌面平台的游戏,似乎很少有人这么做,也可能大家一想到做游戏都会想到C、C++、汇编等。我选择了JAVA来开发这个游戏,之所以选择JAVA,是因为:很少有人用JAVA来开发桌面游戏,是因为JAVA在网络方面的强大优势使人们忽略了JAVA在桌面平台上的开发,特别

2、是游戏方面,而并不是因为JAVA做不到,希望通过我的尝试来告诉大家:原来JAVA也能做出漂亮的桌面游戏的。由于JAVA生来就是为网络服务的,因此,一旦有需要,很容易将单机版的游戏改为网络版的。由于现在有很多手机都支持J2ME,而J2ME和J2SE是一脉相承的,因此,用JAVA编写的游戏可以很容易移植到J2ME平台上,想想当你的游戏在手机上运行是一样多么愉快的事情啊。在我的开发过程中,你可以发现我是这么做的:使用数组实现算法的核心使用布局和按钮来实现操作使用布局实现用户界面使用线程在同一时间做更多的事情使用静态变量来减少内存的开销,并且保持信息的一致性使用文件来保存用户的配置信息使用声音让

3、程序更有生气(之一)动手前的准备看看别人现成的游戏在盖房子之前,我们都会先打好地基,然后搭起框架,最后再就是一点一点添砖加瓦,做软件也是一样的道理,都是从大体的框加向细节部分设计实现,现在,我们开始吧。其实不管是做软件也好,做游戏也好,只要是写程序,在动手之前是一定会存在需求和分析的,如果不经过一定的分析就开始动手写程序,那么,这个程序一定会很难写下去的,最后的结果可能会导致放弃。那么,在我们动手之前,让我们先简单的分析一下吧。由于“连连看”并不是一个我们凭空开发的游戏,并且网上也已经有很多别人已经开发好的版本,因此,对于我们来说,我们已经拥有了一个很好的原型(比如说QQ游戏中的“连连看

4、”),分析起来也应该是轻松得多。由于QQ中的“连连看”是网络版,为了开发上的简便,我们先放弃网络功能,做一个简单的单机版就行了。现在,让我们现在来看一看QQ中的连连看吧。“连连看”的游戏规则其实并不复杂,首先,游戏开始的时候,地图上会有由数张不同的图片随机分散在地图上(并且每张图片会出现偶数次,通常是4次),只需要在地图上找出两张相同的图片(点),并且这两个点之前可以用不超过3条的直线连接起来就可以消除这两点,如此下去,直到地图上的点全部消除完就算游戏结束,我们的开发就完全按照些规则来吧。分析游戏规则找出算法通过上面的分析,我们已经知道了游戏规则,可是,我们怎么样去实现呢?其实所谓的实现

5、也就是算法,那我们怎么样找出算法呢?别急,让我们来看一看上图,或者自己动手玩一玩别人做好的。通过对上图的观察,我们发现,可以将游戏中的地图看作是一个二维数组,其中的所有图片(以下称“点”)可以看作是数组中的一个具体的元素。那么,游戏中相同的图片可以看作是数组中不同位置两个值相同的元素。至于直线,让我们给组数中的每一个元素赋一个特殊的值如0,以表示地图上空白的位置。并且同时规定:当连续的具有该特殊值的点的横向索引或纵向索引相同时,可以认为这是一条直线,比如下图:当数组中两点的值相同并且两点间只需要不超过3根直线能连接起来的时候,就让这两点的值变为0,如果数组中全是0值的点,就认为游戏已经结

6、束。用伪代码来描述程序的结构现在,我们用伪代码来描述一下游戏,假设用户开始了游戏:准备地图while(等待用户选择点){当前点=用户选择的点if(存在上次选择的点){if(当前点与上次选择的点可消除){消除两点;上次选择的点=null;if(地图上已没有可消除的点){游戏结束;}}else{上次选择的点=当前点;}}else{上次选择的点=当前点;}}游戏结束;确定程序需要的模块当伪代码完成后,并且在我们的大脑里转了几圈发现没有问题后,现在就可以开始进行模块的划分工作了。我们还是再看一看QQ中的“连连看”,整个程序只需要通过鼠标操作就可以了,按照MVC的结构来进行程序设计,那么我们需要一

7、个Model,用来完成整个程序的核心算法;一个View,用来显示用户界面,当然还需要一个Control,用来处理用户鼠标的操作,这样一来,只需要三个模块就可以完成了。算法模块控制模块显示模块现在我们再细想一下,这样真的就可以了吗?Model是一定需要的,这是整个程序的灵魂。然而对于Control(控制)来说,控制会分为用户游戏中的操作和游戏提供的功能性操作,如果所有的操作包括游戏中的游戏控制、游戏界面上的帮助、设置等都要通过一个Co

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。