中期验收报告

导读:嵌入式方向综合工程设计中期检查报告,题目开题报告日期坦克大战2013年9月目前成果:2.1游戏的开发环境操作系统:M,计算机学院嵌入式方向综合工程设计中期检查报告题目:坦克大战姓名:郭庆学号03101149姓名:李源学号03101152姓名:徐沛学号03101137指导老师:苏锐丹起止时间:2013年9月至2013年11月西安电子科技大学计算机工程系2012年5月制题目开题报告日期坦克大战20

中期验收报告

计算机学院

嵌入式方向综合工程设计中期检查报告

题目:坦克大战

姓名:郭庆学号 03101149 姓名:李源学号03101152 姓名:徐沛学号03101137 指导老师:苏锐丹

起止时间:2013年9月至2013年11月

西安电子科技大学计算机工程系

2012年5月制

题 目 开题报告日期 坦克大战 2013年9月 目前成果: 2.1游戏的开发环境 操作系统:Microsoft Windows XP 程序语言:Java 2 开发包: JDK5.0 Java(TM) 2 Standard Edition sun_java_wireless_toolkit-2.5.2_01 IDE: Eclipse eclipse-SDK-3.7 (插件:eclipseme.feature_1.7.9_site) 2.2相关理论与技术 本系统在设计方面做了很大的改观,为未来的长久安全的使用做了大量的准备工作,对于任意一款软件的开发,应用才是重中之重,所以本着实用的基本原则,本系统以J2ME语言为基础在手机等支持Java语言的电子设备平台上实现主要功能,以eclipse为开发平台主要以MIDLet、Canvas和RMS等主要技术为支持,该查询系统不仅用到了上述方面的知识同时对RMS数据库的知识也要有一些比较清晰的了解,增加系统完成的可能性。 第三章 需求分析 3.1系统的主要功能 坦克大战是一款经典的游戏,本游戏在学习继承前辈的同时,尝试性的进行一些创新;下面是对系统主要功能的简要概述。 整体上说,本游戏分为敌我双方,有八个关卡,主战坦克有玩家控制,敌方坦克能够智能化的运行。 1玩家的控制 游戏打开的时候,玩家可以选择关卡,然后进入游戏,玩家可以通过上下左右键控制坦克的运行,可以通过中间的键控制坦克打出炮弹,当坦克打中敌方坦克,子弹和地方坦克都死亡。游戏过程中,玩家可以暂停游戏,然后开始游戏,还可以退出到前面的界面。当一关的所有敌方坦克都死亡,则进入下一个关卡。 2敌方坦克的智能运行 敌方坦克是有一系列的随机数控制的,不仅能够智能运行,还能智能打出炮弹,当打中主战坦克时,主战坦克的生命值自动减一,同时回到初始化是的位臵。 3子弹的运行 主战坦克是有玩家控制打出的,敌方坦克是随机打出的,只有当子弹不属于同一方是子弹与坦克的碰撞才有效。当子弹打到墙壁和屏幕的边缘时,子弹也会消失。 4关卡的设臵 第一次玩游戏时,只有第一关是被解锁的。也就是只有第一关能玩。其他的关卡需要玩家解锁。只有玩家过了前面的关卡,随后的那个关卡才会被自动解锁。这种实现是用RMS完成的,所以退出游戏,下次进入游戏时已经被解锁的关卡仍然处于被解锁的状态。 第四章 概要设计 程序的入口是继承了MIDlet类的TankMIDlet类,运行后会进入一个List,也就是一个选择界面。有两个选项,一个选项是对游戏操作的详细说明,另一个是一个选择关卡的List。玩家可以选择查看游戏说明,然后确定返回到上层的选择界面,玩家也也可以直接选择关卡。当玩家选择了已破解的关卡后就可以顺利的进入游戏的主界面开始游戏了,如果关卡未破解,屏幕的上方会有提示信息显示此关未破解,这时就需要玩家重新选择了。主程序中,系统会自动的收集变化的参数,不停地重新初始化,重新绘制屏幕,这些都是有MIDlet和线程完成的。玩游戏的过程中,玩家可以选择暂停游戏,然后可以继续游戏,玩家还可以返回选择界面。 TankCanvas主管着类之间的协调,决定何时死亡,合适打出炮弹,何时显示游戏结束后的Gameover字样。它运行于独立的线程中,以恒定的频率刷新画面。 为了是程序更清晰,程序中将主战坦克与敌方坦克作为一个类,用一个变量isEnemy来区别是主战坦克还是敌方坦克。所有的坦克类均在TankCanvas中建立了对象,初始化由initialTanks()方法完成,也便于统一调度。TankCanvas中有一个drawAll()方法,这样所有的屏幕绘制都只需调用这个方法。 如图4.1是整个游戏程序的流程图: 开始 敌人数量>0? NYN 主战坦克死亡? 下一关 Y显示GAMEOVER 最后一关 N Y结束 第五章 游戏的详细设计与实现 5.1游戏所包含的类及类与类之间的关系 本程序采用面向对象的设计模式,对游戏中的所有物体赋予对象的概念和属性。运行程序后允许用户选择执行选项菜单,在开始游戏后将先从外部文件载入地图文件,对背景的所有物体进行绘图。在主程序运行的线程中,画面刷新将以一定的频率采用双缓冲技术对屏幕重绘,实时反映整个游戏的进行状态。用户控制的坦克运行在主线程中,随屏幕刷新的频率而步进。敌方坦克将在游戏开始时逐渐新增线程,每增加一个敌方对象就新增加一条线程,当敌方坦克的数量为零,下一个关卡被自动解锁,程序自动进入到下一个关卡。所有的子弹都放在一个定制的Vector的子类MyVector容器中。在屏幕重绘的主程序中,将在每次的循环中判断若干事件。如:用户坦克的生命是否已完全用尽,敌方坦克数是否已经为零,屏幕上的坦克数量是否少于仍剩下的坦克数量等。以便程序进入相关的分支执行相关的反应代码,结束游戏或统计分数等。主程序流程如图5.1所示: 开始 选择界面 确游戏说明 选择关卡 N 此关已破解? 显示此关未破解 Y 游戏主程序 初始化参数 绘制屏幕 显示事件 结束

五星文库wxphp.com包含总结汇报、资格考试、党团工作、工作范文、IT计算机、旅游景点、文档下载、计划方案、外语学习、考试资料、出国留学、教学教材以及中期验收报告等内容。

本文共3页123