J2ME实用教程 教学课件 ppt 作者 李新力 第8章-游戏案例分析

上传人:E**** 文档编号:89371500 上传时间:2019-05-24 格式:PPT 页数:30 大小:280KB
返回 下载 相关 举报
J2ME实用教程 教学课件 ppt 作者  李新力 第8章-游戏案例分析_第1页
第1页 / 共30页
J2ME实用教程 教学课件 ppt 作者  李新力 第8章-游戏案例分析_第2页
第2页 / 共30页
J2ME实用教程 教学课件 ppt 作者  李新力 第8章-游戏案例分析_第3页
第3页 / 共30页
J2ME实用教程 教学课件 ppt 作者  李新力 第8章-游戏案例分析_第4页
第4页 / 共30页
J2ME实用教程 教学课件 ppt 作者  李新力 第8章-游戏案例分析_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《J2ME实用教程 教学课件 ppt 作者 李新力 第8章-游戏案例分析》由会员分享,可在线阅读,更多相关《J2ME实用教程 教学课件 ppt 作者 李新力 第8章-游戏案例分析(30页珍藏版)》请在金锄头文库上搜索。

1、,第8章 游戏案例分析,在本书的前面几章,主要介绍了J2ME的基础知识和开发游戏所需要的必备知识。在前面的各个章节中使用小例子来体现了各个知识点,但是对于一个完整的游戏,恐怕读者在脑海中还是没有一个比较完整的概念。,本章将以扫雷游戏和Hero游戏的设计与实现为案例来帮助读者对游戏开发整体有一个较清晰的认识。,8.1 扫雷游戏的设计与实现,扫雷游戏是很多人喜欢玩的一种智力游戏,普通PC的操作系统一般都自带了这个游戏,现在我们看看在手机里如何实现这个游戏。,8.1.1 游戏的设计 按照一般的开发模式,这种程序一般是分为以下3个模块来开发。,(1)Control (2)GameCanvas (3)G

2、amelogic,图8-1 扫雷游戏初始界面,8.1.2 游戏核心算法 根据游戏的逻辑,要产生一个8行8列的二维数组,和界面上的64个位置相对应。,图8-2 扫雷游戏界面,在统计棋盘上的数据时我们要对每个方格的周围8个位置都要做判断计算。,这样我们就随机产生了地雷,并且把数组里的数字都计算出来了,下面要实现当选中的位置为空,则翻开周围的地图。,当选中的位置为地雷,游戏结束。要实现这样的功能也必须对每个方格的周围8个位置都要做判断计算。,当一个位置被翻开后把这个位置上的数字加10,让这个位置不能再被翻开,当翻开的位置上的数字是20表示是地雷,游戏结束。,8.2 Hero游戏的设计与实现,这是一个

3、类似于小蜜蜂的游戏,游戏中玩家去营救人质,当敌人和敌机追过来时,可以使用武器向敌人和敌机射击,如果打中敌人或敌机则得分,否则就减少自己的生命值。,游戏由初始画面和游戏画面组成。游戏初始画面如图8-3所示,游戏进行画面如图8-4所示。,图8-3 游戏初始画面,图8-4 游戏进行画面,选择新游戏后就进入游戏画面,这时可以使用手机键盘控制武器的上下左右的位置,以瞄准敌人或敌机射击。当生命值为零时游戏失败结束。当得分达到1000时游戏胜利结束。,8.2.1 游戏的设计 和扫雷游戏一样,程序也是分为如下3个模块来开发。,(1)GameMain:一个程序运行的主文件,也就是一个Midlet的继承类。,(2

4、)DrawGame:一个界面的表示类,也就是一个Canvas的继承,界面上有些菜单如new、exit,那就应该要实现一个 CommandListener消息监听类。,(3)ImageLab:这个是为了游戏使用图片的方便用这个类来构造一个图片数组。,上面是游戏的总体设计,游戏主要逻辑都是在DrawGame类中实现的。在射击时当子弹的位置和敌人或敌机的位置重合时让它们的图片不显示,在这个位置上显示出爆炸的图片。,使用一个Timer 类来不停的产生敌人和敌机,并且位置渐渐向玩家接近。,8.2.2 游戏核心算法 游戏的难点在于要不停地显示新的画面、得分和生命值,我们使用了Timer timer = new Timer();产生一个Timer 类的对象。在DrawGame的构造方法里让timer这个对象不停地执行一个任务。,我们还要随机地产生TimerTask敌人和敌机x坐标的位置,这是使用Random 类的nextInt()方法来实现的。,我们使用keyPressed方法来控制武器的位。,图8-5 游戏结束画面,8.3 小 结,本章通过两个游戏的案例,对游戏的设计和核心算法都做了详细的分析,对前几章介绍的内容做了综合的运用,希望帮助读者对游戏整体有一个较清晰的认识。从而提高开发游戏的能力。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号