很多地方需要优化。游戏缺少开始部分的画面,可以是个很酷的背景图片。这点实现起来其实挺简单,但作为个细节方面的不影响大局的部分,我将其省略了。游戏可以设置更多更复杂的关卡,但这不是编程以内的问题,同时也是个比较耗时的工作,这个可以留到以后慢慢优化。在真正对战的工程中,主战坦克可能会出现即使与敌方坦克发生了碰撞也没有检测到的问题。敌方坦克可能会纠结在屏幕的角上不停地变向而无法离开。这是程序的两个小,目前还没有找到问题的根由。程序中,无论是子弹的速度,主战坦克的速度,都是不变的。程序需要拓展,让它们的速度可变,这样可以提高程序的可玩性。总体上讲,这个程序只能算是坦克大战的雏形,还有很多需要添加改进和优化的地方。虽然这个游戏作为毕业论文已经结束,但我还是会在它的基础上继续修改和优化,将其完善。这只是个小小的开始。参考文献陈立伟,张克非精通手机游戏与应用程序设计张伶,林琪译技术手册北京中国电力出版社,印旻语言与面向对象程序设计北京清华大学出版社吴延昌,冯萍,苏聪基于技术的应用开发与研究微电子学与计算机魏永红基于技术的手机信息查询系统的设计与实现微计算机信息,仵博,张立涓无线开发实用教程北京清华大学出版社,容器来装坦克和子弹,在绘图,碰撞检测等很多地方都需要对这个容器中的对象进行遍历,但中不提供这种功能,为了简化大量的遍历带来的麻烦,我在这里拓展了类而创建了个的子类。它里面有个方法叫,它的功能和用法和中的完全样。在这个包中,定义了个接口继承,拓展了个新的方法,它返回个接口对象,拥有上面的两个方法。同时,在中定义了个实现了接口的内部类,它实现了的两个方法。第六章游戏的运行与测试测试方案测试方式主要有两种静态测试和动态测试,我们主要采用的是动态测试。由于动态测试是通过运行程序来检验软件的动态特性和结果的正确性,同时也是对程序运行进行评价的过程,动态测试包括运行解释和模拟。本系统主要是在上的测试,主要依靠系统和运行结果与预期结果进行比较,看是否实现预期的功能,以达到系统的全面行可行性等。测试项目本程序包括如下的几个测试模块中相应按钮事件的测试关卡的测试数据库功能的测试中的暂停开始等按钮事件的测试中双方交战的各种测试中相应按钮事件的测试在正确的运行程序后,将进入选择界面,如图。当通过上下键选择游戏说明并按下确定键时,程序会跳向图的界面。在所示的界面中,键盘按下收到程序会返回到所示的界面。当通过上下键选择开始并按下确定键时,程序会跳向图所示选择关卡的界面。图图图关卡的测试数据库功能的测试当程序显示在图所示的界面是,当通过上下键选择游戏说明并按下确定键时,程序会自动进入相应的关卡。这里抽样出前三个关卡的截图,图非别为为第关第二关和第三关的关卡。图图图当关卡未被破解时,我们可以看到此关未解锁的提示,见图图中的暂停开始等按钮事件的测试当双方处在如上面的三个图所示的交战状态时,我们可以通过下面的按钮控制游戏。当我们按下时,游戏会暂停,同时,会变成,如图所示。当游戏处于暂停状态,当我们按中。和样,不论的实例是产生于主战坦克还是敌方坦克,他么都是个类的实例,只是在实例化这个实例的时候给了它个的值,这个值和产生它的对象时相等的。我们可以通过的构造函数看到类的些属性,包括颜色速度半径隶属于哪个坦克自己的精灵等。子弹也分好坏,,的工作很少,与坦克的碰撞在类中实现了。只有个与屏幕边缘的碰撞检测,也就是方法。当检测到碰撞时,将这个实例从的实例中移除。类的详细设计类有三个方法,是用来打开音乐和关闭音乐的。这个音乐文件必须是格式的文件。方法用来打开指定文件名的音乐文件,方法打开实例的音乐文件。方法暂停音乐的播放。类的详细设计类中的变量和方法都是静态的,这样只需要直接通过类名类使用。程序中设置了个关卡,所以这里有个用于绘制地图的静态的二维数组。为了将相应的数组与相应的关卡对应起来,类中有个专门用来存放二维数组的三维数组,如下然后我们用个的方法得到相应关卡的表示地图的二维数组数据库的详细设计本程序中,的作用是存储游戏的那些关卡已经被破解。实际上,数据库中至存储了个记录,就是当前的关卡经被破解到的关卡数量加上实际上,这个数字和中的变量相对应的,也就是它是从开始的和破解这个关卡的玩家姓名。这里为了简化程序,玩家的统为。本游戏初始化只有第关是被破解的。程序中的数据库的操作放在了类中,这个类中的个主要方法就是他修改数据库中的数据,为修改后的被破解的地图下标,对应关卡加。容器和遍历在整个程序中用到了界面时,我们按下了,程序会返回到选择关卡的界面,如图。玩家可以通过确定键和来跳回到游戏对打界面,但是这时的选择关卡是没有意义的。也就是说,无论玩家是选择哪个关卡,用的是确定键还是键,程序都会跳回到如图所示的状态,并且,点击以后游戏才会开始,进入图的状态。图图图中双方交战的各种测试无论是坦克双方的移动,子弹的打出,还是子弹坦克地图和屏幕边缘的碰撞检测等的测试通过单独的图片是不能证明问题的,必须在实际的操作中才能测试出来,但是通过上面的那些截图也能看出这个程序所必须具备的功能的大概的正确性。下面对游戏的屏幕左上角所显示的字符串信息与程序的逻辑之间的正确性。游戏初始化时,玩家有十条生杀敌数为,关卡为当前所在关卡。游戏过程中这三个字符串分别表示当时玩家的生命值玩家杀掉的敌方坦克的总数量和当前所在关卡。如图为初始化时的状态。图为刚刚进入第二关时的状态。当玩家的生命值减少到时,游戏结束。这时,玩家可以看到屏幕中间显示的的字符串,如图图图图第七章结论这是个小游戏,但对于我来说却是个不小的工程。从开始到将游戏写到现在的这个样子的过程,实际上就是遇到问题然后再解决问题的过程是个学习的过程。最开始的时候,我并没有将这个游戏的所有功能和所有的细节都考虑在其内。而是在原有内容的基础上添加功能。从软件工程的角度讲是自上而下逐步求精的软件工程方法。但这对框架的可拓展性又极高的要求,所以作为初学者的我在写代码的过程中深深地体会到了框架和软件工程学的方法的重要性。游戏运行起来还有许许多多的问题,还有下时得大电路,使在到的测量范围下,单频率功率及总功率测量误差均控制在以内。方案选择整体方案选择音频分析仪可分为模拟式与数字式两大类。方案以模拟滤波器为基础的模拟式频谱分析仪。有并行滤波法扫描滤波法小外差法等。因为受到模拟滤波器滤性能的限制,此种方法对我们来说实现起来非常困难。方案二以为基础的的数字式频谱分析仪。通过信号的频谱图可以很方便的得到输入信号的各种信息,如功率谱频率分量以及周期性等。外围电路少,实现方便,精度高。所以我们选用方案二作为本音频分析仪的实现方式。计算方式选择方案使用硬件实现。的程序编写难度大,短时内不易实现。方案二在中嵌入处理器,通过软件实现。支持语言编程方式,普通的语言版的稍加改正即可应用到本方案中。用硬件实现的算法太复杂了,因此我们选用方案二。采样电路与芯片选择本设计中要求分析的信号峰峰值范围为,用位进行采样,不能满足题目的精度要求,采用位的芯片,其分辨率可达到相对于信号,满足了题目要求的误差范围。同时其的采样频率也满足本设计中的频率要求。信号调理方案信号输入满偏电压在双极性时为,即峰峰值。方案将输入信号放大倍,以达到的满偏输入,以提高的精度。但若输入信号都比较小时,采样精度就会下降。方案二将前端信号放大调理电路分为几个档,针对不同幅度的信号选择合适的通道进行放大,放大倍数以当前信号中的最大峰值为选择基准。这样在输入信号比较小时可以选择比较大的放大倍数,以提高采样的精度。明显方案优于方案。采样及滤波方案选择方案按照奈奎斯特定律采样,以传统模拟方式滤波。传统模拟方式或有源滤波芯片难以实现很好的频带外衰减。从而使运算结果误差增大。方案二在前进行简单的抗混叠滤波,以比较高的速率采样,然后在中用数字滤波器进行精确滤波。滤波后进行二次采样以减少运算量。切比雪夫型低通滤波器有平坦的通带,等波纹的抑制频带适中的过度频带,非常适合于音频滤波。可以使分析达到很好的精度。方案二外围电路要求少,实现方便,我们采用方案二。信号功率的计算。方案通过测真有效值的方式实现,应用普通的真有效值检测芯片可以方便的测出信号在定时间段内的总功率。但对单个频点处的功率测量无能为力。方案二在用得到信号的频谱后根据帕斯瓦尔定律可以很方便的得到信号各频率分量的功率及信号的总功率。因为本设计中我们可以通过得到信号的频谱,因此方案二最适合本设计。总体方案确定经过以上论证我们确定总体设计方案框图如下图系统整体方案框图设计流程系统具体设计与实现前端可控增益放大电路及增益控制电路针对音频信号的特点以及题目中对精度的要求,我们选用了特别适合音频信号处理的经典运放。峰值保持部分使用普通运放。信号进入后首先经过与欧姆精密电阻并联的跟随器,以满足题目中的欧姆输入阻抗的要求,同时增强带后级带负载的能力。然后经过隔直电容进入后级放大电路。放大电路同时设置了,个放大通道,分别对信号进行不同放大,这样将可测量信号的动态范围扩展到了电路图见图。同时通过峰值保持电路记录个运算周期内的信号峰值,通过与设定的很多地方需要优化。游戏缺少开始部分的画面,可以是个很酷的背景图片。这点实现起来其实挺简单,但作为个细节方面的不影响大局的部分,我将其省略了。游戏可以设置更多更复杂的关卡,但这不是编程以内的问题,同时也是个比较耗时的工作,这个可以留到以后慢慢优化。在真正对战的工程中,主战坦克可能会出现即使与敌方坦克发生了碰撞也没有检测到的问题。敌方坦克可能会纠结在屏幕的角上不停地变向而无法离开。这是程序的两个小,目前还没有找到问题的根由。程序中,无论是子弹的速度,主战坦克的速度,都是不变的。程序需要拓展,让它们的速度可变,这样可以提高程序的可玩性。总体上讲,这个程序只能算是坦克大战的雏形,还有很多需要添加改进和优化的地方。虽然这个游戏作为毕业论文已经结束,但我还是会在它的基础上继续修改和优化,将其完善。这只是个小小的开始。参考文献陈立伟,张克非精通手机游戏与应用程序设计张伶,林琪译技术手册北京中国电力出版社,印旻语言与面向对象程序设计北京清华大学出版社吴延昌,冯萍,苏聪基于技术的应用开发与研究微电子学与计算机魏永红基于技术的手机信息查询系统的设计与实现微计算机信息,仵博,张立涓无线开发实用教程北京清华大学出版社,容器来装坦克和子弹,在绘图,碰撞检测等很多地方都需要对这个容器中的对象进行遍历,但中不提供这种功能,为了简化大量的遍历带来的麻烦,我在这里拓展了类而创建了个的子类。它里面有个方法叫,它的功能和用法和中的完全样。在这个包中,定义了个接口继承,拓展了个新的方法,它返回个接口对象,拥有上面的两个方法。同时,在中定义了个实现了接口的内部类,它实现了的两个方法。第六章游戏的运行与测试测试方案测试方式主要有两种静态测试和动态测试,我们主要采用的是动态测试。由于动态测试是通过运行程序来检验软件的动态特性和结果的正确性,同时也是对程序运行进行评价的过程,动态测试包括运行解释和模拟。本系统主要是在上的测试,主要依靠系统和运行结果与预期结果进行比较,看是否实现预期的功能,以达到系统的全面行可行性等。测试项目本程序包括如下的几个测试模块中相应按钮事件的测试关卡的测试数据库功能的测试中的暂停开始等按钮事件的测试中双方交战的各种测试中相应按钮事件的测试在正确的运行程序后,将进入选择界面,如图。当通过上下键选择游戏说明并按下确定键时,程序会跳向图的界面。在所示的界面中,键盘按下收到程序会返回到所示的界面。当通过上下键选择开始并按下确定键时,程序会跳向图所示选择关卡的界面。图图图关卡的测试数据库功能的测试当程序显示在图所示的界面是,当通过上下键选择游戏说明并按下确定键时,程序会自动进入相应的关卡。这里抽样出前三个关卡的截图,图非别为为第关第二关和第三关的关卡。图图图当关卡未被破解时,我们可以看到此关未解锁的提示,见图图中的暂停开始等按钮事件的测试当双方处在如上面的三个图所示的交战状态时,我们可以通过下面的按钮控制游戏。当我们按下时,游戏会暂停,同时,会变成,如图所示。当游戏处于暂停状态,当我们
温馨提示:手指轻点页面,可唤醒全屏阅读模式,左右滑动可以翻页。
第 1 页 / 共 54 页
第 2 页 / 共 54 页
第 3 页 / 共 54 页
第 4 页 / 共 54 页
第 5 页 / 共 54 页
第 6 页 / 共 54 页
第 7 页 / 共 54 页
第 8 页 / 共 54 页
第 9 页 / 共 54 页
第 10 页 / 共 54 页
第 11 页 / 共 54 页
第 12 页 / 共 54 页
第 13 页 / 共 54 页
第 14 页 / 共 54 页
第 15 页 / 共 54 页
预览结束,还剩
39 页未读
阅读全文需用电脑访问
1、手机端页面文档仅支持阅读 15 页,超过 15 页的文档需使用电脑才能全文阅读。
2、下载的内容跟在线预览是一致的,下载后除PDF外均可任意编辑、修改。
3、所有文档均不包含其他附件,文中所提的附件、附录,在线看不到的下载也不会有。
1、该文档不包含其他附件(如表格、图纸),本站只保证下载后内容跟在线阅读一样,不确保内容完整性,请务必认真阅读。
2、有的文档阅读时显示本站(www.woc88.com)水印的,下载后是没有本站水印的(仅在线阅读显示),请放心下载。
3、除PDF格式下载后需转换成word才能编辑,其他下载后均可以随意编辑、修改、打印。
4、有的标题标有”最新”、多篇,实质内容并不相符,下载内容以在线阅读为准,请认真阅读全文再下载。
5、该文档为会员上传,下载所得收益全部归上传者所有,若您对文档版权有异议,可联系客服认领,既往收入全部归您。