基于android平台的五子棋游戏最终版_第1页
基于android平台的五子棋游戏最终版_第2页
基于android平台的五子棋游戏最终版_第3页
基于android平台的五子棋游戏最终版_第4页
基于android平台的五子棋游戏最终版_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

毕业设计(论文)任务书毕业设计(论文)题目基于ANDROID平台的五子棋游戏的设计与实现毕业设计(论文)要求及原始数据(资料)1综述国内基于ANDROID平台的五子棋游戏发展现状;2深入了解ANDROID五子棋游戏设计制作的相关技术;3熟练掌握JAVA语言及ANDROID四大组件的应用与分析,训练编写程序的能力;4设计并实现五子棋游戏人机对战功能;5深入分析基于安卓的五子棋游戏的关键技术和编写语言;6训练检索文献资料和利用文献资料的能力;7训练撰写技术文档与学位论文的能力。毕业设计(论文)主要内容1综述ANDROID五子棋游戏在日常生活中的应用;2了解ANDROID五子棋游戏使用的相关技术;3熟悉ANDROID项目的开发环境和API;4设计ANDROID的五子棋游戏项目;5深入分析ANDROID五子棋游戏的关键技术与编写语言JAVA的设计流程;6熟练掌握ANDROID平台的程序编写;7设计与实现基于ANDROID的五子棋游戏程序。学生应交出的设计文件(论文)1内容完整、层次清晰、叙述流畅、排版规范的毕业设计论文;2包括毕业设计论文、源程序等内容在内的毕业设计电子文档及其它相关材料。主要参考文献(资料)1美威尔顿,麦可匹克JAVASCRIPT入门经典第3版M施宏斌译北京清华大学出版社,2009P2230;2E2ECLOUD工作室著深入浅出GOOGLEANDROIDM人民邮电出版社P6278;3陈昊鹏译美BRUCEECKELJAVA编程思想M北京机械工业出版社,2007P5690;4ERICJBRAUCLE等软件设计从程序设计到体系结构M李仁发等译北京电子工业出版社,2007P112150;5孔令德毕业设计案例教程从系统开发到论文写作M北京国防工业出版社,2007P8990;6朱全明,陈松乔五子棋算法的研究与思考J计算机与自动化2006(2)3498;7DANIELWRANSMUSRETHINKINGSMARTOBJECTSBUILDINGARTIFICIALINTELLIGENCEWITHOBJECTS1999P1431678TANTHONYMARSLANDA1VIEWOFGAMETREEPRUNINGICCAJOURNAL1986P1231789HALLMR,LOEBDETHOUGHTSONPROGRAMMINGADIPLOMATHEURISTICPROGRAMMINGINARTIFICIALINTELLIGENCE3THETHIRDCOMPUTEROLYMPIAD1992P8914510严威川令人爱恨交加的ANDROIDJ。信息安全与通信保密2011(08)P67123;11张继永浅析ANDROID系统的软件安全设计J硅谷2010(2)P1120;专业班级软件1105班学生要求设计(论文)工作起止日期2015年3月23日2015年7月3日指导教师签字日期2015年3月23日教研室主任审查签字日期系主任批准签字日期基于ANDROID平台的五子棋游戏的设计与实现摘要现代科技的飞跃发展,3G智能手机为我们带来了很多便利,给我们提供了一个高效的平台,在社会各界得到越来越广泛的应用。因此,本文围绕一个“基于ANDROID平台的五子棋游戏设计与开发”程序的设计和应用系统的开发课题为背景,详细介绍了在ANDROID平台上以JAVA为语言编写游戏的过程。五子棋游戏的开发不仅是一个简单游戏的编写过程,更重要的是在系统分析和设计阶段所做的工作。该程序在设计过程中严格遵循软件工程学的方法,用分阶段的生命周期计划严格管理,并主要讲述了程序的总体设计、详细设计阶段,对程序进行需求迭代,不断修正和改进,利用SQLITE、SHAREDPREFERENCES等数据存储功能,直到形成一个完善的可行性系统界面美观、大方,方便的操作与良好的视觉感应共同构成了“基于ANDROID平台的五子棋游戏设计与开发”的设计。关键词ANDROID;JAVA;数据存储;软件工程;五子棋DESIGNANDIMPLEMENTATIONOFGOBANGGAMEBASEDONANDROIDABSTRACTMODERNTECHNOLOGYDEVELOPSRAPIDLYINOURSOCIETYITMAKESOURLIVESMORECONVINIENTANDPROVIDESANEFFICIENTPLATFORMFORUSRECENTLY,THE3GSMARTPHONEBECOMESMOREANDMOREPOPULARTHEREFORE,MYTHESISWILLTALKABOUTTHEPROGRESSOFTHEGAMESWHICHISPROGRAMEDBYTHEJAVALANGUAGEMYPAPERISBASEDONTHETASKSONTHEPROGRAMDESIGNANDTHEAPPLICATIONSYSTEMWHICHISBASEDONTHEQUINTETGAMEDESIGNANDDEVELOPMENTBUILTONTHEANDROIDTHEDEVELOPMENTOFTHEQUINTETGAMEISNOTJUSTAPROGRESSOFPROGRAMINGWHATSMORE,WENEEDTOPAYMOREATTENTIONTOTHEWORKONTHEPERIODOFSYSTEMATICANALYSISANDDESIGNTHEPROGRAMFOLLOWSTHESOFTWAREENGINEERINGSTRICTLYANDNARRATESTHEMAJORDESIGNANDSECTIONTHISPROGRAMMAINLYTALKSABOUTTHEPERIODOFTHESYSTEMDESIGNANDTHEDETAILEDDESIGNANDALSOITWILLSTUDYONTHEBUGFIXINGANDIMPROVEMENTSBYUSINGTHESOMEFUCTIONOFDATALOGGINGSUCHASTHESQLITE,SHAREDPREFERENCES,ITBUILDAPRACTICABLESYSTEMTHENICEANDEXPERTINTERFACEANDGOODVISUALINTRODUCTIONFORMTHEDESIGNWHICHISBASEDONTHEDESIGNINGANDDEVELOPMENTOFANDROIDPLATFORMQUINTETGAMEKEYWORDSANDROIDJAVADATASTORAGESOFTWAREENGINEERINGQUINTETGAME目录绪论111课题研究的背景112国内发展状况313开发工具简介3131ANDROID操作系统3132ANDROID平台相比于其他平台的优势4133ANDROID开发环境介绍4134ANDROID开发平台搭建5135ANDROID的功能特征8136数据存储简介914系统运行配置102五子棋手机游戏概述1121五子棋游戏简介1122手机游戏的优点11221庞大的潜在用户群11222便携性11223支持网络1123五子棋术语123ANDROID的系统研究1531ANDROID简介1532ANDROID的构架16321ANDROID构架综述16322ANDROID应用程序框架层18323ANDROID应用程序层184需求分析1941系统需求1942功能需求2043性能需求2044可行性研究20441经济可行性20442技术可行性205概要设计2151系统功能结构及流程图2152数据存储设计216详细设计2261主界面详细设计2262游戏开始模块详细设计26621背景音乐29622两大难度算法的设计及输赢的判断2963游戏说明模块详细设计3364作者介绍模块详细设计3365游戏设置模块详细设计347游戏的实现3571背景音乐的实现3572两大大难度的实现36721简单36722困难3773游戏输赢判断的实现39结论43参考文献44致谢45绪论11课题研究的背景随着计算机与网络技术的日益发达,同时也进入了高效的信息化时代,说起手机,没有一个人会感到陌生。近几年来一个名词一直影响着许许多多的手机用户,它就是智能手机。智能手机凭借其强大的功能吸引住了许多用户的眼球,因为有了广大的用户基础,智能手机也风靡一时。说起智能手机,除了他有一颗强大的CPU和其他一些较高配置的硬件外,其真正的智能还要归功于其不可缺少的智能操作系统。随着3G的到来,无线带宽越来越高,使得更多内容丰富的应用程序部署在手机上成为可能,比如视频通话、视频点播、移动互联网等。为了承载这些数据应用及快速部署,手机功能将越来越智能越来越开放。手机游戏也就应运而生,每个手机上都有手机游戏,游戏是人们娱乐的一种方式。ANDROID平台下的手机游戏更是受顾客的亲睐,手机游戏不仅玩起来比较方便,还有助于开发我们的思维,使大家在娱乐的同时也增长了见识,拓展了思维。五子棋对自己的思维及协调能力有益,能使我们注意力集中,耐心也有明显的提升,培养我们的逻辑思维能力,对智力以及记忆力都很有帮助。目前全球手机用户数量已经超过了家用电脑的数量,并且手机的数量在快速的增长,其中比例占得很大的部分就是智能手机,尤其是随着3G技术的快速发展,移动互联网将是一个巨大的市场,智能手机领域的市场份额被许多国际大公司以及国内的大公司抢占。这期间,出现的手机尤其是智能手机可谓五花八门,种类繁多,但是真正好用,深受用户喜爱的智能手机没有多少。当互联网巨头GOOGLE宣布依靠ANDROID系统进军手机操作系统领域之后,多年来ANDROID路高歌,快速的获得众多用户和厂商的认同。随着ANDROID手机终端的逐渐热销,ANDROID也引起众多手机应用程序开发商的关注,ANDROID的出现带给了智能手机领域更多的机遇和挑战,由干ANDROID基于LINUX内核且具有开源、免费的特性,它迅速得到广大爱好者以及许多厂商的支持,基于ANDROID所开发的手机游戏拥有巨大潜力已成为行业共识。3G的普及、手机显示性能的提高、手机屏幕的扩人和较高的分辨率,解决了传统手机行业的很多弊端,同时ANDROID也釆用了键盘形式的按键,可以完成更复杂的操作。ANDROID虽然基于JAVA,但是其虚拟机是基于寄存器的(这与普通的JAVA基于堆栈不同),速度得到很大的提开,这为ANDROID平台上开发游戏提供了坚强的后盾。随着移动开发技术的不断升级和终端设备成本的下降,近年来,手机在普通消费人群中得到了极大的普及。凭借其便于携带、沟通迅捷、功能多样、私密性强等独有优势,手机已经成为普通民众不可替代的随身工具。其益智、趣味和休闲的特点迎合了消费者的娱乐需要,手机游戏的开发推广已经成为手机生产商和运营商重要的业务增长点,游戏软件产业价值不断提升。手机游戏是机偶的一种高附加值操作软件,游戏编程是手机软件编程的重要组成,同时也持续推动手机软件技术升级进步。现在人们压力口益增人,需要劳逸结合才能获得更高的工作效率,工作之余的娱乐对每一个人来说都是必不可少的。五子棋这种娱乐方式简单易学又具有深奥的技巧,非常富有趣味性和消遣性。在经过不断发展后,五子棋已经成为棋盘娱乐的一个重要的组成部分,它能够增强思维能力、开发智力,是人们休闲娱乐的不错选择。近来随着计算机和手机的快速发展,各种各样的游戏层出不穷,使得人们能有更多的娱乐项目,而棋类游戏能起到锻炼人的思维和修身养性的作用,而且棋类游戏水平颇高,大有与人脑分庭抗礼之势。现在的五子棋游戏软件基本上可以分为两类一类是网络五子棋游戏软件,另一类是单机版五子棋游戏软件。很少有手机版的五子棋游戏软件。为了满足手机人群的需求,本文设计了这款手机版的五子棋游戏软件,可以供人们闲暇时间随时随地地进行娱乐,提高自己的五子棋水平,实用性强。本课题要研究在ANDROID手机上开发一款人机对战模式的五子棋游戏。游戏界面部分凭借ANDROID平台提供的非常完美的控件和精美的布局框架设计出个内容清楚、指示明白、屏幕美观和有亲切感的游戏界面。在人机对战中通过极大极小树原理、深度搜索方法、剪枝方法等理论来模拟一个运行效率快,具有一定智能的对手来同游戏玩家一较高下。此外,本软件还必须具备如下基本功能显示一个十五行十五列的五子棋棋盘。在棋盘上而对应位置通过触屏点击下子,棋盘上将在相应的位置上显示棋子,并且棋子在纵横交点上。可以自动判断游戏是否结束,判断胜负,是否黑方或名内方已经胜出,并且通过提示信总来提醒玩家。在游戏上方会有一个游戏信息,这个游戏信息是用来提示当前游戏状态和当前是黑白双方的哪一方下子,玩家可以根据这个提示来相成的下棋,而不会导致不清楚轮到哪一方下棋的情况出现。可以重新开始游戏,悔棋,音乐的功能。要有游戏介绍界面。12国内发展状况我国拥有庞大的手机用户群体,为游戏产业的发展奠定了良好的用户基础。手机游戏的真正生命力,是成为最终吸引用户的关键所在。通过色彩艳丽的画面或奇特的游戏名称来吸引用户。3G手机游戏开发周期相对比较短,资金投入小,用户广泛统一;载体方便,很容易在市场上推广;如需收费,也合理方便。游戏可以锻炼思维及协调能力,能使我们注意力和耐心有所提高,培养我们的逻辑思维能力,对智力以及记忆力都很有帮助。13开发工具简介131ANDROID操作系统随着多年的发展,第三代数字通信3G技术获得了广泛的接受,它能够为移动终端用户带来更快的数据传输速率。而且随着3G网络的使用,移动终端将是通讯网络的终端以及互联网的终端。所以,移动终端的应用软件以及需要的服务能够拥有很大的发展空间。包括中国移动、摩托罗拉在内的三十多家技术和无线应用的领军企业与GOOGLE组成的开发联盟为此在2007年11月推出了一个专为移动设备设计的软件平台ANDROID。ANDROID一词的本义指“机器人”,同时也是GOOGLE于2007年11月5日宣布的基于LINUX平台的开源手机操作系统的名称,该平台由操作系统,中间件,用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。ANDROID最大特点在于它是一个开放的体系架构,具有非常好的开发和调试环境,而且还支持各种可扩展的用户体验,ANDROID里面具有非常丰富的图形系统,对多媒体的支持功能和非常强大的浏览器。132ANDROID平台相比于其他平台的优势对于SYMBIAN来说,它存在着一些致命的缺点诺基亚、索尼爱立信等传统的手机厂商是SYMBIAN的主导者,所以SYMBIAN尽管比较成熟,但它还给人浓烈的保守思想感觉,应用软件与我们日常的电脑端软件相比,有着较大的理念差异。另外给人感觉不紧密的便是SYMBIAN和互联网联合,只是将互联网的应用更多的作为陪衬而已。ANDROID平台却相反,最重要的应用便是移动互联网,系统内核、应用软件,硬件设计,几乎都是围绕着移动互联网应用所展开的,同时ANDROID与PC平台有着先天的基因联系,可以很好的实现与PC设备的信息互享,容易获得用户的广泛认可。对于IPHONE来说,它仅仅是苹果公司的封闭平台,用户无法在IPHONE中自定义安装应用,所有的东西都基本上是苹果自行设计制造,使得利润不被第三方分享。苹果自己为IPHONE开发了嵌入系统和完整的应用,不过它不宣扬IPHONE的软件设计,而是将IPHONE作为一个包含软硬件卖点的手机产品出售。IPHONE的大获成功是因为苹果式的奢华与时尚,甚至成为了手机市场的风向标。相反,ANDROID在走完全开放的道路,这种模式的巨大优点就是自由软件高度活跃,错误快速修正,新应用、新创意可以不断出现。ANDROID平台的另外一个优势是标准化和跨平台。133ANDROID开发环境介绍ANDROID的上层应用程序是用JAVA语言开发,同时还需要基于DALVIK虚拟机,所以,GOOGLE公司推荐使用主流的JAVA继承开发环境ECLIPSE。只有ECLIPSE还不够,因为是使用JAVA语言进行开发,还应该由SUN公司提供的JAVASDK(其中包括JREJAVARUNTIMEENVIROMENT)。此外,ANDROID的应用程序开发和JAVA开发有较大区别,所以需要有GOOGLE提供的ANDROIDSDK。同时,还需要在ECLIPSE安装ADT,为ANDROID开发提供开发工具的升级或者变更,是ECLIPSE下开发工具的升级下载的工具。(1)JAVASDK(2)ECLIPSE(3)ANDROIDSDK(4)ADT134ANDROID开发平台搭建(1)JDK下载JDK,按照安装提示一步一步走。设置环境变量步骤如下1我的电脑属性高级环境变量系统变量中添加以下环境变量2JAVA_HOME值为DPROGRAMFILESJAVAJDK你安装JDK的目录3CLASSPATH值为JAVA_HOMELIBTOOLSJARJAVA_HOMELIBDTJARJAVAHOMEBIN4PATH在开始追加JAVA_HOMEBIN5NOTE前面四步设置环境变量对搭建ANDROID开发环境不是必须的,可以跳过。安装完成以后,可以在检查JDK是否安装成功。打开CMD窗口,输入JAVAVERSION查看JDK的版本信息。出现类似以下的画面表示安装成功图11JDK安装成功(2)ECLIPSE安装下载ECLIPSEJAVAGALILEOWIN32解压后直接安装就可以使用(3)ANDROIDSDK安装下载ANDROIDSDK_R12WINDOWS,下载完成后解压到D盘运行SDKSETUPEXE,点击AVAILABLEPACKAGES。如果没有出现可安装的包,请点击SETTINGS,选中MISC中的“FORCEHTTPS/“这项,再点击AVAILABLEPACKAGES;选择希望安装的SDK及其文档或者其他包,点击INSTALLATIONSELECTED、ACCEPTALL、INSTALLACCEPTED,开始下载安装所选包在用户变量中新建PATH值为ANDROIDSDK中的TOOLS绝对路径(本机为DANDROIDDEVELOPANDROIDSDKWINDOWSTOOLS)“确定”后,重新启动计算机。重启计算机以后,进入CMD命令窗口,检查SDK是不是安装成功。运行ANDROID_H如果有类似以下的输出,表明安装成功图12验证ANDROIDSDK是否安装成功(4)ADT安装打开ECLIPSEIDE,进入菜单中的“HELP“INSTALLNEWSOFTWARE“点击ADD按钮,弹出对话框要求输入NAME和LOCATIONNAME自己随便取,LOCATION输入HTTP/DLSSLGOOGLECOM/ANDROID/ECLIPSE。如下图所示图13ADT设置确定返回后,在ORKWITH后的下拉列表中选择我们刚才添加的ADT,我们会看到下面出有DEVELOPERTOOLS,展开它会有ANDROIDDDMS和ANDROIDDEVELOPMENTTOOL,勾选他们。如下图所示图14添加ADT然后就是按提示一步一步NEXT。完成之后选择WINDOWPREFERENCES在左边的面板选择ANDROID,然后在右侧点击BROWSE并选中SDK路径,本机为DANDROIDDEVELOPANDROIDSDKWINDOWS点击APPLY、OK。配置完成。(5)创建AVD为使ANDROID应用程序可以在模拟器上运行,必须创建AVD。1在ECLIPSE中。选择WINDOWSANDROIDSDKANDAVDMANAGER2点击左侧面板的VIRTUALDEVICES,再右侧点击NEW3填入NAME,选择TARGET的API,SDCARD大小任意,SKIN随便选,HARDWARE目前保持默认值4点击CREATEAVD即可完成创建AVD以上就完成了ANDROID开发环境的搭建。135ANDROID的功能特征ANDROID系统在其开放性的基础上,引入了很多由软件和硬件实现的实用功能,在方便人们使用的同时,也给了开发者广阔的空间。下面是其中的一些重要的功能特性。数据存储ANDROID提供了SHAREDPREFERENCES、CONTENTPROVIDER、文件、SQLITE数据库和网络等多种方式来存储数据。通信网络ANDROID操作系统支持所有的网络格式,包括GSM/EDGE、IDEN、CDMA、EVDO、UMTS、BLUETOOTH、WIFI、LTE、NFC和WIMAX等。信息ANDROID操作系统原生支持短信和邮件,并且支持所有的云端信息和服务器信息。语言ANDROID操作系统支持多语言。浏览器ANDROID操作系统中内置的网页浏览器基于WEBKIT内核,并且采用了CHROMEV8引擎。在ANDROID40内置的浏览器测试中,HTML5和ACID3故障处理中均获得了满分。支持JAVA虽然ANDROID操作系统中的应用程序大部分都是由JAVA编写的,但是ANDROID却需要转换为DALVIK执行文件,在DALVIK虚拟机上运行。由于ANDROID中并不自带JAVA虚拟机,因此无法直接运行JAVA程序。不过ANDROID平台上提供了多个JAVA虚拟机供用户下载使用,安装了JAVA虚拟机的ANDROID系统可以运行J2ME的程序。多媒体ANDROID操作系统本身支持以下格式的音频/视频/图片媒体WEBM、H263、H264(IN3GPORMP4CONTAINER)、MPEG4SP、AMR,AMRWB(IN3GPCONTAINER)、AAC、HEAAC(INMP4OR3GPCONTAINER)、MP3、MIDI、OGGVORBIS、FLAC、WAV、JPEG、PNG、GIF、BMP。流媒体ANDROID操作系统支持RTP/RTSP(3GPPPSS,ISMA)的流媒体以及(HTML5)的流媒体,在安装了REALPLAYER之后,还支持苹果公司的流媒体。外围设备ANDROID操作系统支持识别并且使用视频/照片摄像头、多点电容/电阻触摸屏、GPS、加速计、陀螺仪、气压计、磁强计、键盘、鼠标、U盘、专用的游戏控制器、体感控制器、游戏手柄、蓝牙设备、无线设备、感应和压力传感器、温度计、2D和3D图形加速等。多点触控ANDROID内核支持原生的多点触摸。多任务处理ANDROID操作系统支持原生的多任务处理。语音功能除了支持普通的电话通话之外,ANDROID操作系统从最初版本就支持使用语音进行网页搜索等功能。而从ANDROID22开始,语音还可以用来输入文本、实现语音导航等功能。无线共享功能ANDROID操作系统支持用户使用本机充当无线路由器,并且将本机的网络共享给其他手机,其他机器只需要通过WIFI寻找到共享的无线热点,就可以上网。截图功能从ANDROID40版本开始,ANDROID操作系统便支持截图功能,该功能允许用户直接抓取手机屏幕上的任何画面,用户可以通过编辑功能对截图进行处理,还可以通过蓝牙、EMAIL、微博等方式共享给其他用户或者上传到网络上,也可以复制到计算机中。GOOGLENOWGOOGLENOW是ANDROID41的一个新功能,这个功能可以根据搜索历史或者日历以及其他更多数据来预测出用户想要的到底是什么,并在指定的时间或者地点进行搜索并提出反馈建议。比如当用户有一个新的日历预约,GOOGLE将利用各种信息(交通数据、地图、公交换乘)来帮助用户准时到达预约地点;如果用户搜索了一个航班信息,GOOGLE将会持续通知这个航班的动态更新;甚至还可以跟踪一个球队的表现情况。ANDROIDBEAM功能ANDROIDBEAM优化了近场通信以及蓝牙分享功能。SMARTAPPUPDATESSMARTAPPUPDATES是一种智能型的应用更新模式,应用程序在更新时不需要下载整个APK,只需要下载修改的部分即可,这样更节省流量。136数据存储简介SHAREDPREFERENCES存储方式,它是ANDROID提供的用来存储一些简单配置信息的一种机制,例如登录用户名和密码。其采用了MAP数据结构来存储数据,以键值的方式存储,可以简单的读取与写入。最高纪录则用此存储方式进行存储。SQLITE存储方式,它是ANDROID平台上集成的一个嵌入式关系型数据库。SQLITE3支持NULL、INTEGER、REAL(浮点数字)、TEXT字符串文本和BLOB二进制对象数据类型,虽然它支持的类型虽然只有五种,但实际上SQLITE3也接受VARCHARN、CHARN、DECIMALP,S等数据类型,只不过在运算或保存时会转成对应的五种数据类型。SQLITE最大的特点是你可以保存任何类型的数据到任何字段中,无论这列声明的数据类型是什么。例如可以在INTEGER字段中存放字符串,或者在布尔型字段中存放浮点数,或者在字符型字段中存放日期型值。但有一种情况例外定义为INTEGERPRIMARYKEY的字段只能存储64位整数,当向这种字段中保存除整数以外的数据时,将会产生错误。另外,SQLITE在解析CREATETABLE语句时,会忽略CREATETABLE语句中跟在字段名后面的数据类型信息。14系统运行配置操作系统ANDROID21以上。开发包JDK16、ANDROIDSDK。数据存储SHAREDPREFERENCES、SQLITE。2五子棋手机游戏概述21五子棋游戏简介五子棋是一种两人对弈的纯策略型棋类游戏,是起源于中国古代的传统黑色棋种之一。发展于日本,流行于欧美。22手机游戏的优点221庞大的潜在用户群现在全球有着超过十亿部移动电话在被使用,而且这个数字还一直在増加。在除了美国之外的任何一个发达国家,拥有手机的人数要比拥有计算机的人数还要多很多。虽然支持JAVA游戏的手机是小部分,但是这个数目正在快速地提高而且在几年内ANDROID手机将要成为行业标准。对于移动游戏潜在的市场而言,ANDROID平台与其它平台比如PLAYSTATION和GAMEBOY相比要大的多。222便携性GAMEBOY比其他任何控制台游戏卖出的多的一个原因就是其的便携性。与现在的游戏控制台或个人电脑相比,手机可能不是一个好的游戏设备,但是人们基本上是随时随地都把它们带在身边,在人们离开家或者想玩的时候,可以不受任何时间地点限制地玩自己选择的游戏。223支持网络因为移动电话是网络设备,所以可以实现多人游戏。23五子棋术语黑方执黑棋一方的简称。白方执白棋一方的简称。胜局有一方获胜的对局。和局分不出胜负的对局。终局对局结束。阳线棋盘上可见的纵线和直线。阴线棋盘对角线及与对角线平行的隐形斜线。线阳线和阴线统称为线。交叉点纵、横阳线的交点,简称“点”。落子棋子直接落于棋盘的空白交叉点上。也称“下子”和“着子”轮走方即“行棋方”,交替落子的过程中轮到落子的一方。着在对局过程中,行棋方每一次落子均被视为一着。回合双方各走一着,称为一个回合。开局在对局开始阶段形成的布局。一般指前3手棋形成的局面。连2枚以上的同色棋子在一条线上邻接成串。五连五枚同色棋子在一条线上邻接连串。长连五枚以上同色棋子在一条线上邻接成串。成五五连和长连的统称。威胁下一手可以成五或者活四的点。四五连去掉1子的棋型。活四有两个威胁的四。冲四只有一个威胁的四。死四不能成五的四连。三可以形成四再形成五的三枚同色棋子组成的棋型。活三再走一着可以形成活四的三。连活三两端都是威胁的活三。简称“连三”。跳活三中间夹有一个威胁的活三。简称“跳三”。死三不能成五的三。二可以形成三、四直至五的两枚同色棋子组成的棋型。活二再走一着可以形成活三的二。眠三再走一着可以形成冲四的三。连活二连的活二。简称“连二”。跳活二中间隔有一个空点的活二。简称“跳二”。大跳活二中间隔有两个空点的活二。简称“大跳二”。眠二再走一着可以形成眠三的二。死二不能成五的二。先手对方必须应答的着法,相对于活三先手而言,冲四称为“绝对先手”。三三一子落下同时形成两个活三。也称“双三”。四四一子落下同时形成两个冲四。也称“双四”。四三一子落下同时形成一个冲四和一个活三。3ANDROID的系统研究31ANDROID简介ANDROID是基于LINUX内核的操作系统,是GOOGLE公司在2007年11月5日公布的手机操作系统,早期由GOOGLE开发,后由幵放手持设备联盟OPENHANDSETALLIANCE幵发。ANDROID系统具有开放性、应用程序无界限、应用程序是在成活平等的条件创建的、应用程序可以轻松地嵌入网络和应用程序可以并行运行等特点。ANDROID的系统架构共分为4层,由高到低分别是应用层、应用框架层、系统运行库层和LINUX内核层。从技术角度而言,ANDROID与IPHONE相似,釆WEBKIT浏览器引擎,具备触摸屏、高级图形显示和上网功能,用户能够在手机上查收邮件,搜索网址和观看视频节目等。ANDROID比IPHONE等其它手机更强调搜索功能,界面更强大,可以说是一种融入了全部WEB应用的平台。随着版木的更新,从最初的触屏到现在的多点触摸,从普通的联系人到现在的数据同步,从简单的GOOGLEMAP到现在的导航系统,从基本的网页浏览到现在的HTML5,这都说明ANDROID己经逐渐稳定,而且功能越来越强大。此外,ANDROID平台不仅支持JAVA、C、C等主流的编程语言,还支持RUBY、PYTHON等脚本语言,甚至GOOGLE专为ANDROID的应用开发了SIMPLE语言,这使得ANDROID有着非常广泛的开发群体。ANDROID应程序由四个模块构造而成ACTIVITY,INTENT,CONTENTPROVIDER,SERVICE。当然也不是每个ANDROID应用程序都必须由这四部分组成,可以根据幵发者的需求进行组合。但是任何一个应用程序模块都必须在ANDROIDMANFESTXML文件中声明使用到的这些模块。ACTIVITY是最基本的模块。我们称之为“活动”。简申理解,ACTIVITY代表一个用户所能看到的屏幕,主要用于处理应用程序的整体性工作,例如,监听系统事件(按键事件、触摸屏事件等),为用户显示指定的VIEW,启动其他ACTIVITY等。所有应用的ACTIVITY都继承于ANDROIDAPPACTIVITY类,该类是ANDROID提供的基层类,其他的ACTIVITY继承该父类后,通过父类的方法来实现各种功能,这种设计在其他领域也较为常见。ANDROID用INTENT这个特殊类实现在ACTIVITY与ACTIVITY之间的切换。INTENT类用于描述应用的功能。在INTENT的描述结构中,有两个最重要的部分动作和动作对应的数据。典型的动作类型有MAIN、VIEW、PICK、EDIT等,而动作对应的数据则以URI的形式表示。数据是应用的核心。在ANDROID屮,默认使用鼎鼎大名的SQLITE作为系统数据库。但是在ANDROID中,使用方法有点小小的不一样。在ANDROID中,每一个应用都运行在各自的进程中,当一个应用需要访问其他应用的数据时,也就是数据需要在不同的虚拟机之间传递,这样的情况操作起来可能有些困难(正常情况下,你不能读取其他成用的DB文件,CONTENTPROVIDER正是用来解决在不同的应用包之间共亨数据的工具。SERVICE即“服务”的意思,既然是服务,那么SERVICE将是一个生命周期长而且没有用户界面的程序。比如一个正在从播放列表中播放歌曲的媒体播放器,在这个媒体播放器应用屮,应该会有多个ACTIVITY,让使用者可以选择歌曲并播放歌曲。然而,音乐重放这个功能并没有对应的ACTIVITY,因为使用者会认为在导航到其他屏幕时音乐应该还在播放。在这个例子屮,媒体播放器这个ACTIVITY会使CONTEXTSTARTSERVICE来启动一个SERVICE,从而可以在后台保持音乐的播放。同时,系统也将保持这个SERVICE直执行,直到这个SERVICE运行结束。另外,我们还可以通过使用CONTEXTBINDSERVICE方法连接到一个SERVICE上如果这个SERVICE当前还没有处于启动状态,则将启动它)。当连接到一个SERVICE之后,还可用SERVICE提供的接口与它进行通讯。以媒体播放器为例,我们还可以执行暂停、重播等操作。32ANDROID的构架321ANDROID构架综述ANDROID是一个包括操作系统,中间件以及一些重要应用程序的专门针对移动设备的层次结构的软件集。作为一个层次结构的软件集,一定有一个层次的系统构架,下图为ANDROID的构架图图21ANDROID系统构架从图21中明显的可以看出该系统从下到上包括LINUX内核层、LIBRARIES和运行时环境层、应用程序框架层、应用程序层四层结构。在ANDROID的最下层的操作系统基于LINUX26内核,往上的中间件包括LIBRARIES和运行时环境层和应用程序框架层两个层次,最上层则是应用程序层。在ANDROID构架中,可以很明显的看到,底层的LINUX内核则采用的是C语言,LIBRARIES采用C或者C,但是应用程序层、应用程序框架层和运行时环境中的ANDROID核心库采用JAVA语言编写,也就是说ANDROID虽然底层用的是C或者C但是应用程序的开发则用的是JAVA。GOOGLE采用这样的模式可能是因为相对于C或者C,JAVA的开发周期更短的缘故,这样的话就能在短时间内为ANDROID提供大量的应用软件。我们知道,作为一个智能手机平台,只有拥有了大量的源源不断的应用程序作为支持,才能受人们的欢迎,从而才能占领市场。之前NOKIA的S60第三版就是一个很好的例子,因此NOKIAS60V3的系统才被世人所熟知,并且曾经在智能手机行业占有很大的市场。而另一个例子就是LINUX系统,在所有操作系统中,稳定性和性能上能够和LINUX抗衡的系统不多吧,但是在智能手机市场上为什么LINUX却可以说是一败涂地,其原因也和其第三方应用少是脱不了关系的。322ANDROID应用程序框架层应用程序框架层是处于ANDROIDRUNTIME和库函数层于应用程序层之间,该层使用开发语言的是JAVA语言。应用程序框架是能够让开发者完全访问核心应用程序所使用的API(APPLICATIONPROGRAMMINGINTERFACE,应用程序编程接口),该框架能够让组件软件重用的工做简单化。同时该框架中的任何一个功能模块都是等价的,任何一个应用程序都可以发布其功能模块,该功能模块可以替代当前的任意一个功能模块,但前提是必须遵循框架的安全限制,另外,其他的任意应用程序能够使用这个发布的功能模块。这样的设计就使ANDROID的构件重用率提高了。在每一个应用程序背后,应用程序框架为其提供了一系列的服务。这些服务包括一个丰富并且可扩展的视图,通过这个视图我们可以使用它提供的一些包括按钮、文本框、列表、网格等甚至可嵌入的WEB浏览器的应用程序来构造我们的应用程序。内容提供器(CONTENTPROVIDERS),有了内容提供器,一个应用程序可以共享它自己的数据或者访问另外一个应用程序中共享的数据。资源管理器(RESOURCEMANAGER),使用资源管理器,我们在应用程序中能够访问到一些如图形、布局文件等一些非代码资源。通知管理器(NOTIFICATIONMANAGER),给程序员提供了一个可以在程序状态栏中显示自定义提示信息的管理器。活动管理器(ACTIVITYMANAGER),提供常用导航功能用来管理应用程序生命周期的服务。通过这些应用程序框架层提供的服务程序员能够方便的开发一个界面优秀功能强大易于共享的的应用程序。323ANDROID应用程序层应用程序层包括了如名片管理、GOOGLEMAPS、浏览器等本地应用程序(NATIVEAPPS),如QQ、MSN、QUICKOFFICE等第三方应用程序(THIRDPARTAPPS),以及DEVELOPERAPPS。同样,该层的应用程序也都使用JAVA语言进行开发的。4需求分析41系统需求手机屏幕尺寸分为物理尺寸和显示分辨率两个概念。物理尺寸是指屏幕的实际大小。大的屏幕同时,要配备高的分辨率,也就是在这个尺寸下可以显示多少个像素,显示的像素越多,可以表现的余地自然就越大。现在手机行业发展迅速,不同大小屏幕的手机迅速发展,鉴于不同手机屏幕尺寸不同,在设计游戏的时候必须满足软件的界面简洁明了,操作简单容易。软件具有的人工智能算法原理要简单并且运行要快速。游戏是需要快速反应的,手机处理器的频率直接要求需要使用简单实用的智能算法。在设计本游戏时考虑到用户需要的是一个操作简便,界面简单的游戏软件。操作人机部分,要考虑到此软件是在手机上运行,手机的很多性能都不如电脑,因此在人工智能算法的设计上应该在尽可能的缩短系统搜索时间的同时还要保证要有一定的智能水平,不然对玩家来说没有一定的挑战性,也就缺少了吸引力。此外,通过软件功能的分析,根据五子棋爱好者的需求,得出还有如下需求信总具有重新开始功能的;具有悔棋功能;具有退出游戏的功能;具有判断胜负的功能;本次设计主要是设计一个能够在ANDROID手机上运行的五子棋游戏。根据一般玩手机游戏的流程,玩家一般是先进入一个欢迎界面,进行选择操作后再进入游戏的主界面开始游戏。本游戏软件也将遵循该流程,玩家打开游戏软件后将先进入欢迎界面,选择游戏模式,然后进入游戏的主界面开始游戏。进入游戏的主界面后,系统将根据玩家所选的游戏模式给玩家设置对手玩家。游戏过程中,玩家也可以进行悔棋等操作。42功能需求五子棋分为五个模块开始游戏、游戏说明、作者介绍、游戏设置、退出游戏。1开始游戏点击进入游戏。2游戏说明五子棋游戏规则的说明及操作说明。3作者介绍纪录作者姓名,班级,学号,邮箱。4游戏设置难度设置简单,困难。5退出游戏退出游戏。43性能需求1硬件环境PC2软件环境WINDOWSXP、ANDROID21以上44可行性研究441经济可行性该软件为免费软件,不收取任何费用。开发周期相对较短,能有效的利用开发人员。442技术可行性运用ANDROID智能手机的平台,开发人员具有一定的ANDROID知识,熟悉的算法基础。智能手机拥有扎实的硬件平台以及较好的操作系统;该游戏能在手机上正常运行;操作简单,方便,为游戏玩家提供了一个良好的游戏平台。5概要设计51系统功能结构及流程图根据系统功能的要求,可以将系统分解成几个功能模块来分别设计。系统结构如图51所示图51系统结构图ANDROID五子棋开始游戏游戏说明作者介绍游戏设置退出游戏52数据存储设计根据系统所做的需求分析和系统设计,SHAREDPREFERENCES为最有效的存储方式。它用来存储一些简单配置信息的一种机制,比SQLITE更高效。有时应用程序有少量的数据需要保存,而且这些数据的格式很简单,都是普通的值,比如应用程序的各种配置信息如是否打开音效,是否使用振动效果等,小游戏的玩家积分等,对于这种数据,就可以采用SHAREDPREFERENCES保存的数据并且它主要是类似于配置信息格式的数据,因此它保存的数据主要是简单类型的KEYVALUE对。6详细设计系统详细设计是对每个模块功能的具体设计,包括界面、功能模块和设计要点等内容。61主界面详细设计游戏主界面如图61所示图61游戏主界面点击开始游戏时,可直接进入游戏;游戏简介为相关的介绍以及游戏操作;关于作者记录作者信息;游戏设置为设置游戏难度;退出游戏为退出整个游戏。主要就是界面之间的跳转,代码比较简单PUBLICCLASSACCESSACTIVITYEXTENDSACTIVITYPRIVATEBUTTONBTN_STARTPRIVATEBUTTONBTN_TUICHUPRIVATEBUTTONBTN_DIFFPRIVATEBUTTONBTN_ABOUTGAMEPRIVATEBUTTONBTN_ABOUTHERPUBLICVOIDONCREATEBUNDLESAVEDINSTANCESTATESUPERONCREATESAVEDINSTANCESTATE/隐藏标题栏/REQUESTWINDOWFEATUREWINDOWFEATURE_NO_TITLE/设置界面视图把主页面显示出来SETCONTENTVIEWRLAYOUTACCESSBTN_TUICHUBUTTONFINDVIEWBYIDRIDBTN_TUICHUBTN_STARTBUTTONFINDVIEWBYIDRIDSTARTBTN_DIFFBUTTONFINDVIEWBYIDRIDDIFFICULTYBTN_ABOUTGAMEBUTTONFINDVIEWBYIDRIDABOUTGAMEBTN_ABOUTHERBUTTONFINDVIEWBYIDRIDABOUTAUTHORBTN_STARTSETONCLICKLISTENERNEWONCLICKLISTENEROVERRIDEPUBLICVOIDONCLICKVIEWV/TODOAUTOGENERATEDMETHODSTUBINTENTINTENTNEWINTENTACCESSACTIVITYTHIS,GOBANGCLASSINTENTPUTEXTRA“DEGREE“,1STARTACTIVITYINTENTBTN_ABOUTGAMESETONCLICKLISTENERNEWONCLICKLISTENEROVERRIDEPUBLICVOIDONCLICKVIEWV/TODOAUTOGENERATEDMETHODSTUBSTARTACTIVITYNEWINTENTACCESSACTIVITYTHIS,ABOUTGAMEACTIVITYCLASSBTN_ABOUTHERSETONCLICKLISTENERNEWONCLICKLISTENEROVERRIDEPUBLICVOIDONCLICKVIEWV/TODOAUTOGENERATEDMETHODSTUBSTARTACTIVITYNEWINTENTACCESSACTIVITYTHIS,ABOUTAUTHORCLASSBTN_DIFFSETONCLICKLISTENERNEWONCLICKLISTENEROVERRIDEPUBLICVOIDONCLICKVIEWV/TODOAUTOGENERATEDMETHODSTUBSTARTACTIVITYNEWINTENTACCESSACTIVITYTHIS,DIFFACTIVITYCLASSBTN_TUICHUSETONCLICKLISTENERNEWONCLICKLISTENEROVERRIDEPUBLICVOIDONCLICKVIEWVSHOWEXITGAMEALERT/结束当前ACTIVITYPRIVATEVOIDSHOWEXITGAMEALERT/FINALALERTDIALOGDLGNEWALERTDIALOGBUILDERTHISCREATEFINALBUILDERDLGNEWALERTDIALOGBUILDERTHISDLGSETTITLE“温馨提示“DLGSETMESSAGE“确定退出吗“DLGSETICONRDRAWABLEIC_LAUNCHERDLGSETPOSITIVEBUTTON“确定“,NEWDIALOGINTERFACEONCLICKLISTENERPUBLICVOIDONCLICKDIALOGINTERFACEDIALOG,INTWHICHBUTTONSETRESULTRESULT_OK/确定按钮事件SYSTE

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论