毕业论文_基于android平台游戏的实现

毕业论文_基于android平台游戏的实现

ID:291341

大小:2.84 MB

页数:64页

时间:2017-07-18

上传者:chess95660
毕业论文_基于android平台游戏的实现_第1页
毕业论文_基于android平台游戏的实现_第2页
毕业论文_基于android平台游戏的实现_第3页
毕业论文_基于android平台游戏的实现_第4页
毕业论文_基于android平台游戏的实现_第5页
资源描述:

《毕业论文_基于android平台游戏的实现》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

摘要手机游戏是消费者利用随身携带的智能移动终端设备能随时随地来进行的游戏。近年来,随着移动互联网和电子信息技术的迅猛发展,手机游戏市场亦得到了很大的发展。Android是在手机应用市场和移动互联网迅猛发展的形势下应运而生的,它是由Google公司推出的一款基于Linux内核的开源手机操作系统,由于其具有开放性、不受运营商的束缚、丰富的硬件选择、开发商不受任何限制和能无缝结合优秀的Google应用的特点,很快就称霸智能机平台系统领域。进行Android平台手机游戏的研究与开发,成为一个非常有趣而又有很大发展空间的领域。本文通过对Android应用开发的初步研究,设计出了一款基于Android平台的连连看小游戏。在对系统进行详细需求分析的基础上,确定了系统的基本功能要求,对游戏的关卡设置、菜单界面、音效和动画、、时间控制、屏幕绘制、连通算法和布局算法进行了设计,并最终实现了一款风格清新可爱、娱乐体验丰富且性能高效稳定的手机连连看小游戏,它很好地缓冲了当今人们的紧张生活节奏,为一些枯燥时刻带来另样而欢快的享受。关键词:手机游戏Android连连看 ABSTRACTMobilegamesarethegameswhichconsumerscanuseportablesmartmobiledevicesanytime,anywhere.Inrecentyears,asthemobileInternetandelectronicinformationtechnologyrapidlydeveloping,mobilegamesmarkethasalsobeenagreatdevelopment.ThemobileapplicationmarketandtherapiddevelopmentofmobileInternetsituationmakeAndroidcameintobeing,itisbyGoogleInc.launchedaLinux-basedopensourcemobileoperatingsystemkernel,becauseofitsopenness,freefromtheshacklesofoperators,richhardwareoptions,developerswithoutanyrestrictionsandcanseamlesslyintegrateGoogleAppsexcellentcharacteristics,soondominatethesmartphoneplatformsystemfields.ConductresearchanddevelopmentoftheAndroidplatformmobilegames,havingbecomeaveryinterestingareaofgreatdevelopmentspace.BasedonthepreliminarystudyonAndroidApplicationDevelopment,amodelbasedontheAndroidplatformLianliankangamehasbeendesignedsucceed.Inthesystem,basedondetailedneedsanalysistodeterminethebasicfunctionalrequirementsofthesystem,setupcheckpointsonthegame,themenuinterface,soundandanimation,andtimecontrol,screendrawing,connectivityandlayoutalgorithmsalgorithmdesign,andultimatelyachieveafreshstylecute,richentertainmentexperienceandtheperformancestableandefficientmobileLianliankangame,itiswellcushionedthepaceoflifetoday,tension,assomeoftheboringmomentsbringsanotherkindandcheerfulenjoyment.KEYWORDS:MobilegamesAndroidLianliankan 目录1.1引言31.2课题背景介绍31.2.1手机的应用市场发展现状31.2.2Android平台介绍31.2.3连连看游戏发展介绍31.3“连连看”游戏发展前景31.4课题研究价值及意义31.5论文结构安排31.6本章小结3第二章相关开发技术介绍32.1Java技术简介32.1.1Java与Android的关系32.1.2Java简介32.1.3Java语言特性32.2Android技术简介32.2.1Android架构简介32.2.2Android开发技术简介32.3本章小结3第三章系统分析与设计33.1可行性分析33.1.1操作可行性33.1.2技术可行性33.1.3经济可行性33.1.4社会可行性33.2系统需求分析33.2.1系统功能需求33.2.2游戏基本规则33.3系统设计33.3.1系统基本流程设计33.3.2系统模块设计33.4系统风格定位33.5本章小结3第四章系统的实现34.1开发环境的搭建34.1.1JDK的安装与环境变量配置34.1.2AndroidSDK与Eclipse的安装与配置34.1.3Android虚拟机AVD的配置34.2系统工程的创建3 4.3主要功能的实现34.3.1图案选中放大效果实现错误!未定义书签。4.3.2刷新地图道具功能实现错误!未定义书签。4.3.3消除提示按钮功能实现错误!未定义书签。4.3.4判断消除图片错误!未定义书签。4.4系统运行界面图错误!未定义书签。4.5本章小结错误!未定义书签。第五章系统测试与性能错误!未定义书签。5.1软件测试错误!未定义书签。5.1.1软件测试简介错误!未定义书签。5.1.2测试方法错误!未定义书签。5.1.3测试步骤错误!未定义书签。5.2连连看游戏系统测试错误!未定义书签。5.3游戏系统性能分析错误!未定义书签。5.4本章小结错误!未定义书签。第六章总结与展望36.1总结36.2未来工作展望3致谢3参考文献错误!未定义书签。 基于Android平台的连连看游戏的开发与实现绪论第一章绪论1.1引言在手机应用市场和移动互联网迅猛发展的形势下,作为智能手机平台而基于LINUX内核的操作系统Android于2007年11月5日应运而生。在谷歌公司的运营开发下,并由2011年初数据显示,操作系统Android虽仅正式上市两年却已跃居到全球最受人们欢迎的智能手机平台地位。鉴于Android的开放性好、硬件选择丰富、不受运营商的束缚、开发商不受任何限制、能无缝结合优秀的Google应用这五大优势,当今的Android不仅在手机市场上叱咤风云,还急速扩张到平板电脑市场。游戏一直以来就是人们在休闲娱乐时的一项不错选择,它具有强大的吸引力,能给玩家带来挑战、刺激、新鲜、成就感等多种现实生活中欠缺而只能在虚拟世界才能感受到的东西。游戏的这些独特魅力,并伴着现代电子信息技术的巨大推进作用,使得游戏产业在全世界的娱乐领域中逐步占据主流位置。手机游戏一方面因为手机平台自身所具有的便捷性让人们更加容易接受并喜爱,另一方面反过来也为手机扩充了其功能面,它缓冲着当今人们的紧张生活节奏,给一些枯燥时刻带来另样而欢快的享受。此次设计将使用Java及Android开发技术实现出一款基于Android平台并能在模拟器、安卓系统手机上运行的连连看游戏。1.2课题背景介绍1.2.1手机的应用市场发展现状随着3G(第三代移动技术)的普及、手机应用形式的日渐丰富以及智能化水平的不断提升,从便携性及随身性方面来考量,手机为用户带来的种种互动性体验已是电脑所不能比拟的了。  在Android、苹果等各智能机席卷手机市场的情势下,更多的应用和服务进入手机,手机游戏、客户端软件和微博等新应用都在大大提升着用户的手机娱乐体验。可以预见,手机互动娱乐体验有望超越电脑的时日已不远,手机将跻身互动娱乐的新中心。 基于Android平台的连连看游戏的开发与实现绪论在智能机的这些应用和服务中,手机游戏正发展为最受用户青睐、最常使用的应用之一,这一领域将有望超越传统游戏,带来游戏领域的一场暴雪。  目前,手机游戏虽仍以Symbian、BREM及JAVA为主流,但其增长趋势已大幅放缓。相反,Android和苹果游戏正处爆发增长之势。由3G门户近期来的运营数据显示,Android游戏的增势最为明显。  依据中国手机市场发展报告显示,手机游戏市场规模和游戏用户规模都增长较快。2012年第一季度,中国手机游戏市场规模已突破10.1亿元,环比增长12.2%,同期的中国手机游戏用户规模已达到了1.91亿,环比增长8.5%【1】。随着智能手机的普及、游戏平台的多选性及更富吸引力的游戏种类之增多,手机游戏用户规模保持着稳步增长之势。而在游戏用户性别结构方面,女性用户占比也在逐步上升,其由2011年第一季度的23.5%上升至2012年一季度的29.3%。鉴于移动游戏种类的增多和游戏内容之日渐趋于丰富、操作更简便的形势,男女用户占比将得到进一步拉近。尽管目前的手机游戏仍不能与传统大型网络游戏相抗衡,但手机游戏自身的便携性和移动性等优势为游戏开发商带来了更为广阔的市场发展空间。暴雪、网易和盛大等诸多传统网游巨头也已开始加紧向手机网游市场进军,以此可窥见未来手机游戏市场竞争之激烈性。随着新兴游戏产业链各环节的发力和用户认知度及关注度的提升,未来手机游戏的商业价值极为可观,对游戏厂商颇具诱惑力。1.2.2Android平台介绍Android是一种基于Linux内核的智能机平台上的操作系统,最初由AndyRubin开发,之后被谷歌公司收购并继续进行运营和开发。2007年11月,Google公司与84家软件开发商、硬件制造商及电信营运商一起组建了一个开放性的手机联盟来进行共同研发并逐步改良Android系统。随后Google公司发布了开放性的Android源代码,第一部Android智能手机也于2008年10月得以推出。在Android上市仅两年时间后,它便超过塞班系统而跃居全球手机市场第一的位置,在中国市场的占有率达到90%,并扩张到平板电脑等其它移动设备领域迅速发展。Android能称霸智能机平台系统领域,这与它的五大特性密不可分。这五大特性表现如下:(1)开放性:Android平台的最大优势应非其开放性莫属,这一部分自然也是源于其系统代码的开源性。因为其平台的开放性,无论哪个移动终端厂商都能如其所愿地加入到Android联盟中来。这样Android平台就能拥有丰富的开发者资源动力来快速推进这个崭新平台走向成熟化。另外,Android平台的开放性也有利于其积累来源于消费者和厂商的人气。免费而种类丰富的Android 基于Android平台的连连看游戏的开发与实现绪论软件资源吸引着广大消费者来尝试,而开放的平台所附带的更大竞争性也让消费者有可能以更低的价位购得心仪的智能手机,随着消费者规模的扩大,厂商也就自然能从中汲取更多的利益。(2)不受运营商的束缚:以往的手机应用总受到来着运营商的制约,这在欧美地区表现地尤为明显,例如能使用哪些功能、应接入哪个网络,这些几乎都必须受到运营商的控制【2】。而Android的出现,为用户能更加轻松地连接网络创造了可能性,来自于运营商的制约也明显地减少。随着移动通信技术2G(二代)至3G(三代)的普及、提升和完善,手机随意接入网络的现象已屡见不鲜了。(3)丰富的硬件选择:当电脑上的一些软件移植到另一台电脑上时就可能会出现一些兼容性问题,而这个问题对于Android平台的使用者来说将不复存在。鉴于Android的开放性特点,众多的Android厂商推出了新颖别致、功能多样的产品。然而这些产品功能上的差异,却不影响数据同步甚至杜绝了本可能存在的软件上的兼容问题。你只要事先成功申请到一个Google账户,当你想换一台新手机时,就可以重新选择同样使用Android系统作业的手机,并且能轻易将如电话簿等重要个人资料快速地移植到新手机上。(4)开发商不受任何限制:Android平台并没给第三方开发商附加林林总总的条框约束,它提供的是一个十分自由并且很宽泛的环境,这为各种精致而新颖的应用软件诞生创造了条件。但另一方面,暴力血腥、情色等方面的“灰色”程序也在肆无忌惮地扩展,如何解决好这个问题是Android面对的一个难题。(5)能无缝结合优秀的Google应用:Google经过十年发展,现已叱咤互联网,家喻户晓。从刚开始的搜索巨人到如今的全面性互联网渗透,Google实现的如搜索、地图和邮件等已经成为网络应用中技术娴熟并不可或缺的优秀服务,Android平台凭以被Google公司收购并运营开发的这层关系,将无缝结合这些优秀的Google应用服务,这不仅让Android开发起来更为便捷,也赋予Android可支援多种先进网路、先进的3D处理及绘图能力,从而开发出具有更好的互动体验的产品。1.2.3连连看游戏发展介绍QQ游戏、4399游戏网、智能手机、平板电脑……无论在哪你似乎都可以发现连连看游戏的身影。它的游戏规则很简单,只需将两个相同图案用3根以内的直线相连消除即可,老少皆宜;画面清新可爱,游戏节奏轻松欢快,广受小朋友及女性玩家的喜爱;由于得在规定时间内消除所有的图案,而每通过一个关卡系统给予的任务完成时间也将逐渐减少,这给具有挑战心理的玩家带来刺激感,颇具吸引力。从发展历程来看,这款游戏大致经历了桌面、在线、社交游戏三大阶段。 基于Android平台的连连看游戏的开发与实现绪论游戏连连看是最先来源于台湾的一款桌面小游戏,随后其一流入大陆便风靡一时,不断地吸引着众多程序员去开发各种新颖的“连连看”版本。这其中,由顾方设计的“阿达连连看”游戏,以其精良而独特的制作广受玩家青睐,这也促使其跻身“阿达系列软件”的核心产品行列,并于2004年获取到了国家版权局所授权的计算机软件著作权登记证书。随着Flash应用的盛起,游戏连连看步入了在线发展历程。网上涌现出大量的Flash版本连连看游戏,“果蔬连连看”、“水晶连连看”等都是这阶段的代表作品。其中“水晶连连看”还以其华丽的界面成功吸引了一大批女性玩家。2008年,随着多选性开放平台的兴起和社交网络的普及,“连连看”游戏迈入到了社交网络领域。将“连连看”游戏与个人空间相结合,这一大创新促使其被快速的传播,立即成为当时的一款热门社交游戏,其中以在Manyou开放平台上由开发者Jonevey推出的“宠物连连看”最为流行。从“连连看”游戏的诞生发展至今,Android也在不断汲取着各领域“连连看”游戏的精华,并将它们的特色予以融合,推出了Android平台上更为完美的“连连看”。其以Android作业终端本身的便捷性,迎合着手机应用市场的大好发展时机,深扎Android手机用户的心里,广受喜爱。1.3“连连看”游戏发展前景由手机应用市场发展研究认为,未来手机游戏的商业价值极为可观,手机小游戏则依然是一个能给游戏厂商创造巨大财富的领域,因此急需寻找一个合适的切入点。由艾媒咨询分析认为,选择投资金额要求不高却具有广泛发展空间的小游戏“连连看”成为了这个切入点角色的首选,其主要优势有下:(1)存在诸多有利的外部因素来促进小游戏“连连看”的行业发展据有关调查得知,大概有31.2%的玩家青睐益智类游戏,另有25.8%的玩家倾心于策略类游戏,那么综合了策略和益智这两大元素的“连连看”小游戏自然最受欢迎,加上其本身操作简单,老少皆宜,风格清新可爱,使得女性玩家亦对其喜爱有加。从“连连看”小游戏全体用户的结构来看,大专及以上学历者超过了总数的一半;而就收入方面,“连连看”小游戏的38.4%的用户收入超过2000元,这远远超出了普通小游戏用户只有23.5%能收入超过2000元的比例。艾媒咨询分析,就“连连看小游戏”的用户结构中高学历、高收入在游戏中的高占比判定,连连看小游戏拥有更为高端的用户属性,其消费潜力较普通游戏也更大,另外“连连看”小游戏的用户规模也在日益增长,这种可观的用户规模及高端的用户属性将为小游戏“连连看”的媒体 基于Android平台的连连看游戏的开发与实现绪论价值打下良好基础,另外,各领域“连连看”小游戏仍在不断成熟和发展中,这将进一步促使这款小游戏的媒体价值得以充分释放,并有望在未来获取更大的发展空间,不断提升其市场价值。(2)“连连看”小游戏行业正处迅速发展阶段拥有的上升空间巨大根据近几年“连连看”小游戏在中国的游戏行业发展调查得知,“连连看”小游戏在中国市场于2007年的规模1亿元发展到2008年的2.5亿元,2009年以高于30%的增长率超过4.1亿元,之后的3年里,随着各类智能机的普及和电子信息技术的快速发展,“连连看”小游戏得到了进一步的迅速发展。由于“连连看”小游戏的制作门槛低,各大中小型团队都能加入到对其进行研发的行列【3】。随着开发运营商与产品数量的急剧增加,整个“连连看”小游戏市场得以充分调动而显得异常活跃,从而形成了一个成倍增长的发展状态。小游戏“连连看”的最大优势在于不需要下载客户端,这样使其更方便地移动于各大移动终端设备中,例如手机、掌上电脑等,同时给上网受限的用户也带来了不小便利。而未来一旦政府实现了于一线城市建设广域网的计划,正如社交网络版的“连连看”能风靡一时一样,小游戏“连连看”也必将迎来新一轮的迅猛发展。综上所述,小游戏“连连看”作为一种投资小、回报快的行业,必将成为资本市场风投重点关注对象。其上升空间巨大,商业价值极为可观。1.4课题研究价值及意义现在的小游戏越来越受到各大消费者的欢迎,除了游戏操作简单而无需游戏注册购买道具等,很多游戏也成为了经典中的经典,连连看游戏作为这其中的一款经典,很好地缓冲了当今人们的紧张生活节奏,为一些枯燥时刻带来另样而欢快的享受。无论是QQ游戏、4399游戏网还是任意一个移动终端设备,小游戏“连连看”总是排在最受玩家欢迎的前5名。它的游戏规则很简单,只需将相同的两个图案用3根以内的直线相连消除即可,上手极易,老少皆宜;画面清新可爱,游戏节奏轻松欢快,广受小朋友及女性玩家的喜爱;由于得在规定时间内消除所有的图案,而每通过一个关卡系统给予的任务完成时间也将减少,这给具有挑战心理的玩家带来刺激感,颇具吸引力。其休闲,趣味,益智,已成为一款广受大众喜爱的经典游戏。完成这次课题的研究,不仅可以提升我对新领域知识的自学能力与实践应用能力,增加项目经验。同时也能深入获悉用户对手机游戏的功能需求,进一步领 基于Android平台的连连看游戏的开发与实现绪论会手机游戏应具有的易于学习、可中断性、基于订阅及丰富的社会交互性这几大特征。另者也很好地了解并参与了游戏开发的基本流程,进一步拓宽了自己的知识面。通过最终实现这个基于Android平台的“连连看”小游戏,对图像编程、Android开发技术也都有了更加深入的理解,这为今后的继续学习和工作奠定了良好的基础。1.5论文结构安排整篇论文一共分为六章,大致安排如下:第1章绪论。主要是介绍课题背景,“连连看”小游戏的发展前景,此次课题研究具有的价值与意义以及论文结构的安排。其中包括手机应用市场现状、Android平台简介、“连连看”游戏发展历程简介以及行业发展前景窥探,也深入说明了课题研究的价值和意义。为该系统后续的分析与设计提供了强大的背景支持与理论依据。第2章相关开发技术介绍。本章介绍了开发本系统所需要使用的技术,主要包括Java技术和Android技术。其中又详细给出了Java与Android的关系、Java简介、Java语言特性、Android架构简介、Android开发技术简介。第3章系统分析与设计。本章从操作、技术、经济、社会四大方面对系统的可行性进行了详细分析,并结合系统的需求分析初步设计了系统,其中还包括了系统的基本流程设计以及模块的划分与设计,并最终定位了可爱的系统风格。这些为下一章的系统实现打下了基础。第4章系统的实现。本章的主要内容为系统的实现,先介绍了开发环境的搭建,再介绍系统工程的创建并对创建好的系统中各组成部分做出了解释说明,继而深入诠释了主要功能的实现并给出了功能实现后的效果图,并于最后展示了系统运行的各主要界面图。第5章系统测试与性能。在对系统进行测试的过程中,发现了不少问题和缺陷,之后及时对其进行了修正。总体上,本次系统的设计与开发达到了预期目标,基本实现了系统设计时的各项需求,完成后的系统其性能也很安全稳定。这标志着本次基于Android平台的连连看游戏设计开发工作圆满完成。第6章总结与展望。对整篇论文进行回顾,予以总结,并作出对未来工作的展望。1.6本章小结第一章主要是介绍课题背景,“连连看”小游戏的发展前景,此次课题研究具有的价值与意义以及论文结构的安排。其中包括手机应用市场现状、Android 基于Android平台的连连看游戏的开发与实现绪论平台简介、“连连看”游戏发展历程简介以及行业发展前景窥探,也深入说明了课题研究的价值和意义,对整体的论文结构做出了安排。为该系统后续的分析与设计提供了强大的背景支持与理论依据。 基于Android平台的连连看游戏的开发与实现相关开发技术介绍第二章相关开发技术介绍2.1Java技术简介2.1.1Java与Android的关系Android是一个以LINUXKERNEL为底层的操作系统,但它的开发利用是基于Java语言的。将Android与Java相比较,会发现它们具有很多相当性:(1)相当的类/字节码格式Android应用程序是利用Java语言编写成的,它先生成.java文件,再使用JDK的javac工具进行编译从而产生标准的Java字节码即.class文件。这些文件最后再转化成专为Dalvik(Android平台的Java虚拟机)设计的.dex格式文件。.dex格式可以认为是种被设计的更加优化的.class格式,好比把一个GIF格式的图像转换成更高级而等效的PNG格式,尽管它们拥有着完全不同的字节流。(2)JavaAPIs与AndroidRuntime相当AndroidRuntime使用了一个相当大的JavaSEAPIs子集。这些来自于Harmony项目的APIs虽然都是全新的实现,但它们都是参考JavaSEAPIS发展而来。(3)Dalvik与JVM相当经相关人士尝试发现,Android可以支持一个不完整的(但规模相当大的)Java1.5类库子集。其大到可以让一个复杂的JRuby项目几乎不用做任何修改便能在Android平台上运行起来。由此得知,作为Android平台的Java虚拟机Dalvik与纯Java虚拟机JVM是如此的兼容,例如Android能完全支持Java风格的线程和并发,甚至已深入到了高级的java.util.concurrent包。2.1.2Java简介Java是一种跨平台的面向对象的高级程序设计语言,最早是由Sun公司(SunMicrosystemsInc.)于1995年5月推出,并作为Java程序设计语言和Java平台的总称【4】。按应用领域可将Java平台划分为3种类型:JavaSE,是Java各应用平台的基础,主要由Java语言、JDK、JRE和JVM四大部分构成;JavaEE,以JavaSE为基础,定义了一系列的协议、服务及API等,适用于开发多层式、分布式、以组件或WEB为基础的应用程序;JavaME,Java平台版本中最小的一个,目的是作为小型数字设备上开发及部署应用程序的一个平台,像手机、PDA 基于Android平台的连连看游戏的开发与实现相关开发技术介绍、股票机等类似的嵌入式系统或者消费型电子产品。由于Java拥有着各种丰富资源与各种活跃的论坛,来自各个领域的开发人员及大师们各自都对Java做出了贡献,促使Java在广大开发者的支持下发展至今。2.1.3Java语言特性作为一种高级程序开发语言,Java拥有着许多重要的特性,主要表现有下:(1)简单的Java语言在设计时参考了许多C/C++的语法与特性,使得学习过C/C++的开发人员可以在短时间内熟悉Java的使用。与此同时,Java又舍弃了C/C++中的一些较少使用的、难以掌握的、可能不安全的功能,如操作符重载、指针及多重继承等。(2)面向对象的Java语言是一种纯面向对象高级程序设计语言,它让您可以用面向对象的思考方式来设计并编写程序【5】。面向对象的好处在于您可以设计可重用的组件或直接接用别人已设计好的组件来开发出更具有弹性并更易维护的软件。Java语言是通过提供类、接口实现及继承等机制来体现出这种面向对象特色的。较C++只能对虚函数实现动态绑定,Java则是全面支持动态绑定。(3)网络的Java本身就是诞生于网络中,从最初的Applet、Socket、JSP/Servlet直到现在热门的WebService,这都标明Java在网络服务等相关领域有着突出的贡献。例如在B/S开发方面,Java程序语言就要远远优于C++程序语言。(4)解释的程序要在一个平台上运行,首先必须得编译成这个平台所能理解的原始机器语言,但事实上不同的平台所能理解的原始机器语言不尽相同。为了解决这个在不同平台间都能运行的问题,Java引入了JVM(能执行Java字节码文件的虚拟操作系统),当运行Java程序时,JIT(Java实时编译器)就会将字节码编译成目标平台所能理解的原始机器语言。(5)安全的C++动态分配的内存空间或创造的指针总是必须在不需要的时候由开发人员编写代码予以回收,否则可能会导致程序或系统崩溃。然而Java提供了垃圾回收机制,让开发人员不再需要担心对象资源的回收问题。另外,Java还设计了异常处理架构,这使得开发人员可以很好地掌握程序中各种突发的异常情况。(6)可移植的要让程序移植到另一个平台上运行不是一件容易的事,这需要考虑诸多因素,例如数据类型在不同平台上所占的内存长度就是一个问题,而Java 基于Android平台的连连看游戏的开发与实现相关开发技术介绍的数据类型在不同平台上所占的内存长度都是统一的,这是C/C++等没达到的。因而对于“一次编写,到处运行”的这种梦想,Java提供了更高的可能性。2.2Android技术简介2.2.1Android架构简介Android是一种专门针对移动设备的软件集,其操作系统采用了分层方式,从上到下依次分为APPLICATIONS(应用程序层)、APPLICATIONFRAMEWORK(应用程序框架层)、LIBRARIES&ANDROIDRUNTIME(函数库和Android运行时)和LINUXKERNEL(Linux内核层)【6】。如图2.1所示:图2.1Android系统分层结构示意图(1)APPLICATIONS。在Android平台上,已存在着一些关键的应用程序,如网页浏览器、邮件、日历、收发客户端程序短信等【7】。鉴于平台的开放性特点,更多富有特色且功能强大的Android应用程序正在被广大开发者共同努力参与研发中。(2)APPLICATIONFFRAMEWORK。应用程序框架已随Android一同安装,但开发人员仍可以根据自己的需要来使用组件扩展该框架。该框架中,最重要的部分主要包含有:在控制应用程序的生命周期的同时维护着一个公共的"后退栈"来供用户导航的活动管理器;内容提供者,用来提供一些如联系人信息之类的 基于Android平台的连连看游戏的开发与实现相关开发技术介绍需要在应用程序之间共享的数据;涉及非代码内容的资源管理器;让Android手机能随时获取目前所处的位置信息的位置管理器;通知用户如收到信息、临近约会时间等事件的通知管理器。(3)LIBRARIES(C/C++函数库)。Android本机库是由一套C/C++函数库构成的,它们服务于上层Android应用程序组件,并通过这些组件将功能传递给开发者使用【8】。这些函数库主要包括:浏览器引擎(采用的是Webkit库)、2D和3D图形库、SQL数据库(一些轻量级的SQLite数据库引擎)、媒体功能库以及界面管理器等。(4)AndroidRuntime(Android运行时)。该层主要包含了Dalvik虚拟机和Java核心库,它们起到了将Android程序的运行过程有效优化的作用。(5)LINUXKERNEL。Android操作系统是基于优化了的Linux内核之上的,在作为手机软硬件的连接层的同时,也让Android通过它完成进程管理、内存管理、网络以及其他操作系统服务工作。2.2.2Android开发技术简介要想快速掌握Android技术,开发出Android应用程序,首先得对其开发技术的基础知识有个大概的了解,而Android程序都是通过各种组件(API)开发出来的,现将其重要组件归纳如下:(1)当前活动程序Activity:这是Android开发中最常使用到的应用程序组件。凡是要通过窗口与用户进行互动交流的都离不开Activity。Activity具有生命周期,运行、暂停、停止等几个状态则贯穿于整个生命周期中,这些状态间的转换可通过调用一系列函数来完成,这些函数包括onCreate()、onRestart()、onStart()、onFreeze()、onResume()、onPause()、onDestory()、onStop()等【9】。如果想要开启一个新的activity,则可以调用startSubActivity(Intent,int)或startActivity(Intent),前者通常和函数onActivityResult(int,int,String,Bundle)联合着一起使用,这样可以通过函数返回结果传递给调用者想要的信息。(2)图像显示View:android.view.View是Android中用来描绘块状视图的基类,在块状区域内还可包含对图像事件的处理。View是所有Widgets的基类,它的子类可以用来显示文本、图像等内容。通常进行的View方法调用有:填充View,调用onDraw(Canvas);用XML文件生成View调用inflate();测量View的高度和宽度调用onMeasure(int,int);onLayout()函数可以完成View的布局;当View中有按键操作时调用onKeyDown(int,KeyEvent);当View得到或失去关注时调用函数onFocusChanged(boolean,int);要设置View 基于Android平台的连连看游戏的开发与实现相关开发技术介绍点击事件监听器调用setOnClilckListener()。(3)Intent:Intent主要用来解决Android各应用组件之间的通讯。它对应用中的某种操作进行抽象描述,包括操作的动作、该动作涉及到的数等,Android再根据这种描述寻找相应的组件,并将Intent传递给它,从而完成相关组件的调用【10】。Intent能加载activity,从而对不同activity起到桥梁的作用。它除了action、data两大重要属性外,还具有一些如category(类别)、type(数据类型)等附加属性。常用的Intent方法有:构造intent,intent();添加intent类型,addcategory();获取intent数据,getData();获取intent动作getAction()等。(4)ContentProvider:作为Android的数据存取与共享机制,其为Android应用程序提供了一些访问方法,主要包括:实现数据信息的查询的Query(Uri,String[],String,String[],String,String,String),实现数据更新的update(Uri,Contentvalues,String,String[]),给Contentprovider插入新数据的insert(Uri,Contentvalues),用来删除数据的delete(Uri,String,String[]),获取数据类型的函数Gettype(Uri)。其中,ContentProvider存储的数据类型由参数Uri标示,在调用方法时都需根据Uri来标识路径以确定要访问的ContentProvider【11】。(5)Service:Service作为后台服务,并不直接与用户交互,而是种在后台运行的Android应用程序组件。当前活动程序可以通过调用函数Context.bindService()实现与后台服务间的通信,也可以调用方法Context.StartService()来开启一项后台服务。2.3本章小结本章介绍了开发本系统所需要使用的技术,主要包括Java技术和Android技术。其中又详细给出了Java与Android的关系、Java简介、Java语言特性,Android架构简介、Android开发技术简介。 基于Android平台的连连看游戏的开发与实现系统分析与设计第三章系统分析与设计3.1可行性分析3.1.1操作可行性对于一个游戏来说,其操作可行性是它成功与否的关键,应作为游戏设计的首要考虑因素。在以往的许多著名游戏中,游戏操作可行性经常成为玩家讨论的焦点,以此可见,一款游戏的操作可行性直接关系着对玩家的吸引力。游戏时间应设计合理,其不能过长也不能过短。经过对用户的需求调查,最终决定将游戏时间的第一关设为100秒,之后每通过一个关卡,时间递减10秒。这不仅保证了游戏能正常完成,让玩家感受到游戏的可玩性;也合理设置出各个关卡的通关难度,在保证操作可行性的同时给玩家带来了挑战感。3.1.2技术可行性Android的开发利用是基于Java语言的,而JDK是Java程序进行开发时必需含有的开发包。在Android应用程序开发前需先搭建起合适的开发环境,在这些开发环境中作为基于Java的可扩展整合型平台的Eclipse则是个不错的选择。Eclipse不仅是款免费并且优秀的开源IDE,在安装了Google公司提供的Android平台开发插件ADT后即可充当Android开发平台。Android平台为开发人员提供了源码开放的SDK(软件开发包),其中包含有Android平台应用程序开发所必要的工具和各组件(API)。在这些插件的配合下,可以实现从企业级Java应用平滑过度到智能机终端Android游戏的开发。Eclipse还是很好的动画游戏制作软件。鉴于其具有面向对象编程的特点,大大提升了程序开发效率。而且Eclipse自带着一些常用的组件,这为我们的开发提供了很大的便利。综上所得,此次系统开发在技术上是可行的。3.1.3经济可行性首先,综合手机应用市场研究与“连连看”游戏行业发展前景的调查研究得知,“连连看”小游戏作为一种投资小、回报快的行业,必将成为资本市场风投重点关注对象,其经济价值尤为可观。另者,开发该款游戏所需的软件、硬件系统都很容易获得,使得开发成本很低。综上可知,该系统具有经济可行性。 基于Android平台的连连看游戏的开发与实现系统分析与设计3.1.4社会可行性“连连看”游戏规则很简单,上手极易,老少皆宜;画面清新可爱,游戏节奏轻松欢快,广受小朋友及女性玩家的喜爱;由于得在规定时间内消除所有的图案,而每通过一个关卡系统给予的任务完成时间也将减少,这给具有挑战心理的玩家带来刺激感,极富吸引力。由其受欢迎的人群范围之广泛外加其多样的地图能不断地给玩家带来新鲜感得知,其具有社会可行性。3.2系统需求分析3.2.1系统功能需求分析并设计系统功能架构如图3.1所示:图3.1系统功能架构图3.2.2游戏基本规则 基于Android平台的连连看游戏的开发与实现系统分析与设计在游戏地图上,每次选择两个相同的图案进行连接,若连接成功则消除它们。若在系统限制的时间内地图上所有的图案都得以消除,则玩家顺利通过此关,进入下一关。每通过一个关卡,系统限制时间都会递减10秒,直至所有的关卡结束。在游戏过程中,玩家可以使用道具帮助,它提供了3次地图刷新和3次图案自动消除提示机会。3.3系统设计3.3.1系统基本流程设计该系统实现的是一款基于Android平台的“连连看”游戏,玩家打开游戏,进入欢迎界面,显示标识开始游戏的图像按钮。当玩家点击标示开始游戏的图像按钮后,进入游戏界面。这时,若在系统规定的时间内消去所有图片则弹出成功对话框,否则弹出失败对话框,这两个对话框上都附带着菜单界面:若玩家点击该界面上标识进入下一关的图像按钮,则进入下一个关卡;若玩家点击该界面上的标识退出游戏的图像按钮,则退出连连看游戏程序;若玩家点击该界面上的标识重新本关游戏的图像按钮,则重新开始本关游戏。在游戏过程中,玩家还可以使用道具,一种是重新刷新地图,另一种则是系统帮助自动消除图案,每个道具都只能使用3次。3.3.2系统模块设计从总体出发,将该系统划分为四大模块:“菜单设计”,“界面设计”,“消息响应设计”和“算法设计”。如图3.2所示:图3.2系统总体设计 基于Android平台的连连看游戏的开发与实现系统分析与设计这四大模块又可以进一步划分如下:(1)菜单设计,可进一步划分为三个模块,分别是:“退出游戏”,“重新开始”,“进入下一关”,如图3.3所示:图3.3菜单设计(2)界面设计,可进一步划分为:“框架设计”,“进度条设计”和“地图设计”,如图3.4所示:图3.4界面设计(3)消息响应设计,可进一步划分为:“鼠标响应”,“绘图响应”和“时间响应”,如图3.5所示:图3.5消息响应设计(4 基于Android平台的连连看游戏的开发与实现系统分析与设计)算法设计,它可继续划分出两个模块:“画线设计”和“消除算法设计”,如图3.6所示:图3.6算法设计其中,消除算法设计是整个系统的核心算法,现对其分析如下:每次当用户选择两个图案时,如果这两个图案完全一样,并且这两个图案之间存在着不受其它图案阻拦的拐角少于3的路径,那么这两个图案可以被成功消除。给定任意具有相同图案的两个格子,我们需要先寻找出这两个格子之间能直角转弯最少的路径,如果这条最优路径的拐角数小于3,则这两个格子可以被成功消除。从其拐角数出发,具体又可分以下三种情况:1)零拐角。直接连接消除。2)一拐角。若1失败,则尝试在第一个格子的同行,第二个格子的同列找一个空格子,看这个空格子与两个目标格子能否零拐角连接;或在第二个格子的同行,第一个格子的同列找一个空格子,看这个空格子与两个目标格子能否零拐角连接。成功则可将两格子“一拐角”连接消除。3)两拐角。若2失败后,再进行如下尝试:在第一个格子的同行寻找一个空格子,看它是否能与目标格子2以“一拐角”方式连接消除;或在第一个格子的同列寻找一个空格子,看它是否能与目标格子2以“一拐角”方式连接消除。若成功则两个格子“两拐角”消除,若所有的尝试都失败,则说明这两个格子不能消除。3.4系统风格定位经过多次风格替换尝试,最终将该系统风格定位为可爱,其原因有下:可爱的风格能吸引到额外的幼龄玩家和女性玩家,这将大大拓宽了用户群范围和规模,提升该系统的实用性;另一方面,可爱的风格能缓解玩家的心理压力,为玩家快节奏的现代生活营造出一种轻松愉快的氛围。 基于Android平台的连连看游戏的开发与实现系统分析与设计3.5本章小结本章从操作、技术、经济、社会四大方面对系统的可行性进行了详细分析,并结合了系统的需求分析初步设计了系统,其中还包括了系统的基本流程设计以及模块的划分与设计,并最终定位了可爱的系统风格。这些为下一章的系统的实现打下了基础。 基于Android平台的连连看游戏的开发与实现系统分析与设计第四章系统的实现4.1开发环境的搭建4.1.1JDK的安装与环境变量配置(1)从http://java.sun.com/javase/downloads/index.jsp下载JDK1.6版本。(2)安装JDK(3)配置环境变量:右击“我的电脑”-->"高级"-->"环境变量"。在系统变量里新建JAVA_HOME变量,变量值设为JDK的安装路径;新建classpath变量,变量值为:.;%JAVA_HOME%lib;%JAVA_HOME%libtools.jar,它代表的是java加载类路径,当生成的类在classpath中时才能被java命令识别,特别要注意在路径前加上“.”来表示当前路径;在已存在的path变量中添加变量值:%JAVA_HOME%bin;%JAVA_HOME%jrebin,使得系统在任何路径下都能识别java、javac命令【12】。4.1.2AndroidSDK与Eclipse的安装与配置(1)从Android官网上下载适应Windows平台的android-sdk_r04-windows.zip和adt-bundle-windows-x86-20130219.zip,下载好后再对它们进行解压缩,得到相应文件夹。(2)在文件夹adt-bundle-windows-x86-20130219中,有一个eclipse.exe应用程序,由于这款Eclipse已经捆绑了ADT(AndroidDevelopmentTools)Plug-in,而ADT是种支持Android在Eclipse 基于Android平台的连连看游戏的开发与实现系统分析与设计上开发的工具,所以这款Eclipse将能直接支持Android应用程序的开发。(3)进入上述的Eclipse,点击菜单Window-->AndroidSDKManager,随后在弹出的窗口中选择需要的SDK版本进行安装。在此次系统开发中,选择了API8的SDK2.2版本进行安装。4.1.3Android虚拟机AVD的配置点击Eclipse菜单Window->AndroidVirtualDeviceManager,在弹出的窗口中点击“new”按钮,进入到创建的AVD配置窗口,鉴于安装好的是Target为API8的SDK2.2版本,填写各项如图4.1所示: 基于Android平台的连连看游戏的开发与实现系统分析与设计图4.1AVD配置图配置成功后,选中avd1并点击“start”按钮进行测试,由于AVD第一次启动时间较长,需耐心等待。测试成功后如图4.2所示: 基于Android平台的连连看游戏的开发与实现系统分析与设计图4.2AVD界面图4.2系统工程的创建进入开发环境后,创建一个建立在API8SDK2.2版本上的工程llk.Android。生成后如图4.3所示: 基于Android平台的连连看游戏的开发与实现系统分析与设计图4.3工程架构图对上述工程架构介绍如下:(1)src目录:主要是完成工程的Java代码编写。(2)gen目录:系统自动生成的源代码目录,其中含有非常重要的R.java文件,它所包含的每一种静态内部类都对应着相应的一种资源。(3)assets目录:data资源目录(4)bin目录:输出文件夹。其中包含的.apk文件可以移植到手机上安装运行。(5)res目录:资源文件夹。其中drawable中存放了工程需要的图像资料,raw中存放着音乐资料。其中src中含有两个包:com.jingjing.llk.android和 基于Android平台的连连看游戏的开发与实现系统分析与设计com.jingjing.llk.view,如图4.4所示:图4.4src内容图其中各类或接口的说明如下:(1)OnStateListener接口:给出了一个能监听游戏状态(胜利、失败、暂停等)的方法。(2)OnTimerListener接口:给出了一个能监听游戏剩余时间的方法。(3)OnToolsChangeListener接口:给出了两个方法,分别是监听刷新地图道具剩余使有次数和图案消除提示剩余次数。(4)MyDialog类:一个实现了点击事件监听接口的对话框Dialog的子类。它将在游戏耗时结束时调用,提示用户此关是成功还是失败,并给出菜单选择,让用户可以选择退出游戏、重新开始本关游戏或进入下一关卡。(5)SoundPlay类:为多个声音流能同时播放提供可能性。先将多种声效添加到此类中的哈希表存储着,当游戏遇到不同的事件时,会在背景音乐播放的同时播放出相对应的声效。(6)BoardView类:层模块中的界面显示类。实现了地图的设置等。(7)GameView类:BoardView的子类,添加了图案消除算法,并处理了游戏中的消息提示。(8)WelActivity:提供与用户进行交互的窗口,并负责对时间、游戏状态、道具使用状态进行监控与处理。 基于Android平台的连连看游戏的开发与实现系统分析与设计4.3主要功能的实现3.1拼图游戏主要界面由于游戏拼图项目开发周期非常短,因此将尽量利用Android现有界面控件进行大部分游戏界面的开发,尽量减少手动绘制界面的操作以实现快速开发的目的。详细需求中说到游戏拼图的设计包括10个功能界面,分别为游戏Logo、主菜单、游戏帮助、游戏设置、游戏选关、游戏随机初始化、进行游戏、游戏胜利、信息输入、行榜功能;除了界面,它还有3个对话框,分别为游戏关于对话框、退出游戏对话框以及二级菜单对话框。通过详细需求首先我们可以把游戏Logo、主菜单拿出来;然后为了让游戏功能清晰,我们把剩下的功能界面以及对话框分成6大模块,分别为游戏过程、积分排名、游戏设置、游戏帮助、游戏关于以及退出游戏,这6大功能模块可以通过主菜单界面进行跳转。通过功能模块的名字我们可以对功能界面以及对话框进行划分:1.游戏过程模块:它是游戏开始到结束整个过程,所以它根据整个游戏过程又可以分为三个阶段,分别是游戏前(选关界面),游戏中(游戏随机初始化界面、游戏界面、二级菜单对话框、游戏胜利界面),游戏后(信息输入界面);2.游戏帮助模块:游戏帮助界面;3.积分排名模块:排行榜功能界面;4.游戏设置模块:游戏设置界面;5.游戏关于模块:游戏关于对话框;6.退出游戏模块:退出游戏对话框。3.2拼图游戏主要功能根据功能进行分块后为减小项目内部的复杂关联,游戏拼图项目采用多Activity模式进行开发设计。它们分别是游戏Logo界面(LogoActivity)、主菜单界(MenuActivity)、游戏帮助(HelpActivity 基于Android平台的连连看游戏的开发与实现系统分析与设计)、游戏设置(OptionActivity)、选关界面(SelectGame)、游戏过程界面(GameActivity)、信息输入界面(InputName)以及排行榜功能界面(RankActivity)共8个主要功能界面。1.游戏Logo:点击游戏图标进入Logo界面,这个界面负责游戏Logo的显示。2.游戏主菜单:Logo界面展示完毕自动进入游戏主菜单界面,这个界面负责各个功能模块的跳转。3.游戏过程:点击开始游戏进入选关界面,这个界面负责选择图片以及难度等级;游戏随机打乱开始进行游戏,在游戏过程中可以随时退出游戏;在游戏的过程中,界面出现计时器记录你游戏所用的时间;游戏完成,如果用户打破记录则跳转至信息输入界面,输入你的名字并且点击确定按钮就会把你的名字和使用时间记录到游戏排行榜;之后会自动跳转到游戏选关界面。4.游戏排行榜功能:点击积分排行进入游戏排行榜功能界面,这个界面就是显示你原来游戏完成所用的时间,它按照从低到高,从简单到困难依次排序,按返回按键跳转回到游戏主菜单界面。5.游戏设置:点击游戏设置按钮进入游戏设置界面,在这个界面可以关闭或开启背景音乐以及清空排行榜信息,点击返回按钮或返回键跳转到游戏主菜单界面。6.游戏关于:点击游戏关于按钮查看游戏相关的信息。弹出对话框,介绍游戏的版权以及相关信息,点击返回按钮或返回键返回到游戏主菜单界面。7.游戏帮助:点击“游戏帮助”按钮,跳转到游戏帮助界面。为不熟悉游戏操作的用户提供游戏规则以及游戏系统说明,点击返回键可返回到游戏主菜单界面。8.退出游戏:点击退出游戏按钮直接弹出二次确认对话框,再次确认直接退出游戏。 基于Android平台的连连看游戏的开发与实现系统分析与设计4拼图游戏的设计思路4.1基本操作的流程图当前是从LogoActivity界面跳转到主菜单界面,在主界面菜单下显示游戏帮助、游戏排行、游戏选择、游戏退出、游戏关于和游戏设置按钮;在游戏界面由GameView组成,GameView是由格子组构成;在游戏排行界面可以跳转到任何一个界面,而且它本来就是从游戏结束界面,输入游戏者的信息后保存在数据库中,然后跳转到游戏排行界面;在游戏过程中和游戏完成时都有不同的音乐,音乐的音量及开关都在游戏设置中进行设置。图4.1Activity类的关系图 基于Android平台的连连看游戏的开发与实现系统分析与设计图4.2Music类与其他类的关系图图4.3Rank类与其他类的关系图 基于Android平台的连连看游戏的开发与实现系统分析与设计4.2开始动画并跳转到菜单页面点击游戏图标进入Logo界面,这时每张Logo图片会占满全屏并保持2秒时间切换3张Logo图片依次展示后游戏自动进入主菜单界面。游戏Logo部分只能一张图片显示2两秒后自动跳到下张图片,所以做成一个帧动画,两秒跳过一震,并在logview中启动动画,当动画结束后跳转到菜单界面。其实在logo界面的切换中是利用的帧动画,通过总的时间然后自动跳转到菜单界面。通过对菜单界面的布局让其显示成有规律的界面,并对界面的按钮进行了监听事件,实现按钮的点击事件,达到需要功能的目的。如图4.3所示 基于Android平台的连连看游戏的开发与实现系统分析与设计图4.4游戏菜单界面主要代码过程:PublicclassMenuActivityextendsActivityimplementsOnClickListener{//初始化一个Activity集合publicstaticArrayListactivitys=newArrayList(); 基于Android平台的连连看游戏的开发与实现系统分析与设计@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.menu);MenuActivity.activitys.add(MenuActivity.this);ImageViewbegin=(ImageView)findViewById(R.id.iv_startgame);begin.setOnClickListener(this);ImageViewrank=(ImageView)findViewById(R.id.iv_rank);rank.setOnClickListener(this);ImageViewsettings=(ImageView)findViewById(R.id.iv_settings);settings.setOnClickListener(this);ImageViewhel=(ImageView)findViewById(R.id.iv_help);hel.setOnClickListener(this);ImageViewabout=(ImageView)findViewById(R.id.iv_about);about.setOnClickListener(this);ImageViewexit=(ImageView)findViewById(R.id.iv_exit);exit.setOnClickListener(this);//音乐状态开启Player.isSound=true;//读保存的内容SharedPreferencessharedPreferences=getSharedPreferences("music_state",Context.MODE_PRIVATE);Player.isSound=sharedPreferences.getBoolean("state",true);if(Player.isSound){//menu界面时音乐循环播出Player.start(this,1,true);}else{Player.stop();} 基于Android平台的连连看游戏的开发与实现系统分析与设计Rank.loadRank(this);}4.3点击帮助游戏跳转界面当点击按钮之后,跳转到帮助界面,显示游戏帮助等内容,在游戏帮助的xml里需要设置listview列表格局,点击每个格局会隐藏扩展信息内容,并增加一个listview格局中的元素。便在其中填写帮助内容。如图4.5 基于Android平台的连连看游戏的开发与实现系统分析与设计图4.5显示帮助界面的内容主要代码实现:protectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.help_lv_item);MenuActivity.activitys.add(HelpActivity.this);//加载背景图片getWindow().setBackgroundDrawableResource(R.drawable.helpback);//初始化ListView对象(让其以竖直列表的方式排列)ListViewlv=(ListView)findViewById(R.id.lv);//初始化适配器MyAdaptermyAdapter=newMyAdapter();//设置适配器lv.setAdapter(myAdapter);//设置监听事件lv.setOnItemClickListener(newOnItemClickListener(){@OverridepublicvoidonItemClick(AdapterViewarg0,Viewarg1,intarg2,longarg3){TextViewtv2=(TextView)arg1.findViewById(R.id.tv2);//判断当前tv2是否显示if(tv2.getVisibility()==View.VISIBLE){//如果为显示设置让它隐藏tv2.setVisibility(View.GONE);}else{//若果为隐藏设置为显示tv2.setVisibility(View.VISIBLE);}}}); 基于Android平台的连连看游戏的开发与实现系统分析与设计}4.4点击游戏设置跳转到设置界面点击“游戏设置”按钮,跳转到游戏设置界面。这个界面主要控制游戏音乐开关和音量大小、重置游戏排行榜的积分以及返回到游戏主菜单界面,在xml界面中将控制音乐开关,和音量大小,重置积分排行,返回主菜单界面的控件,在Java文件中实例化一切的控件并对控件进行监听事件,实行各种点击事件,是音乐随音乐图标的改变而改变,声音大小也要随之改变,点击清空存档时,积分排榜为空,返回时结束当前activity,如图4.6所示。 基于Android平台的连连看游戏的开发与实现系统分析与设计图4.6游戏设置界面主要代码实现:publicclassSettingsActivityextendsActivityimplementsOnClickListener{/***AudioManager是音量的存储铃声的控制**/privateAudioManageraudioManager;intcurrentvolume;//当前音量privateSeekBarseekBar;privateImageViewiv1_on;@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.settings);MenuActivity.activitys.add(SettingsActivity.this);//找到游戏状态图标ImageViewiv_on=(ImageView)findViewById(R.id.iv_on);//对游戏状态图标设置监听事件iv_on.setOnClickListener(this);//找到关闭音乐图标ImageViewiv_off=(ImageView)findViewById(R.id.iv_off);//对关闭音乐图标设置监听事件iv_off.setOnClickListener(this);//找到增加音量图标ImageViewiv_up=(ImageView)findViewById(R.id.iv_up);//对增加音量图标设置监听事件iv_up.setOnClickListener(this);//找到降低音量的图标ImageViewiv_down=(ImageView) 基于Android平台的连连看游戏的开发与实现系统分析与设计findViewById(R.id.iv_down);//对降低音量的图标设置监听事件iv_down.setOnClickListener(this);//找到游戏状态图标iv1_on=(ImageView)findViewById(R.id.iv1_on);//对游戏状态图标设置监听事件iv1_on.setOnClickListener(this);//找到返回按钮Buttonbtn_back=(Button)findViewById(R.id.btn_back);//对返回按钮进行监听事件btn_back.setOnClickListener(this);//找到清空文档按钮Buttonbtn_text=(Button)findViewById(R.id.btn_text);//对清空文档按钮进行监听事件btn_text.setOnClickListener(this);//读保存的内容SharedPreferencessharedPreferences=getSharedPreferences("music_state",Context.MODE_PRIVATE);Player.isSound=sharedPreferences.getBoolean("state",true);/***判断音乐状态是否开启**/if(!Player.isSound){//音乐状态关闭的话设置背景为关闭iv1_on.setImageResource(R.drawable.audio_off);}else{iv1_on.setImageResource(R.drawable.audio_on);//音乐状态开启的话开始播放音乐Player.start(this,0,false);} 基于Android平台的连连看游戏的开发与实现系统分析与设计//初始化当前音量currentvolume=sharedPreferences.getInt("currentvolume",-1);//初始化audioManageraudioManager=(AudioManager)getSystemService(Context.AUDIO_SERVICE);//获取最大音量值intstreamMaxVolume=audioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC);if(currentvolume==-1){intstreamVolume=audioManager.getStreamVolume(AudioManager.STREAM_MUSIC);currentvolume=streamVolume;}//初始化seekBarseekBar=(SeekBar)findViewById(R.id.sk);//设置进度条的值seekBar.setProgress(currentvolume);//设置进度条的最大值seekBar.setMax(streamMaxVolume);//对进度条的监听事件seekBar.setOnSeekBarChangeListener(newOnSeekBarChangeListener(){@OverridepublicvoidonStopTrackingTouch(SeekBarseekBar){}@OverridepublicvoidonStartTrackingTouch(SeekBarseekBar){}/***进度条拖动过程中 基于Android平台的连连看游戏的开发与实现系统分析与设计**/@OverridepublicvoidonProgressChanged(SeekBarseekBar,intprogress,booleanfromUser){//当前值等于进度条的值currentvolume=progress;intstreamVolume=audioManager.getStreamVolume(AudioManager.STREAM_MUSIC);if(streamVolume>progress){audioManager.adjustStreamVolume(AudioManager.STREAM_MUSIC,AudioManager.ADJUST_LOWER,0);}else{audioManager.adjustStreamVolume(AudioManager.STREAM_MUSIC,AudioManager.ADJUST_RAISE,0);}//拖动进度条开启音乐openMusic();//如果进度条的值为0就关闭音乐if(currentvolume==0){//关闭音乐closeMusic();}}});}4.6点击开始游戏见面进行游戏1.点击开始游戏时,会先跳转到选择界面,进行对图片的选择,在xml里设置格局,在Java文件中进行图片资源的获取,并实现左右滑动时图片也跟随滑动,以便于更好的选择图片。 基于Android平台的连连看游戏的开发与实现系统分析与设计2.选择图片后运用格子组和画布,画笔等工具,将图片切割为等级难度不同的图片,简单的切割为3*3,普通的切割为4*4,困难的切割成5*5,并设定好切割的次数,在切割时屏幕显示提示文字“图片正在打乱中”,打乱完成后会在屏幕的左上角显示打乱图片的缩略图,点击可以看大图,屏幕的右上角添加一个计时器timer,对完成游戏时间进行记录,计时器下方会有一个重新打乱按钮,点击则进行重新打乱。如图4.9所示: 基于Android平台的连连看游戏的开发与实现系统分析与设计图4.9游戏打乱界面3.在游戏中和图片打乱中时,按手机菜单建时,会弹出菜单进行选择,返回游戏时则直接返回游戏当中,游戏帮助时则跳转到帮助界面查看信息,游戏设置时则跳转到设置界面进行一系列的设置操作,返回选关则退回到选择图片处,如图4.10所示: 基于Android平台的连连看游戏的开发与实现系统分析与设计图4.10游戏中进入设置界面4.当游戏胜利是,会播放胜利的音乐,并将整个完成游戏的过程重新放映一遍,放映结束后会跳到另一个界面,这个界面会显示成功完成游戏的图片,在图片下方会出现跑马灯,显示“恭喜您,闯关成功”的字样。如图4.11所示: 基于Android平台的连连看游戏的开发与实现系统分析与设计图4.11游戏胜利界面4.7点击退出游戏按钮当点击退出游戏按钮时,会弹出一个提示对话框,进行选择,选择退出则结束整个游戏,如果点击取消,则返回主菜单。如图4.12所示: 基于Android平台的连连看游戏的开发与实现系统分析与设计图4.12选择退出游戏界面 基于Android平台的连连看游戏的开发与实现系统分析与设计5功能的实现5.1游戏菜单界面的功能实现首先是从logo界面跳转到游戏菜单界面,主要利用帧动画实现页面跳转,其主要实现为:1.Logo界面需要展示3张Logo图片,每张图片保持2秒显示时间,之后自动进入Menu界面。(1)创建Android项目GamePic;(2)创建一个LogoView类继承View;(3)重写View当中的ondraw方法;(4)创建一个Bitmap对象并且加载图片;(5)在ondraw方法中使用画布对象进行绘制;(6)在Activity当中创建LogoView类的对象;(7)初始化logoview;(8)通过Activity当中的setcontentview方法加载LogoView的对象;(9)设置屏幕的宽高(1、在MainActivity中newDisplayMetrics类2、声明int的宽高3、得到metrics对象4、通过metrics.heightpixecs来获得高,同理获得宽)。2.在LogoView中声明Bitmap数组和图片的ID数组,在声明一个MainActivity的对象,在声明一个intnum循环的次数,在声明一个boolean类型的对象(1)利用MainActivity的对象把context转换为另一个Activity;(2)通过for循环、BitmapFactory来获得图片;(3)创建一个线程,实现Runable,创建run方法;(4)在run方法中通过thread让图片每两秒切换,通过postInvalidate方法进行刷新使用;(5)利用While循环来对图片的切换; 基于Android平台的连连看游戏的开发与实现系统分析与设计(6)在启动线程。3.Logo界面的跳转:(1)在MainActivity当中创建gotoMenu方法;(2)利用Intent进行页面跳;(3)创建一个MenuActivity类继承Activity;(4)在清单文件内注册命名为MenuActivity;(5)在run方法中调用gotoMenu方法;(6)在MainActivity当中启动Intent。表5.1Logo界面图片资源列表Logo功能名称切换方式资源图片渠道商Logo2秒后自动切换下一张mmlogo.png开发商Logo2秒后自动切换下一张and1.png游戏Logo2秒后自动切换Menulogo.jpg5.2游戏菜单界面显示及关于和退出对话框的显示菜单界面需要展示6个Butoon按钮点击相关按钮进行页面跳转或对话框显示:1.首先自定义6个类的Activity分别为游戏开始、游戏排名、游戏设置、游戏帮助、游戏关于、游戏退出;2.在layout中建立相对应的XML文件并且在清单文件内注册;3.在activity_main中首先加载背景图片,对6个按钮进行加载并布局;4.在利用任务1当中的MunuActivity,在MunuActivity中声明6个Butoon的对象;5.我是利用对Activity自身的监听事件分别对6个Butoon的对象进行监听(也可以利用匿名内部类等方法进行监听);6.利用Intent进行页面跳转;7.在MunuActivity中新建一个关于对话框的方法,利用AlertDialog提示对话框,用AlertDialog.Builder这个属性,newAlertDialog.Builder,设置对话框的图标和标题,对dialogo接口的监听,最后一定要show(); 基于Android平台的连连看游戏的开发与实现系统分析与设计8.在实现退出对话框显示时跟关于类似,只不过它使用的是两个按钮的对话框。表5.2Logo界面图片资源列菜单功能名称切换方式资源图片游戏开始buttonBegin点击游戏开始bm1.png游戏排名buttonRank点击游戏排名bm2.png游戏设置buttonSet点击游戏设置bm3.jpg游戏帮助buttonHelp点击游戏帮助Bm4.jpg游戏关于buttonAbout点击游戏关于Bm5.jpg游戏退出buttonExit点击游戏退出Bm6.jpg5.3游戏帮助界面显示游戏帮助界面需要用到适配器Adapter和listview的属性。1.创建一个自定义类来继承ListActivity,并且重写oncreat方法;2.创建一个自定义的适配器Adapter继承BaseAdapter,并且重写4个方法(实际只操作两个);3.在创建一个自定义类的构造方法;4.创建一个列表元素样式布局,有两个TextView,对帮助内容的划分;5.在oncreat方法中通过getwindiow().set…加载帮助界面的背景图片;6.在oncreat方法中创建自定义的Adapte对象,通过getListIVew方法获取ListActivity里面的ListView,ListView对象调用setAdapter方法设置适配器;7.在自定义的适配器Adapter中,首先得在全局声明两个TextView的对象,声明标题数组和内容数组;8.设置标题和内容返回给View;9.在构造方法中通过布局适配器调用from方法。 基于Android平台的连连看游戏的开发与实现系统分析与设计5.4游戏设置界面显示游戏设置界面需要设置一个Music类和一个自定义Activity还要一个XML布局。1.XML布局的操作:(1)创建4个textview对声音状态、声音开关启、放大减小声音和音量显示的布局;(2)创建5个imageview对声音状态、声音开关启、放大减小声音的图标布局;(3)创建一个seekbar对声音显示进度条的布局;(4)创建2个button对清空文档和返回键的布局。2.Music类的操作:(1)首先创建一个Music类;(2)声明Mediaplayer对象,声明一个音乐id数组和定义一个当前音乐的id;(3)创建两个静态的方法,一个是开启音乐,另一个是关闭音乐;(4)在开启音乐方法中,首先判断当前音乐id和定义的是否相等并且音乐是否正在播放,如果是的话return当前id并且赋值给自定的id;(5)在开启音乐方法中,判断如果Mediaplaye的对象不为空,在判断是否正在播放,如果正在播放的话停止播放,如果不为空还要音乐重置和滞空,如果为空的话执行创建音乐播放id病开始播放音乐;(6)在关闭音乐方法中,判断当前音乐是否为空,不为空停止播放。3.自定义Activity的操作:(1)自定义一个Activity继承Activity并重写oncreate方法;(2)声明播放音乐对象、关闭音乐对象、音乐播放状态对象、增加音量对象、降低音量对象、声明AudioManager对象、声明进度条对象、返回按钮对象,定义一个最大值和当前值;(3)在oncread方法中,实例化AudioManager对象,获取最大值和当前值;(4 基于Android平台的连连看游戏的开发与实现系统分析与设计)实例化播放音乐、关闭音乐、增加音乐和降低音乐对象,并对自身Activity设置监听事件;(5)实例化进度条对象并对进度条进行监听并重写它的3个方法,在它的拖动过程方法中获取当前值并根据当前值设置进度条的音量大小;(6)实例化返回按钮并进行监听事件,在它的监听事件中设置finish方法并关闭音乐;(7)在监听自身的Activity中分别对播放音乐、关闭音乐、增加音乐和降低音乐进行设置。表5.3设置界面图片资源列表游戏设置功能名称切换方式资源图片播放音乐点击播放音乐on.png关闭音乐点击关闭音乐off.png增加音量点击增加音量up.png降低音量点击降低音量Down.png进度条拖动进度条返回按钮点击返回按钮5.5游戏开始界面选择图片显示游戏开始界面选择图片显示需要10张图片,需要鼠标滑动选择图片,还要进行游戏难度的选择操作。1.BeginActivity类的操作:(1)创建一个自定义BeginActivity类继承Activity,并重写oncreate方法;(2)创建两个XML布局文件bgein和gallery,在beginXML中设置两有两个控件,一个gallery一个是textview,在gallery布局文件中设置一个imageview控件。2.GalleryAdapter适配器的操作:(1)创建一个自定义GalleryAdapter适配器继承BaseAsapter; 基于Android平台的连连看游戏的开发与实现系统分析与设计(2)创建一个GalleryAdapter的构造方法,并且重写GalleryAdapter的4个方法;(3)声明一个布局过滤器的对象、ImageView的对象和当前图片资源id数组;(4)在构造方法中实例化布局过滤器的对象,并调用头了from方法(5)在重写方法getView中调用布局过滤器的inflate方法把XML布局变成View;(6)实例化ImageView的对象;(7)设置适配器;(8)在重写getCount方法中返回id数组的长度。3.BeginActivity中实现鼠标滑动选择图片的操作:(1)声明GalleryAdapter和Gallery两个的对象;(2)在重写oncreate发方法中实例化GalleryAdapter和Gallery;(3)设置适配器。4.难度选择对话框的操作:(1)创建一个显示对话框showDialog的方法(用的是提示对话框);(2)实例化提示对话框;(3)设置对话框的Icon和标题;(4)通过对Activity自身的监听事件对3个对话框按钮进行监听;(5)在重写oncreate方法中对某个元素进行监听;(6)在点击某个元素方法中调用显示对话框showDialog()方法。表5.4Logo界面图片资源列表鼠标滑动选择图片切换方式资源图片选择图片b0鼠标滑动切换到b1b0.png选择图片b1鼠标滑动切换到b2b1.png选择图片b2鼠标滑动切换到b3b2.jpg选择图片b3鼠标滑动切换到b4b3.jpg选择图片b4鼠标滑动切换到b5b4.jpg选择图片b5鼠标滑动切换到b6b5.jpg选择图片b6鼠标滑动切换到b7b6.jpg选择图片b7鼠标滑动切换到b8b7.jpg 基于Android平台的连连看游戏的开发与实现系统分析与设计选择图片b8鼠标滑动切换到b9b8.jpg选择图片b9不变b9.jpg5.6game界面实现game界面需要创建一个自定义的Activity和自定义的View,还要执行Activity之间的跳转。1.自定义Activity操作:(1)创建一个自定义的GameActivity继承Activity;(2)实例化自定义的View,并在Activity上显示View对象。2.自定义的View操作:(1)创建一个自定义的GameView继承SurfaceView实现SurfaceHolder.Callback和Runable重写3个方法和run方法;(2)获取SurfaceHolder的对象;(3)添加回调函数;(4)构造一个绘制方法;(5)声明一个boolean类型的flag控制线程开关;(6)在重写的surfaceChanged方法中先开启线程,实例化一个线程,然后再启动线程;(7)在surfaceDestroyed方法中关闭线程;(8)声明成员的Bitmap的对象当前图片currentimg、小图片smallimg、时钟clock、bitpause、画笔对象paint、画布对象canvas和文字显示String对象time;(9)在构造方法GameView中通过bitmap工厂得到当前图片currentimg和时钟图片还有bitpause图片,通过bitmap将当前图片压缩;(9)在构造方法GameView中初始化画笔(10)在绘制图片方法中,首先锁定画布然后绘制当前图片和当前图片的小图片,在绘制时钟图片和bitpause图片;(11)在绘制图片方法中,在设置画笔颜色和字体大小,在在画布上绘制文字;(12)解锁画布。3.执行Activity之间的跳转操作: 基于Android平台的连连看游戏的开发与实现系统分析与设计(1)在BeginActivity中构建一个跳转方法Skip;(2)初始化Intent;(3)在intent.setclass设置从哪跳到哪;(4)startActivity启动;5.7game界面切割的实现1.ImageRect的实现(1)自定义一个ImageRect类并创建它的构造方法,构造方法内的参数是:Bitmap对象当前图片、整形的难度等级level、整形的id;(2)声明整形的图块的宽(rectWidth)高(rectHeight)和图块的行(xLine)列(yLine);(3)声明Bitmap对象图块(imageRect);(4)获得图块的宽(通过当前图片.getwidth除以等级难度)高(通过当前图片.getHeight除以等级难度);(5)获得图块的行(通过id/难度等级)列(通过id与难度等级求余);(6)判断id的值,如果等于难度等级的平方减1则设置图块为白色(通过实例化画布,设置画布的颜色为白色)如果不等于就通过当前图片获得图块;(7)构建一个画笔函数,将图块画到画布上。2.Block格子的实现(1)自定义一个Block类并创建其构造方法,构造方法内的参数是:Bitmap对象当前图片、整形的难度等级level、整形的id;(2)声明格子的行列和格子的id,声明整形的格子的宽高,声明整形的X、Y坐标,声明格子:RectFBlockRect;(3)获取格子的行(通过id/难度等级)列(通过id与难度等级求余);(4)获取格子的宽(通过当前图片.getwidth除以等级难度)高(通过当前图片.getHeight除以等级难度);(5)把当前的id赋给id。3.BlockGroup格子组的实现 基于Android平台的连连看游戏的开发与实现系统分析与设计(1)自定义一个BlockGroup类并创建其构造方法,构造方法内的参数是:Bitmap对象当前图片、整形的难度等级level;(2)声明二维的格子数组和一维的图块数组,声明整形的难度等级的平方和难度等级;(3)在构造方法中获取难度等级的平方,通过for循环实例化图块数组和格子数组;(4)构建一个画笔函数,参数为画布对象、x坐标、y坐标、画笔对象;(5)绘制图块;4.GameView里的操作(1)声明格子组的对象;(2)在构造方法中实例化格子组(参数后添加整形的难度等级);(3)在绘制函数中把当前画布的值画在格子组里。5.GameActivity里的操作(1)声明一个整形的难度等级;(2)获取难度等级(通过getInExtra方法获取);(3)传给GameView;6.BeginActivity里的操作在点击难度选关中设置难度等级的值。5.7menu界面的实现游戏中menu界面显示只需要在游戏窗口建立菜单文件即可,也就是在游戏界面点击menu键弹出对应的对话框。1.重写oncreatepanemenu方法操作(1)在GameActivity中重写oncreatepanemenu方法;(2)添加子菜单分别为返回游戏、游戏帮助、游戏设置、退出游戏;(3)利用menu.add方法添加。2.重写onmenuitemselect方法操作(1)使用switch方法对menu子菜单进行监听事件,点击子菜单做出相应功能实现; 基于Android平台的连连看游戏的开发与实现系统分析与设计(2)点击游戏帮助,使用intent跳转到AboutActivity界面并且启动Activity;(3)点击游戏设置,使用intent跳转到SettingActivity界面并且启动Activity;(4)点击退出游戏弹出一个对话框,是利用AlertDialog.build方法最后一定要.show(),让对话框显示,在对话框中点击返回按钮就是退出游戏,是调用的finish()方法结束当前进程,点击确定按钮退出游戏。 基于Android平台的连连看游戏的开发与实现系统分析与设计6运行调试6.1白盒测试白盒测试也称结构测试或逻辑驱动测试,它是按照程序内部的结构测试程序,通过测试来检测产品内部动作是否按照设计规格说明书的规定正常进行,检验程序中的每条通路是否都能按预定要求正确工作。这一方法是把测试对象看作一个打开的盒子,测试人员依据程序内部逻辑结构相关信息,设计或选择测试用例,对程序所有逻辑路径进行测试,通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致6.2黑盒测试黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,对程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。基于Android平台的连连看游戏的开发与实现系统测试与性能 基于Android平台的连连看游戏的开发与实现系统测试与性能 基于Android平台的连连看游戏的开发与实现参考文献第六章总结与展望6.1总结本次设计完成的基于Android平台的“连连看”游戏系统风格清新可爱,并成功实现了“连连看”的基本游戏功能。回顾整篇文章,其主要内容分为绪论、相关开发技术分析、游戏系统的分析与设计、系统实现、系统测试五大部分,给出了系统的整体开发与具体实现过程。本次研究成果可以在Android模拟器AVD及智能机上成功运行,具有刷新地图、系统帮助自动消除图案以及图片消除等功能,并且最终通过了在模拟器上的测试,完成了系统设计时的各项功能需求目标。但由于时间的原因,该游戏系统尚且存在着一些不足之处,例如在设置关卡难度的时候只是单纯地在系统给出的游戏时间限制上予以缩短,并没有实现地图分布带来的难度递增,这就需要今后继续研究地图分布算法来解决这个问题,以进一步地完善现有的游戏系统。通过本次基于Android平台的“连连看”游戏系统的设计与开发,自学了Android开发技术并予以运用实践,深入了解了移动应用的开发背景,认识了Android系统,进一步体会到Android应用程序的开发方法和步骤,并熟悉了其开发工具的使用。由于这是款手机游戏开发,在感知软件工程思想的同时也学习到了游戏开发的相关技术和开发流程。鉴于Android系统智能机已在全球火热流行开来,选择本课题后通过查阅相关资料并加以学习促使自己了解了更多的Android手机前沿信息,一方面锻炼了自学新技术的能力,另一方面也加深了自己对软件工程思想的感悟。6.2未来工作展望通过此次课题研究与设计,虽然学习到了不少知识并取得了自我满意的成绩,但就长远而言,还有很多地方需要深入学习研究。就本次完成的基于Android平台的“连连看”游戏系统而言,尚有一些不足之处,这需要今后的继续研究来进一步改善它;另一方面,此次设计的成功完成是自己在Android求知道路上的一个良好开端,应继续加强Android理论知识学习并努力尝试更多的Android开发实践。 基于Android平台的连连看游戏的开发与实现参考文献致谢很高兴 基于Android平台的连连看游戏的开发与实现参考文献参考文献[1]艾媒咨询.2012Q1中国手机游戏市场季度监测报告[N].艾媒咨询报,2012.04.12.[2]汪潇,李雪.Android平台简析[N].景德镇高专学报,2011.06.15.[3]张勇辉.网页游戏《时空》商业策划书[D][硕士学位论文].广州:华南理工大学,2010.[4]林信良编著.Java学习笔记[M].北京:清华大学出版社,2007.[5]王保罗.Java面向对象程序设计[M].北京:清华大学出版社,2003.[6]罗杰.Android应用开发[M].北京:人民邮电出版社,2010.[7]杨丰盛.Android应用开发揭秘[M].北京:机械工业出版社,2010.[8]李刚.疯狂Android讲义[M].北京:电子工业出版社,2011.[9]郭宏志.Android应用开发详解[M].北京:电子工厂出版社,2010.[10]姚尚朗等著.GoogleAndroid开发入门与实战[M].北京:人民邮电出版社,2009.[11]公磊,周聪.基于Android的移动终端应用程序开发与研究[N]计算机与现代化,2008.08.15.[12]毕广吉.Java程序设计实例教程[M].北京:冶金工业出版社,2007.[13]邱小玲.浅谈软件测试的方法[N].科技信息报,2008.06.10[14]解圣霞.基于基本路径测试的测试用例自动生成应用研究[D][硕士学位论文]. 大连:大连海事大学,2008.[15]马科文.软件测试主控台客户端系统研究与开发[D][硕士学位论文]. 吉林:吉林大学,2008.[16]王静.面向对象软件测试技术的研究[D][硕士学位论文]. 天津:天津大学,2007.[17]许鹏森.游戏软件黑盒测试方法研究与应用[D][硕士学位论文]. 武汉:华中科技大学,2009.[18]史永莉.基于WAP手机上网的软件测试技术研究及应用[D][硕士学位论文].广西:广西师范大学,2009.[19]冯莉.软件测试及其在电信监控系统中的应用研究[D][硕士学位论文].河北:华北电力大学,2009.[20]马斌,杨建民.软件测试基本方法在软件客户化测试中的应用研究[N]内蒙古电力技术,2004.09.28. 基于Android平台的连连看游戏的开发与实现参考文献毕业论文(设计)原创性声明本人所呈交的毕业论文(设计)是我在导师的指导下进行的研究工作及取得的研究成果。据我所知,除文中已经注明引用的内容外,本论文(设计)不包含其他个人已经发表或撰写过的研究成果。对本论文(设计)的研究做出重要贡献的个人和集体,均已在文中作了明确说明并表示谢意。作者签名:日期:毕业论文(设计)授权使用说明本论文(设计)作者完全了解**学院有关保留、使用毕业论文(设计)的规定,学校有权保留论文(设计)并向相关部门送交论文(设计)的电子版和纸质版。有权将论文(设计)用于非赢利目的的少量复制并允许论文(设计)进入学校图书馆被查阅。学校可以公布论文(设计)的全部或部分内容。保密的论文(设计)在解密后适用本规定。 作者签名:指导教师签名:日期:日期: 基于Android平台的连连看游戏的开发与实现参考文献注意事项1.设计(论文)的内容包括:1)封面(按教务处制定的标准封面格式制作)2)原创性声明3)中文摘要(300字左右)、关键词4)外文摘要、关键词5)目次页(附件不统一编入)6)论文主体部分:引言(或绪论)、正文、结论7)参考文献8)致谢9)附录(对论文支持必要时)2.论文字数要求:理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。3.附件包括:任务书、开题报告、外文译文、译文原文(复印件)。4.文字、图表要求:1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不准请他人代写2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应符合国家技术标准规范。图表整洁,布局合理,文字注释必须使用工程字书写,不准用徒手画3)毕业论文须用A4单面打印,论文50页以上的双面打印4)图表应绘制于无格子的页面上5)软件工程类课题应有程序清单,并提供电子文档5.装订顺序1)设计(论文)2)附件:按照任务书、开题报告、外文译文、译文原文(复印件)次序装订3)其它

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
大家都在看
近期热门
关闭