斗兽棋设计论文_第1页
斗兽棋设计论文_第2页
斗兽棋设计论文_第3页
斗兽棋设计论文_第4页
斗兽棋设计论文_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

摘要【摘要】安卓操作系统是近几年来,市场占有率最大的智能手机操作系统。原因是安卓系统基于Linux的自由及开放源代码的操作系统,所以吸引了很多开发爱好者,开发出理想的应用程序。同时,市面上多数的智能手机都配有蓝牙无线连接功能,蓝牙是一个标准的无线通讯协议,基于设备低成本的收发器芯片,传输距离近、底功耗。可以实现固定设备、移动设备、和楼宇个人域网之间的短距离数据交换。因此,安卓和蓝牙一同使用,相同于一台个人电脑连接上了互联网,变的更加有实用性。本文在学习和运用安卓应用程序开发的过程中,设计出一个基于安卓平台上的蓝牙斗兽棋游戏程序。通过已学习的基础Java知识,设计出单人斗兽棋游戏,再通过学习和运用蓝牙无线通讯协议,实现双人蓝牙对战功能,最终设计出一款蓝牙斗兽棋游戏。先明确好游戏运行的环境,然后设计用户界面的布局和用户界面的风格,接着完成代码的编译和优化等工作,最终完成一个风格可爱、操作简单、支持双人联机和适合全年龄向用户娱乐的蓝牙斗兽棋应用程序。【关键词】安卓开发;蓝牙连接;斗兽棋目录1. 引言 11.1. 研发背景 11.2. 研究的目的及意义 12. 安卓操作系统 23. MITAppInventor 24. 蓝牙通讯 45. 应用程序设计概念 45.1. 用户界面设计 45.1.1. 主界面 45.1.2. 在线对战和蓝牙对战 45.1.3. 关于 55.2. 游戏规则 56. 应用程序实现 66.1. 组件介绍 66.2. 程序逻辑思维 76.3. 棋子行走代码块 8结语 17致谢 18参考文献 19 引言安卓是基于Linux的自由及开放源代码的操作系统,主要用于移动设备,如智能手机和平板电脑。安卓的系统框架分为四层,从高到低分别是安卓应用层,安卓应用框架层,安卓系统运行层和Linux内核层。开发人员主要接触的是安卓应用层和安卓应用框架层。其中,安卓应用层都是使用JAVA语言编写的,而安卓应用框架层是编写Google发布的核心应用时所使用的API框架,开发人员同样可以使用这些框架来开发自己的应用,这样便简化了程序开发的架构设计。但是必须遵守其框架的开发原则,该应用程序重用机制也使用户可以方便的替换程序组件,所谓组件就是网格、文本框、按钮等等。研发背景免费的开放平台安卓,引来了无数的开发人员对安卓系统进行开发新型产品,服务大众,同时也为开发人员带来相应的利益,正因如此,网络上也有很多便于开发人员学习和使用的免费安卓开发软件,例如AppInventor、Eclipse、AndroidStudio等,让一些具有开发想法的开发人员通过这些软件,开发出自己理想的应用程序。斗兽棋作为一款经典的棋盘类益智游戏,有不少的人接触过,却因为其本身的某种原因被人们所遗忘,所以开发蓝牙斗兽棋应用程序,其萌化的风格,简单的操作,适合全年龄向的玩家同台竞技。同时可以在空余的时间单人研究战略,和另一名玩家时,可以利用蓝牙无线连接简单快捷地进行配对,实时对战。让人的思维能力变得活跃,对生活充满希望,对将来充满信心。研究的目的及意义通过安卓这个免费的开放平台上,可以充分了解安卓开发中各种各样难以想象的前景和利益。商家在通过自身的想法,确定应用程序的构思,然后设计主要功能的概念和整个应用程序大致的界面,接着大致的界面模块编写和功能模块代码编写,然后进行应用程序Demo的功能和体验,并根据反馈回来的建议,进行修改,再进行用户体验测试,根据测试的结果,再进行修改,再有反馈,再修改,几经修改完善,最终上架到市场,为广大群众提供服务,同时也为自身获取了相应利益的整个过程。本文研究的意义在于通过开发蓝牙斗兽棋应用程序,可以更加熟悉和了解安卓应用程序开发时的开发流程。掌握利用免费的开发平台和安卓所提供的应用程序接口,来实现蓝牙斗兽棋应用程序。安卓操作系统目前智能手机上流行的操作系统有SymbianOS(诺基亚)、AndroidOS(安卓)、WindowsPhone(微软)、IOS(苹果)、Blackberry(黑莓)等。按照源代码、内核和应用环境等的开放程度划分,智能手机操作系统可分为开放型平台(基于Linux内核)和封闭型平台(基于UNIX和Windows内核)两大类。在这次斗兽棋的开发,我们选择安卓操作系统作为斗兽棋的运行环境。选择安卓,是因为安卓基于Linux内核的自由及开放源代码的操作系统。对比与IOS,它是一个封闭的手机操作系统,不像安卓可以随意安装自行开发的应用程序,同时也有很多便于开发安卓应用程序的开发软件。MITAppInventor一提到开发程序,一般人会先联想到一个灰黑色搭配的界面,搭配上五颜六色密密麻麻的字符。稍微了解其中的蕴含以后,可能大部分的人都会觉得代码非常的厉害,可以做出自已想出来的东西。但是却被没有专业的开发知识、需要金钱来学习开发软件的操作和对代码入手方向等待问题所折服。MITAppInventor(下文简称MIT),是由谷歌推出的一款编程工具,这种工具可以让用户更容易地为安卓智能手机编写和理解应用程序的规则。首先使用该工具的人可以拖放代码块,将这些代码块放在一起,这类似于将乐高积木拼合放置在一起。使用这个工具并不需要开发人员有多大的编程本事,只需要开发人员有良好的思维路线,就好比开发人员可以将一个故事从头到尾的发展顺序表达出来,让人能明白这个故事是说什么的,那么使用这个编程工具绝对不是一个问题。最后,拼图完成后,导出APK就可以完成一个个性化的安卓应用程序。缺点则是不能制作代码块过于庞大的应用程序,以及有少量没有或等待加入的代码表达方式,可以说MIT是麻雀虽小却五脏俱全的一款网络在线编程工具。本文将主要利用开发人员为了提高MIT的线上性能而制作出来的一款MIT离线包,通过离线包来实现蓝牙斗兽棋应用程序的开发。AndroidStudioAndroidStudio开发软件界面MIT开发软件界面MIT图标蓝牙通讯蓝牙是无线技术的标准,因为可实现固定设备、移动设备和楼宇个人域网之间的短距离数据交换,所以它分布在电信、计算机、网络、和消费电子等多重领域。正因如此,它有一套商业标准来认证,制造商必须符合蓝牙技术联盟的标准才能以“蓝牙设备”的名义进入市场。蓝牙核心规格提供两个或以上的网络以形成分布式网络,通常发起邀请的一方为服务端,被邀请的一方为客户端。数据传输可随时在服务端和其他客户端之间进行。通过使用跳频技术,将传输的数据分割成数据包,由2402Mhz到2480Mhz的79个指定的蓝牙频道分别传输数据包。本文将通过蓝牙,让一台手机成为服务端,让另外一台手机成为客户端,并连接上成为服务端的手机。通过蓝牙传输数据,来实现2台设备在同一个棋局里相互对战。应用程序设计概念用户界面设计用户界面(UserInterface简称UI),是将枯燥的代码以图形界面的形式展现给用户。所以一个好的用户界面设计在于可以让用户对应用程序有别具一格的印象,不仅如此,还需要用户界面操作之简便、舒适和自由。主界面在主界面可以清晰地看到“在线对战”、“蓝牙对战”、“关于”和“退出”4个选项。点击“在线对战”,就可以进入在线对战界面,在线对战游戏无需连接就可以开始游戏。点击“蓝牙对战”,就可以进入蓝牙对战界面,蓝牙对战必须需要蓝牙连接才能开始游戏。点击“关于”,就可以查看游戏的规则等相关信息。点击“退出”,即关闭应用程序。(如下图5.1.1)在线对战和蓝牙对战在游戏界面,游戏时间开始计时,表示游戏已经开始,默认为红方先动。在线对战中时只有第一步走完才开始计时,玩家可以控制场上的所有兽类。在蓝牙对战时,玩家必须在蓝牙配对成功后,战局时间开始计时时,才可以开始游戏,之后并根据没有猫掌的一方可以移动。在蓝牙对战界面点击“配对”,会出现“房主”和“房员”的选项,如果设备甲选择“房主”,接下来只需要设备乙点击“房员”,再点击“找人”选择设备甲进行配对,游戏时间开始计时代表游戏已经开始。在这之前需要设备甲和乙的蓝牙设备配对成功,才能在找人的界面看到设备甲的房间。(如下图5.1.2)关于图5.1.1图5.1.2图图5.1.1图5.1.2图5.1.3游戏规则斗兽棋棋盘是一个9x7的表格,双方各有8个可移动棋子、3个不可移动陷阱和1个不可移动兽穴,中间两个3x2只有老鼠才可进入的区域,各方每回合只能移动一个兽类,先到达对方兽穴的一方获胜,布局如下图5.2-1所示。击杀和走法规则:1.双方各8个可移动棋子,分别是象、狮、虎、豹、狼、狗、猫、鼠。2.根据大小“象>狮>虎>豹>狼>狗>猫>鼠”来击杀,同类相互击杀。其中鼠只能击杀象,象不能击杀鼠。3.双方棋子每回合每次可以移动一个兽类上下左右其中一个位置。4.任何兽类不能攻击河里的鼠,河里鼠与鼠之间可相互攻击。5.狮和虎只能跳跃2个格子距离的河。图5.2-1图5.2-26.我方兽类如果在陷阱上,任何敌方兽类都可以击杀,如图5.2-1图5.2-2应用程序实现本章节主要描述实现该应用程序的主要代码,从所需用到的组件到实现引用程序的过程。组件介绍在MIT中有多种供开发人员使用的组件,大致分为可视或非可视组件,可视组件是用户可见的,有用户互动、触发等过程。非可视组件是用户看不见的,他们在后台进行着数据交互、信息传输等过程。可视组件:组件名组件类型实现功能垂直布局界面布局实现内部组件自上而下的垂直排列水平布局实现内部组件自左向右的水平排列按钮用户界面用户通过触摸按钮来完成应用中的某些动作标签用来显示文字的组件列表选择框当用户点击时,会显示一个列表供用户选择不可视组件:组件名组件类型实现功能对话框用户界面用于显示警告、消息以及临时性的通知计时器传感器用于以设定的间隔出发计时事件蓝牙客户端通讯连接需要服务端连接成功后,用于接收、发送或共享数据蓝牙服务端用于接收、发送或共享数据给连接成功的客户端程序逻辑思维在应用程序开发阶段,首先要确定好自已要用何种形式何种过程何种判断来决定整个程序的走向,这也是为了避免程序出现一种不必要的判断导致程序运行起来缓慢和造成代码判断出现回路。在本次斗兽棋应用程序开发中,主要用了按钮和数值的判断,来决定棋子的行走规则,每一个格子代表一个按钮。首先玩家点击按钮,触发计时器的判断来声明这是第一次点击,将值写入变量,接着点击下一个按钮,再触发计时器的判断,判断棋子是否可移动,判断完成后再将刚才的变量值重置,再等待下一个目标的点击,从而达到棋子走动的效果。1.蓝牙游戏流程图6.2-1如上图6.2-1,当蓝牙配对成功后,如果先走的一方是客户端那么,客户端就不能点击任何按钮进行移动判断图6.2-12.移动流程如下图6.2-2在可以移动的情况下,首先,用户点击任意一个按钮,如果按钮有值则将值写进判断中,等待下一个值的到来。如果没有值,则将记录值用的变量进行一次初始化,重新等待用户的行为。接着,当第二次点击按钮有效时,就执行移动棋子的过程“l1-9,q1-9”,否则,将所有的判断变量值进行一次初始化。最后,在棋子移动完成后,如胜负已经分出来了,则直接转到胜利界面,并将游戏界面中的棋盘初始化。图6.2-2棋子行走代码块图6.2-2如下图6.3是游戏中出现的变量,第一行左边是控制蓝色方棋子不能移动的变量,右边则是红色方不能移动的变量。第二行开始从左到右分别表示按钮第一目标的动物、第一目标、第一目标动物图片、第二目标动物图片和第二目标,“juese”是蓝牙游戏中出现的服务端和非服务端的变量,“我的变量”这是传输蓝牙游戏玩家移动棋子的表示数据。图6.3其中有些变量将会不断走遍整个应用程序,通过携带数据不断的传递,完成一套流程后,通过重置数据,再一次等待下一个数据的到来,然后再走一次流程如此下去,接下来将陆续分析这些变量在每个过程中图6.3图6.3-1.1如下图6.3-1.1,是棋盘上的第一个按钮,表示一个棋子的位置和值是什么。第一次点击将“dydd”变量设置为这个按钮的值,第二次点击将“图6.3-1.1

如下图6.3-1.2和图6.3-1.3,为当前变量值“dydd”和“dedd”走法合里后,进行棋子的移动。“l1”代表第一行所移动棋子之前的格子,移动后将其里面的属性清空。“q1”则代表第一行棋子应移动到的位置并更改该位置的值。如图6.3-1.4图6.3-1.2图6图6.3-1.4图6.3-1.2图6.3-1.3图6.3-2.1图6.3-2.2图6.3-2.3如下图6.3-2.1、6.3-2.2和6.3-2.3,“zouqi1”和“zouqi2”是通过调用判断棋子走法是否合理的过程,来实现对每一个格子走法的判断。首先格子传递所持的值,传达到图6.3-3.2里面出现的图6.3-2.1图6.3-2.2图6.3-2.3如下图6.3-3.1,是向左走的一个判断过程。按照布局的情况分析,斗兽棋棋盘长7宽9一共63个格子,每个格子都代表着一个数字,从第一行第一个位置开始数,直到最后一个格子一共为63。

图图6.3-3.1

如要移动一个棋子,棋子位于第25个格子,选择棋子“dedd”变量设为25,向右走则是25+1=26,向左走则是25-1=24,向下走则是25+7=32,向上走则是25-7=18。那么该棋子能走的值只有4个。因为过程“zz”只做向左走是否合理的判断,所以大部分的向左走都可以调用该过程进行判断。图6.3-3.2当过了第一个判断之后,就开始判断“dymb”变量值的大小,可以移动则调用刚才图6.3-2.3中的过程让程序自动运行走棋方向的判断,如果不符合规则就提示走法不正确。如下图6.3-3.2,“图6.3-3.2图6.3-3.3如下图6.3-3.3图6.3-3.3

当所有的判断过程走完,就可以将变量设置回初始值状态,然后等待下一次需要变量的数值。(如下图6.3-3.4)图6.3-3.4如下图6.3-4.1是计时器1,作用相当于一个探测器,检测用户对界面做了何种的动作,此部分的代码是判断游戏如果是蓝牙对战界面过来时,则“anflase”将按钮全部禁用,等待玩家找到对手,然后“antrue”图6.3-3.4图图6.3-4.1如下图6.3-4.2,首先,在判断完是何种游戏方式后,开始对屏幕监听时,将变量开始变值前的所有变量初始化一遍,达到避免在判断过程中出现错误。最后,再判断走法正确,则将棋子如本章节的第3点所提到的走法判断进行二次判断,确定棋子移动正确后将变量进行一次初始化,等待下一个值得到来。图6.3-4.2如下图6.3-4.3,是上述计时器1的下部分,如刚才图6.3-2.3图6.3-4.2图6图6.3-4.3如下图6.3-5,当蓝牙配对完成开始游戏后,如果到服务器端走则将接收到“1”的文本,确定服务器端可以移动。移动成功后将移动前后的数据发送给客户端,并将文本“1”一同发送过去。同样如下图6.3-5第三行则中的客户端代码,参照否则中的服务端的代码。图6图6.3-5如下图6.3-6计时器3是位于屏幕顶端的提醒到谁走、开始游戏没的消息。那一方的头像出现猫掌图片,则表示不能走。游戏时间如果是在线对战屏幕,游戏时间不会马上计时,只有第一步走动时才开始计时。如果是蓝牙对战会,计时器将在配对成功之后开始计时,提示用户游戏已经开始,可以开始移动。图6图6.3-6结语现代,无论是通讯方面、购物方面、出行方面、支付方面、娱乐方面,智能终端几乎离不开人们的生活。懂得开发、懂得创兴、懂得市场的人,一个个不断挖掘着应用程序的可能性,所以也激起了我对应用程序开发流程的好奇心。选择这个应用程序作为设计蓝本的时候,我认为互联网肯定会作为我的知识库,让我学习到相关的内容,进而帮助我完成这项设计,开始是从AndroidStudio这款开发平台入手的,开始的布局设计和代码的资料也找的相对齐全。应用程序的界面设计因为画风有问题转变过一次,但该问题在后一个版本的重画画风顺利解决了,利用开发平台也做出了应用程序的雏形。然

温馨提示

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

评论

0/150

提交评论