信控系计算机应用教研室_第1页
信控系计算机应用教研室_第2页
信控系计算机应用教研室_第3页
信控系计算机应用教研室_第4页
信控系计算机应用教研室_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、2022-2-21信控系计算机应用教研室兰州石化学院 Page 12022-2-21信控系计算机应用教研室兰州石化学院 Page 2 在本书的前面几章,主要介绍了在本书的前面几章,主要介绍了J2ME的基础知识和开发游戏所需要的必的基础知识和开发游戏所需要的必备知识。在前面的各个章节中使用小例子备知识。在前面的各个章节中使用小例子来体现了各个知识点,但是对于一个完整来体现了各个知识点,但是对于一个完整的游戏,恐怕读者在脑海中还是没有一个的游戏,恐怕读者在脑海中还是没有一个比较完整的概念。比较完整的概念。2022-2-21信控系计算机应用教研室兰州石化学院 Page 3 本章将以扫雷游戏和本章将以

2、扫雷游戏和Hero游戏的设计游戏的设计与实现为案例来帮助读者对游戏开发整体与实现为案例来帮助读者对游戏开发整体有一个较清晰的认识。有一个较清晰的认识。2022-2-21信控系计算机应用教研室兰州石化学院 Page 4 扫雷游戏的设计与实现扫雷游戏的设计与实现8.1 Hero Hero游戏的设计与实现游戏的设计与实现8.2小结小结8.32022-2-21信控系计算机应用教研室兰州石化学院 Page 5 扫雷游戏是很多人喜欢玩的一种智力扫雷游戏是很多人喜欢玩的一种智力游戏,普通游戏,普通PC的操作系统一般都自带了这的操作系统一般都自带了这个游戏,现在我们看看在手机里如何实现个游戏,现在我们看看在手

3、机里如何实现这个游戏。这个游戏。2022-2-21信控系计算机应用教研室兰州石化学院 Page 6 8.1.1 8.1.1 游戏的设计游戏的设计 按照一般的开发模式,这种程序一般按照一般的开发模式,这种程序一般是分为以下是分为以下3个模块来开发。个模块来开发。2022-2-21信控系计算机应用教研室兰州石化学院 Page 7(1)Control(2)GameCanvas(3)Gamelogic 2022-2-21信控系计算机应用教研室兰州石化学院 Page 8图图8-1 8-1 扫雷游戏初始界面扫雷游戏初始界面2022-2-21信控系计算机应用教研室兰州石化学院 Page 9 8.1.2 8.

4、1.2 游戏核心算法游戏核心算法 根据游戏的逻辑,要产生一个根据游戏的逻辑,要产生一个8行行8列列的二维数组,和界面上的的二维数组,和界面上的64个位置相对应。个位置相对应。2022-2-21信控系计算机应用教研室兰州石化学院 Page 10图图8-2 8-2 扫雷游戏界面扫雷游戏界面2022-2-21信控系计算机应用教研室兰州石化学院 Page 11 在统计棋盘上的数据时我们要对每个在统计棋盘上的数据时我们要对每个方格的周围方格的周围8个位置都要做判断计算。个位置都要做判断计算。2022-2-21信控系计算机应用教研室兰州石化学院 Page 12 这样我们就随机产生了地雷,并且把这样我们就随

5、机产生了地雷,并且把数组里的数字都计算出来了,下面要实现数组里的数字都计算出来了,下面要实现当选中的位置为空,则翻开周围的地图。当选中的位置为空,则翻开周围的地图。2022-2-21信控系计算机应用教研室兰州石化学院 Page 13 当选中的位置为地雷,游戏结束。要当选中的位置为地雷,游戏结束。要实现这样的功能也必须对每个方格的周围实现这样的功能也必须对每个方格的周围8个位置都要做判断计算。个位置都要做判断计算。2022-2-21信控系计算机应用教研室兰州石化学院 Page 14 当一个位置被翻开后把这个位置上的当一个位置被翻开后把这个位置上的数字加数字加10,让这个位置不能再被翻开,当,让这

6、个位置不能再被翻开,当翻开的位置上的数字是翻开的位置上的数字是20表示是地雷,游表示是地雷,游戏结束。戏结束。2022-2-21信控系计算机应用教研室兰州石化学院 Page 15 这是一个类似于小蜜蜂的游戏,游戏这是一个类似于小蜜蜂的游戏,游戏中玩家去营救人质,当敌人和敌机追过来中玩家去营救人质,当敌人和敌机追过来时,可以使用武器向敌人和敌机射击,如时,可以使用武器向敌人和敌机射击,如果打中敌人或敌机则得分,否则就减少自果打中敌人或敌机则得分,否则就减少自己的生命值。己的生命值。2022-2-21信控系计算机应用教研室兰州石化学院 Page 16 游戏由初始画面和游戏画面组成。游游戏由初始画面

7、和游戏画面组成。游戏初始画面如图戏初始画面如图8-3所示,游戏进行画面如所示,游戏进行画面如图图8-4所示。所示。2022-2-21信控系计算机应用教研室兰州石化学院 Page 17 图图8-3 8-3 游戏初始画面游戏初始画面 2022-2-21信控系计算机应用教研室兰州石化学院 Page 18图图8-4 8-4 游戏进行画面游戏进行画面2022-2-21信控系计算机应用教研室兰州石化学院 Page 19 选择新游戏后就进入游戏画面,这时选择新游戏后就进入游戏画面,这时可以使用手机键盘控制武器的上下左右的可以使用手机键盘控制武器的上下左右的位置,以瞄准敌人或敌机射击。当生命值位置,以瞄准敌人

8、或敌机射击。当生命值为零时游戏失败结束。当得分达到为零时游戏失败结束。当得分达到1000时时游戏胜利结束。游戏胜利结束。2022-2-21信控系计算机应用教研室兰州石化学院 Page 20 8.2.1 8.2.1 游戏的设计游戏的设计 和扫雷游戏一样,程序也是分为如下和扫雷游戏一样,程序也是分为如下3个模块来开发。个模块来开发。2022-2-21信控系计算机应用教研室兰州石化学院 Page 21(1)GameMain:一个程序运行的:一个程序运行的主文件,也就是一个主文件,也就是一个Midlet的继承类。的继承类。2022-2-21信控系计算机应用教研室兰州石化学院 Page 22(2)Dra

9、wGame:一个界面的表示:一个界面的表示类,也就是一个类,也就是一个Canvas的继承,界面的继承,界面上有些菜单如上有些菜单如new、exit,那就应该,那就应该要实现一个要实现一个 CommandListener消息消息监听类。监听类。2022-2-21信控系计算机应用教研室兰州石化学院 Page 23(3)ImageLab:这个是为了游戏使:这个是为了游戏使用图片的方便用这个类来构造一个图用图片的方便用这个类来构造一个图片数组。片数组。2022-2-21信控系计算机应用教研室兰州石化学院 Page 24 上面是游戏的总体设计,游戏主要逻上面是游戏的总体设计,游戏主要逻辑都是在辑都是在D

10、rawGame类中实现的。在射击类中实现的。在射击时当子弹的位置和敌人或敌机的位置重合时当子弹的位置和敌人或敌机的位置重合时让它们的图片不显示,在这个位置上显时让它们的图片不显示,在这个位置上显示出爆炸的图片。示出爆炸的图片。2022-2-21信控系计算机应用教研室兰州石化学院 Page 25 使用一个使用一个Timer 类来不停的产生敌人类来不停的产生敌人和敌机,并且位置渐渐向玩家接近。和敌机,并且位置渐渐向玩家接近。 2022-2-21信控系计算机应用教研室兰州石化学院 Page 26 8.2.2 8.2.2 游戏核心算法游戏核心算法 游戏的难点在于要不停地显示新的画游戏的难点在于要不停地

11、显示新的画面、得分和生命值,我们使用了面、得分和生命值,我们使用了Timer timer = new Timer();产生一个产生一个Timer 类的类的对象。在对象。在DrawGame的构造方法里让的构造方法里让timer这个对象不停地执行一个任务。这个对象不停地执行一个任务。2022-2-21信控系计算机应用教研室兰州石化学院 Page 27 我们还要随机地产生我们还要随机地产生TimerTask敌人敌人和敌机和敌机x坐标的位置,这是使用坐标的位置,这是使用Random 类类的的nextInt()方法来实现的。方法来实现的。 2022-2-21信控系计算机应用教研室兰州石化学院 Page 28 我们使用我们使用keyPressed方法来控制武器方法来控制武器的位。的位。2022-2-21信控系计算机应用教研室兰州石化学院 Page 29图图8-5 8-5 游戏结束画面游戏结束画面2022-2-21信控系计算机应用教研室

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论