1、手机端页面文档仅支持阅读 15 页,超过 15 页的文档需使用电脑才能全文阅读。
2、下载的内容跟在线预览是一致的,下载后除PDF外均可任意编辑、修改。
3、所有文档均不包含其他附件,文中所提的附件、附录,在线看不到的下载也不会有。
和样,不论的实例是产生于主战坦克还是敌方坦克,他么都是个类的实例,只是在实例化这个实例的时候给了它个的值,这个值和产生它的对象时相等的。
我们可以通过的构造函数看到类的些属性,包括颜色速度半径隶属于哪个坦克自己的精灵等。
子弹也分好坏,,的工作很少,与坦克的碰撞在类中实现了。
只有个与屏幕边缘的碰撞检测,也就是方法。
当检测到碰撞时,将这个实例从的实例中移除。
类的详细设计类有三个方法,是用来打开音乐和关闭音乐的。
这个音乐文件必须是格式的文件。
方法用来打开指定文件名的音乐文件,方法打开实例的音乐文件。
方法暂停音乐的播放。
类的详细设计类中的变量和方法都是静态的,这样只需要直接通过类名类使用。
程序中设置了个关卡,所以这里有个用于绘制地图的静态的二维数组。
为了将相应的数组与相应的关卡对应起来,类中有个专门用来存放二维数组的三维数组,如下然后我们用个的方法得到相应关卡的表示地图的二维数组数据库的详细设计本程序中,的作用是存储游戏的那些关卡已经被破解。
实际上,数据库中至存储了个记录,就是当前的关卡经被破解到的关卡数量加上实际上,这个数字和中的变量相对应的,也就是它是从开始的和破解这个关卡的玩家姓名。
这里为了简化程序,玩家的统为。
本游戏初始化只有第关是被破解的。
程序中的数据库的操作放在了类中,这个类中的个主要方法就是他修改数据库中的数据,为修改后的被破解的地图下标,对应关卡加。
容器和遍历在整个程序中用到了界面时,我们按下了,程序会返回到选择关卡的界面,如图。
玩家可以通过确定键和来跳回到游戏对打界面,但是这时的选择关卡是没有意义的。
也就是说,无论玩家是选择哪个关卡,用的是确定键还是键,程序都会跳回到如图所示的状态,并且,点击以后游戏才会开始,进入图的状态。
图图图中双方交战的各种测试无论是坦克双方的移动,子弹的打出,还是子弹坦克地图和屏幕边缘的碰撞检测等的测试通过单独的图片是不能证明问题的,必须在实际的操作中才能测试出来,但是通过上面的那些截图也能看出这个程序所必须具备的功能的大概的正确性。
下面对游戏的屏幕左上角所显示的字符串信息与程序的逻辑之间的正确性。
游戏初始化时,玩家有十条生杀敌数为,关卡为当前所在关卡。
游戏过程中这三个字符串分别表示当时玩家的生命值玩家杀掉的敌方坦克的总数量和当前所在关卡。
如图为初始化时的状态。
图为刚刚进入第二关时的状态。
当玩家的生命值减少到时,游戏结束。
这时,玩家可以看到屏幕中间显示的的字符串,如图图图图第七章结论这是个小游戏,但对于我来说却是个不小的工程。
从开始到将游戏写到现在的这个样子的过程,实际上就是遇到问题然后再解决问题的过程是个学习的过程。
最开始的时候,我并没有将这个游戏的所有功能和所有的细节都考虑在其内。
而是在原有内容的基础上添加功能。
从软件工程的角度讲是自上而下逐步求精的软件工程方法。
但这对框架的可拓展性又极高的要求,所以作为初学者的我在写代码的过程中深深地体会到了框架和软件工程学的方法的重要性。
游戏运行起来还有许许多多的问题,还有很多地方需要优化。
游戏缺少开始部分的画面,可以是个很酷的背景图片。
这点实现起来其实挺简单,但作为个细节方面的不影响大局的部分,我将其省略了。
游戏可以设置更多更复杂的关卡,但这不是编程以内的问题,同时也是个比较耗时的工作,这个可以留到以后慢慢优化。
在真正对战的工程中,主战坦克可能会出现即使与敌方坦克发生了碰撞也没有检测到的问题。
敌方坦克可能会纠结在屏幕的角上不停地变向而无法离开。
这是程序的两个小,目前还没有找到问题的根由。
程序中,无论是子弹的速度,主战坦克的速度,都是不变的。
程序需要拓展,让它们的速度可变,这样可以提高程序的可玩性。
总体上讲,这个程序只能算是坦克大战的雏形,还有很多需要添加改进和优化的地方。
虽然这个游戏作为毕业论文已经结束,但我还是会在它的基础上继续修改和优化,将其完善。
这只是个小小的开始。
参考文献陈立伟,张克非精通手机游戏与应用程序设计张伶,林琪译技术手册北京中国电力出版社,印旻语言与面向对象程序设计北京清华大学出版社吴延昌,冯萍,苏聪基于技术的应用开发与研究微电子学与计算机魏永红基于技术的手机信息查询系统的设计与实现微计算机信息,仵博,张立涓无线开发实用教程北京清华大学出版社,容器来装坦克和子弹,在绘图,碰撞检测等很多地方都需要对这个容器中的对象进行遍历,但中不提供这种功能,为了简化大量的遍历带来的麻烦,我在这里拓展了类而创建了个的子类。
它里面有个方法叫,它的功能和用法和中的完全样。
在这个包中,定义了个接口继承,拓展了个新的方法,它返回个接口对象,拥有上面的两个方法。
同时,在中定义了个实现了接口的内部类,它实现了的两个方法。
第六章游戏的运行与测试测试方案测试方式主要有两种静态测试和动态测试,我们主要采用的是动态测试。
由于动态测试是通过运行程序来检验软件的动态特性和结果的正确性,同时也是对程序运行进行评价的过程,动态测试包括运行解释和模拟。
本系统主要是在上的测试,主要依靠系统和运行结果与预期结果进行比较,看是否实现预期的功能,以达到系统的全面行可行性等。
测试项目本程序包括如下的几个测试模块中相应按钮事件的测试关卡的测试数据库功能的测试中的暂停开始等按钮事件的测试中双方交战的各种测试中相应按钮事件的测试在正确的运行程序后,将进入选择界面,如图。
当通过上下键选择游戏说明并按下确定键时,程序会跳向图的界面。
在所示的界面中,键盘按下收到程序会返回到所示的界面。
当通过上下键选择开始并按下确定键时,程序会跳向图所示选择关卡的界面。
图图图关卡的测试数据库功能的测试当程序显示在图所示的界面是,当通过上下键选择游戏说明并按下确定键时,程序会自动进入相应的关卡。
这里抽样出前三个关卡的截图,图非别为为第关第二关和第三关的关卡。
图图图当关卡未被破解时,我们可以看到此关未解锁的提示,见图图中的暂停开始等按钮事件的测试当双方处在如上面的三个图所示的交战状态时,我们可以通过下面的按钮控制游戏。
当我们按下时,游戏会暂停,同时,会变成,如图所示。
当游戏处于暂停状态,当我们下时集的信号必须经过转换器进行转换,单片机才能根据这些数字信号对温度信号进行处理和分析。
单片机连接图电路图如图所示图与单片机连接图转换电路的设计本设计采用转换电路输出的电压信号来控制本电动调节阀门开度大小,从而达到对燃料和空气流量的控制,进而实现对温度控制。
传感器检测来的信号经过单片机处理,由于为提供了的基准电压,接地,路电压信号的输出便控制在之间。
而电动调节阀门正好是线性阀门,接收信号范围也在之间。
当输出阀门关闭,当输出,阀门全开。
在之间,阀门开度大小呈线性变化。
控制阀门电路如图所示图控制阀门电路图完成副本副本完成副本副本电动调节阀混合气体阀门电动调节阀天然气阀门电动调节阀空气控制阀门键盘电路的设计本设计退火炉,可自行设置不同温度,故需要按键输入,需要修改键,退火炉温度控制系统的温度检测范围为,为了保证精度,显示到个位,这样显示温度值可以由数字组成,如果旦出现了输入,或需要修改温度值,则要设置修改键,同时还要设置键盘开启,关闭键,数据显示功能键。
典型的按键输入电路有矩阵式和独立式。
该系统采用独立式按键结构,每个独立式按键单独占有根口线,每根口线上的按键工作状态不会影响其他口线的工作状态,电路配置灵活,软件结构简单,故在按键数量不多时,常采用这种按键电路。
键盘电路如图所示图键盘电路显示电路的设计本设计的退火炉采用液晶显示屏进行显示。
为英文的缩写,即液晶显示器,是种数字显示技术,可以通过液晶和彩色过滤器过滤光源,在平面面板上产生图象。
占用空间小,低功耗,低辐射,无闪烁,降低视觉疲劳。
在系统中,主要进行温度的显示。
本设计中我们选用进行显示,如图所示完成图显示电路报警电路的设计该系统上限报警电路采用蜂鸣器报警,当输入电压大于报警上限电压时,同相端电压大于反相端电压,比较器输出为高电平。
此时,导通,蜂鸣器与三极管形成回路,从而发声报警。
从而实现温度高于设定值时自动报警的功能,如图所示图报警电路完成游戏,用户可以在网上对战。
总之,有很多地方可以扩充和完善,在此次毕业设计过程中我也学到了许多关于计算机方面的知识,编程能力有了很大的提高。
参考文献李政仪手机游戏开发技术与实践清华大学出版社郭克华移动开发实例精讲清华大学出版社谭浩强语言程序设计清华大学出版社叶核亚,陈道蓄程序设计实用教程电子工业出版社严小卫,莫建文智能五子棋的设计与实现广西师范大学出版社人之间下五子棋有利于增加情感的交流欧洲人称其为绅士棋,代表下五子棋的君子风度胜似绅士日本人则称其为中老年棋,说明五子棋适合中老年人的生理特点和思维方式美国人喜欢将五子棋称为商业棋,也就是说,商人谈生意时可边下棋边谈生意,棋下完了生意也谈选信号复位信号写信号读信号。
当要对进行读写操作时,必须先向发片选信号选中芯片,然后发读信号或写信号对进行读或写数据的操作。
与外设接口部分根据定义,有个通道与外设连接,每个通道又有根线与外设连接,所以可以用根线与外设连接,若进行开关量控制,则可同时控制路开关。
各通道的引脚编号如下口编号为,用于按中。
和样,不论的实例是产生于主战坦克还是敌方坦克,他么都是个类的实例,只是在实例化这个实例的时候给了它个的值,这个值和产生它的对象时相等的。
我们可以通过的构造函数看到类的些属性,包括颜色速度半径隶属于哪个坦克自己的精灵等。
子弹也分好坏,,的工作很少,与坦克的碰撞在类中实现了。
只有个与屏幕边缘的碰撞检测,也就是方法。
当检测到碰撞时,将这个实例从的实例中移除。
类的详细设计类有三个方法,是用来打开音乐和关闭音乐的。
这个音乐文件必须是格式的文件。
方法用来打开指定文件名的音乐文件,方法打开实例的音乐文件。
方法暂停音乐的播放。
类的详细设计类中的变量和方法都是静态的,这样只需要直接通过类名类使用。
程序中设置了个关卡,所以这里有个用于绘制地图的静态的二维数组。
为了将相应的数组与相应的关卡对应起来,类中有个专门用来存放二维数组的三维数组,如下然后我们用个的方法得到相应关卡的表示地图的二维数组数据库的详细设计本程序中,的作用是存储游戏的那些关卡已经被破解。
实际上,数据库中至存储了个记录,就是当前的关卡经被破解到的关卡数量加上实际上,这个数字和中的变量相对应的,也就是它是从开始的和破解这个关卡的玩家姓名。
这里为了简化程序,玩家的统为。
本游戏初始化只有第关是被破解的。
程序中的数据库的操作放在了类中,这个类中的个主要方法就是他修改数据库中的数据,为修改后的被破解的地图下标,对应关卡加。
容器和遍历在整个程序中用到了界面时,我们按下了,程序会返回到选择关卡的界面,如图。
玩家可以通过确定键和来跳回到游戏对打界面,但是这时的选择关卡是没有意义的。
也就是说,无论玩家是选择哪个关卡,用的是确定键还是键,程序都会跳回到如图所示的状态,并且,点击以后游戏才会开始,进入图的状态。
图图图中双方交战的各种测试无论是坦克双方的移动,子弹的打出,还是子弹坦克地图和屏幕边缘的碰撞检测等的测试通过单独的图片是不能证明问题的,必须在实际的操作中才能测试出来,但是通过上面的那些截图也能看出这个程序所必须具备的功能的大概的正确性。
下面对游戏的屏幕左上角所显示的字符串信息与程序的逻辑之间的正确性。
游戏初始化时,玩家有十条生杀敌数为,关卡为当前所在关卡。
游戏过程中这三个字符串分别表示当时玩家的生命值玩家杀掉的敌方坦克的总数量和当前所在关卡。
如图为初始化时的状态。
图为刚刚进入第二关时的状态。
当玩家的生命值减少到时,游戏结束。
这时,玩家可以看到屏幕中间显示的的字符串,如图图图图第七章结论这是个小游戏,但对于我来说却是个不小的工程。
从开始到将游戏写到现在的这个样子的过程,实际上就是遇到问题然后再解决问题的过程是个学习的过程。
最开始的时候,我并没有将这个游戏的所有功能和所有的细节都考虑在其内。
而是在原有内容的基础上添加功能。
从软件工程的角度讲是自上而下逐步求精的软件工程方法。
但这对框架的可拓展性又极高的要求,所以作为初学者的我在写代码的过程中深深地体会到了框架和软件工程学的方法的重要性。
游戏运行起来还有许许多多的问题,还有很
