- 2
- 0
- 约1.1万字
- 约 17页
- 2018-09-02 发布于湖北
- 举报
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 的结构来进
您可能关注的文档
- [键入文字]北京京北职业技术学院就业质量报告20.PDF
- 《高中体育和健康》.doc
- 《广州饮用水水源污染防治规定》.doc
- 《魔兽世界》竞技场世界盃联赛-台港澳资格赛赛事规章一、.PDF
- 《商法》课程讲义.ppt
- 《社会工作者专业认证和执业注册制度》.PDF
- 《用户导入功能操作说明》.doc
- 《植树牧羊人》阅读训练复习课.ppt
- 「公共工程谘询标系统化制度」说明.PDF
- 【SSLDomino凭证申请和安装】.PDF
- 党委2026年党建工作要点.pdf
- 年度预算管理制度.docx
- 2026年春江苏开放大学总书记关于教育的重要论述研究060702考核作业1.pdf
- 2026年春江苏开放大学总书记关于教育的重要论述研究060702考核作业1.docx
- 2026年春江苏开放大学施工安全技术与管理060982形考作业1-3答案.pdf
- 2026年春江苏开放大学施工安全技术与管理060982形考作业1答案.doc
- 2026年春江苏开放大学施工安全技术与管理060982形考作业1-3答案.docx
- 2026年春江苏开放大学施工安全技术与管理060982形考作业1答案.pdf
- 早发现、早介入、早化解——高一年级班级矛盾隐患闭环管理工作机制.pdf
- 2026年春江苏开放大学总书记关于教育的重要论述研究060702考核作业1.doc
最近下载
- 部编版五年级道德与法治下册道德与法治全册单元测试题及答案+教案全套.doc VIP
- 江苏省姜堰中学、溧阳中学等六校2015届高三4月学情检测语文试题带答案与解析.doc VIP
- 沛县鹿口河(张寨段)生态缓冲带保护与修复工程项目环境影响报告表.docx VIP
- 高质量数据集建设实施路径(34页 PPT).pptx VIP
- 空间观念及其培养(陈祥彬讲座).ppt VIP
- 湖南省安全员B证考核测试题及答案.docx VIP
- 人工智能高质量数据集建设指南.pptx
- 江苏省溧阳市2024学年语文高三上期末统考模拟试题含解析.doc VIP
- 四川省2026年高职单招考试模拟信息技术试题(含答案详解).pdf
- 电解铝行业大修渣和炭渣利用污染控制技术规范(DB63T 2389-2024).docx VIP
原创力文档

文档评论(0)