当前位置:文档之家› 智能手机软件开发

智能手机软件开发

武汉理工大学华夏学院课程设计报告书课程名称:智能手机软件开发题目:飞扬的小鸟系名:专业班级:姓名:学号:指导教师:凌伟年月日武汉理工大学华夏学院信息工程系课程设计任务书课程名称:智能手机软件开发课程设计指导教师:凌伟班级名称:计算机1111 开课系、教研室:自动化与计算机三、课程设计目的与任务本课程的设计的目的是通过实践使同学们经历智能手机软件开发的全过程和受到一次综合训练,以便能较全面地理解、掌握和综合运用所学的智能手机开发的知识。

结合具体的开发案例飞扬的小鸟,理解并初步掌握智能手机开发的主要环节和步骤以及智能手机游戏开发的知识。

二、课程设计的内容与基本要求1、课程设计题目飞扬的小鸟2、课程设计内容要求学生根据所学的软件工程的理念,利用所学的Android 手机开发的知识,开发一个智能手机游戏飞扬的小鸟,并针对该手机游戏软件进行需求分析,总体设计、详细设计、编码、测试。

《飞扬的小鸟》是由来自越南的独立游戏开发者Dong Nguyen所开发的作品,游戏中玩家必须控制一只小鸟,跨越由各种不同长度水管所组成的障碍,而这只鸟其实是根本不会飞的……所以玩家每点击一下小鸟就会飞高一点,不点击就会下降,玩家必须控制节奏,拿捏点击屏幕的时间点,让小鸟能在落下的瞬间跳起来,恰好能够通过狭窄的水管缝隙,只要稍一分神,马上就会失败阵亡。

游戏玩法:在游戏开始后,点击屏幕,要记住是保持一定的规律的仔细观察点击屏幕,不要让小鸟掉下来。

游戏过程:让小鸟不要撞到管子,每穿过一个管子的缝隙得1分。

游戏背景音乐设计游戏背景动画设计游戏界面设计游戏关卡设计游戏积分榜的设计三、课程设计步骤及时间进度和场地安排本课程设计将安排在第18周, 教育技术中心。

具体安排如下:第一天,系统开发平台搭建及主流开发工具安装第二天,游戏界面的设计第三天,游戏业务的设计第四天,游戏关卡的设计第五天,系统调试测试打包和验收四、课程设计考核及评分标准课程设计考核将综合考虑学生考勤和参与度,系统设计方案正确性,系统设计和开发效果以及课程设计报告书的质量。

具体评分标准如下:设置六个评分点(1)设计方案正确,具有可行性、创新性;25分(2)系统开发效果较好;25分(3)态度认真、刻苦钻研、遵守纪律;10分(4)设计报告规范、课程设计报告质量高、参考文献充分20分(5)课程设计答辩概念清晰,内容正确10分(6)课程设计期间的课堂考勤、答疑与统筹考虑。

10分按上述六项分别记分后求和,总分按五级记分法记载最后成绩。

优秀(100~90分),良好(80~89分),中等(70~79分),及格(60~69分),不及格(0~59分)1 设计要求1.1设计题目飞扬的小鸟1.2设计内容要求学生根据所学的软件工程的理念,利用所学的Android 手机开发的知识,开发一个智能手机游戏飞扬的小鸟,并针对该手机游戏软件进行需求分析,总体设计、详细设计、编码、测试。

“飞扬的小鸟”是由来自越南的独立游戏开发者Dong Nguyen所开发的作品,游戏中玩家必须控制一只小鸟,跨越由各种不同长度水管所组成的障碍,而这只鸟其实是根本不会飞的……所以玩家每点击一下小鸟就会飞高一点,不点击就会下降,玩家必须控制节奏,拿捏点击屏幕的时间点,让小鸟能在落下的瞬间跳起来,恰好能够通过狭窄的水管缝隙,只要稍一分神,马上就会失败阵亡。

1.3设计目的“飞扬的小鸟”游戏开发课程设计是一个综合性的设计性环节,旨在通过游戏开发的实践训练,进一步掌握设计开发软件的方法与技术,学会数据的组织方法,巩固学生已学知识,使学生熟悉软件开发过程,提高学生对知识的融会贯通能力及动手能力。

培养学生运用所学知识的基础理论、基本知识和基本技能,分析解决实际问题能力的一个重要环节。

通过课程设计,使学生熟练掌握Java语言所学的理论知识,通过综合Java语言的基本知识来解决实际问题,加强学生分析和解决问题的能力。

2 开发环境2.1 硬件环境1)客户端CPU:高于奔腾三500MHZ内存:大于64M可使用的操作系统:Windows XP2) 服务器端CPU:高于奔腾三500MHZ内存:大于1GB可使用的操作系统:Windows XP2.2 开发工具TDK,Eclipse,Photoshop,flash,Dreamweaver3 需求分析3.1 功能需求游戏“飞扬的小鸟”中具有的游戏功能:1.游戏中设计了开始的界面、游戏中的动画界面以及游戏结束后的界面,玩家在游戏中能够真切的体会到游戏的动画效果,小鸟能通过控制在柱子之间飞,在小鸟落地和撞到柱子的瞬间即弹出游戏结束界面提示玩家游戏结束;2.游戏中利用鼠标的监听效果模拟手机的触屏效果,游戏者能够点击鼠标的左键控制小鸟飞扬的高度保证小鸟不会落到地上,并稳定的穿过柱子以得分;3.游戏中设计了简易的积分榜,游戏者开始游戏后,小鸟每穿过1根柱子就积一分,当玩家的小鸟落到地上或撞到柱子上死掉,游戏结束时积分会清零。

玩家玩游戏的过程中能够直观的感受到自己的游戏成果。

3.2 性能要求1.系统易操作性:所开发的系统应做到操作简单,尽量使系统操作不受用户对电脑知识水平的限制;2.系统具有开放性:该系统能够在开放的硬件体系结构中运行,并且能与其他系统顺利连接。

3.3功能需求1.游戏背景动画设计,游戏界面设计,游戏关卡设计,游戏积分榜的设计2.游戏包括五个类,实现不同的功能,进而实现完整的游戏:FlappyBird类:程序的主入口,设置主界面窗口大小;设置一个小鸟活动世界的对象Bird类:循环加载鸟的图片;设置鸟的运动方式;判断鸟是否碰撞到地面和柱子Column类:设置柱子的图片;利用随机生成函数,随机柱子的高度;Ground类:加载土地的图片;让土地动起来World类:利用构造器给属性赋初值,利用画图方法画图;让图片动起来4.1 系统功能模块规划在游戏开始界面的模块中,是整个游戏程序的主程序控制。

在这个模块中,程序控制了整个游戏窗口的属性,并且调用了鸟活动界面模块;在小鸟这个模块中,程序主要控制的是在游戏过程中,鸟的位置以及状态的变化,模块中设置了鸟的中心坐标以及宽和高,并导入不同的图片呈现了鸟在游戏过程中的动画效果;在柱子模块中,程序主要控制了柱子的动画效果以及柱子不同的高度变化;在地面模块中,程序控制了在游戏过程中地面动画的效果;在鸟活动界面这个模块中,所有的游戏过程都是在这个模块中完成的。

加载背景图,用构造器对鸟,地面,柱子进行初始化,将游戏中的所有出现的事物通过画图程序呈现出游戏活动界面,其中包含了积分显示,最后模块中控制了整个游戏的开始与结束。

总体来说,图4.1 功能模块框架图图5.1 游戏流程图5.2场景设计5.2.1 游戏界面1.打开软件eclipse,新建一个java project,命名为“华夏学院_flappybird”;2.在java项目中新建一个包为com.tarena.flappybird,在包中新建一个主程序类,在主程序类中设置游戏窗口的各个属性,包括标题,窗口的大小,位置居中等等。

5.2.2 小鸟1.新建Bird类,定义鸟的图片,中心点,宽和高,移动的距离,速度等属性;2.新建构造器Bird()加载鸟的一组图片,并定义鸟的初始位置;3.新建方法step()控制鸟飞扬的动作及速度;4.新建两个boolean方法判断鸟是否撞到地面和柱子,并设置返回值控制判断结果。

5.2.3 土地1.新建Ground类,定义土地的图片以及位置的属性;2.新建方法Ground()加载土地图片并初始化土地位置;3.新建方法step()实现土地动画的效果。

5.2.4 柱子1.新建Column类,定义柱子的图片,中心点,宽和高,距离,间隙距离以及柱子的高度等属性;2.新建构造器Column(int num)加载柱子的图片,并将图片的宽和高赋值给柱子,随机定义柱子的高;3.新建方法step()实现柱子的动画效果。

5.2.5 小鸟活动界面1.新建World类,在类中定义BufferedImage bg等属性;2.新建构造器World()加载背景图,并在其中调用newWorld()方法初始化土地,柱子,鸟;3.新建构造器paint(Graphics g),其中g为画图工具,用g.drawImage()语句来画出背景图,柱子,土地,鸟以及鸟在飞行过程中改变的倾角,对游戏进行判断,如果游戏还没开始或已经结束就画出开始提示图;4.新建构造器action(),在构造器中添加鼠标监听的事件,通过鼠标点击实现游戏的开始并控制鸟在游戏中飞扬;5.用while(true)循环实现游戏动画的连续,并用一个if语句判断鸟是否撞到柱子,实现游戏输赢的判定。

5.3 调试与测试5.3.1操作方法游戏玩法:在游戏开始后,点击屏幕,要记住是保持一定的规律的仔细观察点击屏幕,不要让小鸟掉下来。

游戏过程:在“飞扬的小鸟”这款游戏中,玩家只需要用一根手指来操控,点击触摸屏幕,小鸟就会往上飞,不断的点击就会不断的往高处飞。

放松手指,则会快速下降。

所以玩家要控制小鸟一直向前飞行,然后注意躲避途中高低不平的管子。

1、在游戏开始后,点击屏幕,要记住是有间歇的点击屏幕,不要让小鸟掉下来。

2、尽量保持平和的心情,点的时候不要下手太重,尽量注视着小鸟。

3、游戏的得分是,小鸟安全穿过一个柱子且不撞上就是1分。

当然撞上就直接挂掉,只有一条命。

5.3.2游戏截图图5.3.1 游戏开始界面图图 5.3.2 点击小鸟飞行图图 5.3.3 小鸟穿过柱子,加一分图 图5.3.4 小鸟撞地,游戏结束图图 5.3.5 小鸟撞到柱子游戏结束图6 心得体会星期一开始上课的时候,老师就介绍了这个星期的实训我们会做flappybird,2048,捕鱼达人三款游戏的项目设计,开始的时候我们都还有点慌张,因为对于这三款游戏我们只是玩的比较多,而其中的算法是完全没有了解的,不过,接下来老师通知的消息就让我们松了一口气,因为这三款游戏是由老师带着我们一步一步去做出来。

于是,在接下来的几天时间里,我们每天都在跟着老师一起分析游戏,然后敲代码,一个星期的时间过去了,我们也都成功的做出了简易版的三款游戏。

一个星期的时间非常快就过去了,这一个星期我不敢说自己有多大的进步,获得了多少知识,但起码是了解了项目开发的部分过程。

虽说上过Java相关的课程,但是没有亲身经历过相关的设计工作细节。

这次课程设计给我提供了一个很好的机会。

通过这次课程设计发现这其中需要的很多知识我们没有接触过,上网查找资料的时候发现我们以前所学到的仅仅是皮毛,还有很多需要我们掌握的东西我们根本不知道。

同时也发现有很多已经学过的东西我们没有理解到位,不能灵活运用于实际,不能很好的用来解决问题,这就需要自己不断的大量的实践,通过不断的自学,不断地发现问题,思考问题,进而解决问题。

相关主题