斗兽棋设计论文资料.docx

上传人:b****6 文档编号:7124814 上传时间:2023-01-20 格式:DOCX 页数:16 大小:1.82MB
下载 相关 举报
斗兽棋设计论文资料.docx_第1页
第1页 / 共16页
斗兽棋设计论文资料.docx_第2页
第2页 / 共16页
斗兽棋设计论文资料.docx_第3页
第3页 / 共16页
斗兽棋设计论文资料.docx_第4页
第4页 / 共16页
斗兽棋设计论文资料.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

斗兽棋设计论文资料.docx

《斗兽棋设计论文资料.docx》由会员分享,可在线阅读,更多相关《斗兽棋设计论文资料.docx(16页珍藏版)》请在冰豆网上搜索。

斗兽棋设计论文资料.docx

斗兽棋设计论文资料

摘要

【摘要】安卓操作系统是近几年来,市场占有率最大的智能手机操作系统。

原因是安卓系统基于Linux的自由及开放源代码的操作系统,所以吸引了很多开发爱好者,开发出理想的应用程序。

同时,市面上多数的智能手机都配有蓝牙无线连接功能,蓝牙是一个标准的无线通讯协议,基于设备低成本的收发器芯片,传输距离近、底功耗。

可以实现固定设备、移动设备、和楼宇个人域网之间的短距离数据交换。

因此,安卓和蓝牙一同使用,相同于一台个人电脑连接上了互联网,变的更加有实用性。

本文在学习和运用安卓应用程序开发的过程中,设计出一个基于安卓平台上的蓝牙斗兽棋游戏程序。

通过已学习的基础Java知识,设计出单人斗兽棋游戏,再通过学习和运用蓝牙无线通讯协议,实现双人蓝牙对战功能,最终设计出一款蓝牙斗兽棋游戏。

先明确好游戏运行的环境,然后设计用户界面的布局和用户界面的风格,接着完成代码的编译和优化等工作,最终完成一个风格可爱、操作简单、支持双人联机和适合全年龄向用户娱乐的蓝牙斗兽棋应用程序。

【关键词】安卓开发;蓝牙连接;斗兽棋

1.引言

安卓是基于Linux的自由及开放源代码的操作系统,主要用于移动设备,如智能手机和平板电脑。

安卓的系统框架分为四层,从高到低分别是安卓应用层,安卓应用框架层,安卓系统运行层和Linux内核层。

开发人员主要接触的是安卓应用层和安卓应用框架层。

其中,安卓应用层都是使用JAVA语言编写的,而安卓应用框架层是编写Google发布的核心应用时所使用的API框架,开发人员同样可以使用这些框架来开发自己的应用,这样便简化了程序开发的架构设计。

但是必须遵守其框架的开发原则,该应用程序重用机制也使用户可以方便的替换程序组件,所谓组件就是网格、文本框、按钮等等。

1.1.研发背景

免费的开放平台安卓,引来了无数的开发人员对安卓系统进行开发新型产品,服务大众,同时也为开发人员带来相应的利益,正因如此,网络上也有很多便于开发人员学习和使用的免费安卓开发软件,例如AppInventor、Eclipse、AndroidStudio等,让一些具有开发想法的开发人员通过这些软件,开发出自己理想的应用程序。

斗兽棋作为一款经典的棋盘类益智游戏,有不少的人接触过,却因为其本身的某种原因被人们所遗忘,所以开发蓝牙斗兽棋应用程序,其萌化的风格,简单的操作,适合全年龄向的玩家同台竞技。

同时可以在空余的时间单人研究战略,和另一名玩家时,可以利用蓝牙无线连接简单快捷地进行配对,实时对战。

让人的思维能力变得活跃,对生活充满希望,对将来充满信心。

1.2.研究的目的及意义

通过安卓这个免费的开放平台上,可以充分了解安卓开发中各种各样难以想象的前景和利益。

商家在通过自身的想法,确定应用程序的构思,然后设计主要功能的概念和整个应用程序大致的界面,接着大致的界面模块编写和功能模块代码编写,然后进行应用程序Demo的功能和体验,并根据反馈回来的建议,进行修改,再进行用户体验测试,根据测试的结果,再进行修改,再有反馈,再修改,几经修改完善,最终上架到市场,为广大群众提供服务,同时也为自身获取了相应利益的整个过程。

本文研究的意义在于通过开发蓝牙斗兽棋应用程序,可以更加熟悉和了解安卓应用程序开发时的开发流程。

掌握利用免费的开发平台和安卓所提供的应用程序接口,来实现蓝牙斗兽棋应用程序。

2.安卓操作系统

目前智能手机上流行的操作系统有SymbianOS(诺基亚)、AndroidOS(安卓)、WindowsPhone(微软)、IOS(苹果)、Blackberry(黑莓)等。

按照源代码、内核和应用环境等的开放程度划分,智能手机操作系统可分为开放型平台(基于Linux内核)和封闭型平台(基于UNIX和Windows内核)两大类。

在这次斗兽棋的开发,我们选择安卓操作系统作为斗兽棋的运行环境。

选择安卓,是因为安卓基于Linux内核的自由及开放源代码的操作系统。

对比与IOS,它是一个封闭的手机操作系统,不像安卓可以随意安装自行开发的应用程序,同时也有很多便于开发安卓应用程序的开发软件。

3.MITAppInventor

一提到开发程序,一般人会先联想到一个灰黑色搭配的界面,搭配上五颜六色密密麻麻的字符。

稍微了解其中的蕴含以后,可能大部分的人都会觉得代码非常的厉害,可以做出自已想出来的东西。

但是却被没有专业的开发知识、需要金钱来学习开发软件的操作和对代码入手方向等待问题所折服。

MITAppInventor(下文简称MIT),是由谷歌推出的一款编程工具,这种工具可以让用户更容易地为安卓智能手机编写和理解应用程序的规则。

首先使用该工具的人可以拖放代码块,将这些代码块放在一起,这类似于将乐高积木拼合放置在一起。

使用这个工具并不需要开发人员有多大的编程本事,只需要开发人员有良好的思维路线,就好比开发人员可以将一个故事从头到尾的发展顺序表达出来,让人能明白这个故事是说什么的,那么使用这个编程工具绝对不是一个问题。

最后,拼图完成后,导出APK就可以完成一个个性化的安卓应用程序。

缺点则是不能制作代码块过于庞大的应用程序,以及有少量没有或等待加入的代码表达方式,可以说MIT是麻雀虽小却五脏俱全的一款网络在线编程工具。

本文将主要利用开发人员为了提高MIT的线上性能而制作出来的一款MIT离线包,通过离线包来实现蓝牙斗兽棋应用程序的开发。

AndroidStudio开发软件界面

MIT开发软件界面

4.蓝牙通讯

蓝牙是无线技术的标准,因为可实现固定设备、移动设备和楼宇个人域网之间的短距离数据交换,所以它分布在电信、计算机、网络、和消费电子等多重领域。

正因如此,它有一套商业标准来认证,制造商必须符合蓝牙技术联盟的标准才能以“蓝牙设备”的名义进入市场。

蓝牙核心规格提供两个或以上的网络以形成分布式网络,通常发起邀请的一方为服务端,被邀请的一方为客户端。

数据传输可随时在服务端和其他客户端之间进行。

通过使用跳频技术,将传输的数据分割成数据包,由2402Mhz到2480Mhz的79个指定的蓝牙频道分别传输数据包。

本文将通过蓝牙,让一台手机成为服务端,让另外一台手机成为客户端,并连接上成为服务端的手机。

通过蓝牙传输数据,来实现2台设备在同一个棋局里相互对战。

5.应用程序设计概念

5.1.用户界面设计

用户界面(UserInterface简称UI),是将枯燥的代码以图形界面的形式展现给用户。

所以一个好的用户界面设计在于可以让用户对应用程序有别具一格的印象,不仅如此,还需要用户界面操作之简便、舒适和自由。

5.1.1.主界面

在主界面可以清晰地看到“在线对战”、“蓝牙对战”、“关于”和“退出”4个选项。

点击“在线对战”,就可以进入在线对战界面,在线对战游戏无需连接就可以开始游戏。

点击“蓝牙对战”,就可以进入蓝牙对战界面,蓝牙对战必须需要蓝牙连接才能开始游戏。

点击“关于”,就可以查看游戏的规则等相关信息。

点击“退出”,即关闭应用程序。

(如下图5.1.1)

5.1.2.在线对战和蓝牙对战

在游戏界面,游戏时间开始计时,表示游戏已经开始,默认为红方先动。

在线对战中时只有第一步走完才开始计时,玩家可以控制场上的所有兽类。

在蓝牙对战时,玩家必须在蓝牙配对成功后,战局时间开始计时时,才可以开始游戏,之后并根据没有猫掌的一方可以移动。

在蓝牙对战界面点击“配对”,会出现“房主”和“房员”的选项,如果设备甲选择“房主”,接下来只需要设备乙点击“房员”,再点击“找人”选择设备甲进行配对,游戏时间开始计时代表游戏已经开始。

在这之前需要设备甲和乙的蓝牙设备配对成功,才能在找人的界面看到设备甲的房间。

(如下图5.1.2)

5.1.3.关于

在任何界面点击关于,可以了解游戏的规则等其他信息。

点击“返回”,则退回相应的界面。

(如上图5.1.3)

5.2.游戏规则

斗兽棋棋盘是一个9x7的表格,双方各有8个可移动棋子、3个不可移动陷阱和1个不可移动兽穴,中间两个3x2只有老鼠才可进入的区域,各方每回合只能移动一个兽类,先到达对方兽穴的一方获胜,布局如下图5.2-1所示。

击杀和走法规则:

1.双方各8个可移动棋子,分别是象、狮、虎、豹、狼、狗、猫、鼠。

2.根据大小“象>狮>虎>豹>狼>狗>猫>鼠”来击杀,同类相互击杀。

其中鼠只能击杀象,象不能击杀鼠。

3.双方棋子每回合每次可以移动一个兽类上下左右其中一个位置。

4.任何兽类不能攻击河里的鼠,河里鼠与鼠之间可相互攻击。

5.狮和虎只能跳跃2个格子距离的河。

6.我方兽类如果在陷阱上,任何敌方兽类都可以击杀,如下图5.2-2。

6.应用程序实现

本章节主要描述实现该应用程序的主要代码,从所需用到的组件到实现引用程序的过程。

6.1.组件介绍

在MIT中有多种供开发人员使用的组件,大致分为可视或非可视组件,可视组件是用户可见的,有用户互动、触发等过程。

非可视组件是用户看不见的,他们在后台进行着数据交互、信息传输等过程。

可视组件:

组件名

组件类型

实现功能

垂直布局

界面布局

实现内部组件自上而下的垂直排列

水平布局

实现内部组件自左向右的水平排列

按钮

用户界面

用户通过触摸按钮来完成应用中的某些动作

标签

用来显示文字的组件

列表选择框

当用户点击时,会显示一个列表供用户选择

不可视组件:

组件名

组件类型

实现功能

对话框

用户界面

用于显示警告、消息以及临时性的通知

计时器

传感器

用于以设定的间隔出发计时事件

蓝牙客户端

通讯连接

需要服务端连接成功后,用于接收、发送或共享数据

蓝牙服务端

用于接收、发送或共享数据给连接成功的客户端

6.2.程序逻辑思维

在应用程序开发阶段,首先要确定好自已要用何种形式何种过程何种判断来决定整个程序的走向,这也是为了避免程序出现一种不必要的判断导致程序运行起来缓慢和造成代码判断出现回路。

在本次斗兽棋应用程序开发中,主要用了按钮和数值的判断,来决定棋子的行走规则,每一个格子代表一个按钮。

首先玩家点击按钮,触发计时器的判断来声明这是第一次点击,将值写入变量,接着点击下一个按钮,再触发计时器的判断,判断棋子是否可移动,判断完成后再将刚才的变量值重置,再等待下一个目标的点击,从而达到棋子走动的效果。

1.蓝牙游戏流程

如上图6.2-1,当蓝牙配对成功后,如果先走的一方是客户端那么,客户端就不能点击任何按钮进行移动判断,必须等服务端移动判断完成后,才可以移动,如此下去,一人一个回合直到决胜负为止。

2.移动流程

如下图6.2-2在可以移动的情况下,首先,用户点击任意一个按钮,如果按钮有值则将值写进判断中,等待下一个值的到来。

如果没有值,则将记录值用的变量进行一次初始化,重新等待用户的行为。

接着,当第二次点击按钮有效时,就执行移动棋子的过程“l1-9,q1-9”,否则,将所有的判断变量值进行一次初始化。

最后,在棋子移动完成后,如胜负已经分出来了,则直接转到胜利界面,并将游戏界面中的棋盘初始化。

6.3.

棋子行走代码块

如下图6.3是游戏中出现的变量,第一行左边是控制蓝色方棋子不能移动的变量,右边则是红色方不能移动的变量。

第二行开始从左到右分别表示按钮第一目标的动物、第一目标、第一目标动物图片、第二目标动物图片和第二目标,“juese”是蓝牙游戏中出现的服务端和非服务端的变量,“我的变量”这是传输蓝牙游戏玩家移动棋子的表示数据。

其中有些变量将会不断走遍整个应用程序,通过携带数据不断的传递,完成一套流程后,通过重置数据,再一次等待下一个数据的到来,然后再走一次流程如此下去,接下来将陆续分析这些变量在每个过程中所经历的环节。

1.如下图6.3-1.1,是棋盘上的第一个按钮,表示一个棋子的位置和值是什么。

第一次点击将“dydd”变量设置为这个按钮的值,第二次点击将“dedd”变量设为该值,然后进行判断。

如下图6.3-1.2和图6.3-1.3,为当前变量值“dydd”和“dedd”走法合里后,进行棋子的移动。

“l1”代表第一行所移动棋子之前的格子,移动后将其里面的属性清空。

“q1”则代表第一行棋子应移动到的位置并更改该位置的值。

如下图6.3-1.4是每一行过程的代码。

2.

如下图6.3-2.1、6.3-2.2和6.3-2.3,“zouqi1”和“zouqi2”是通过调用判断棋子走法是否合理的过程,来实现对每一个格子走法的判断。

首先格子传递所持的值,传达到图6.3-3.2里面出现的过程中,通过找到相应的格子,然后进行格子走法的判断。

3.如下图6.3-3.1,是向左走的一个判断过程。

按照布局的情况分析,斗兽棋棋盘长7宽9一共63个格子,每个格子都代表着一个数字,从第一行第一个位置开始数,直到最后一个格子一共为63。

如要移动一个棋子,棋子位于第25个格子,选择棋子“dedd”变量设为25,向右走则是25+1=26,向左走则是25-1=24,向下走则是25+7=32,向上走则是25-7=18。

那么该棋子能走的值只有4个。

因为过程“zz”只做向左走是否合理的判断,所以大部分的向左走都可以调用该过程进行判断。

当过了第一个判断之后,就开始判断“dymb”变量值的大小,可以移动则调用刚才图6.3-2.3中的过程让程序自动运行走棋方向的判断,如果不符合规则就提示走法不正确。

如下图6.3-3.2,“zz”的整体缩略过程。

如下图6.3-3.3,是应用程序中所有走法的判断过程。

当所有的判断过程走完,就可以将变量设置回初始值状态,然后等待下一次需要变量的数值。

(如下图6.3-3.4)

4.

如下图6.3-4.1是计时器1,作用相当于一个探测器,检测用户对界面做了何种的动作,此部分的代码是判断游戏如果是蓝牙对战界面过来时,则“anflase”将按钮全部禁用,等待玩家找到对手,然后“antrue”开启按钮进行游戏,再判断是否到玩家走棋是就可以移动,否则不能移动。

如果是在线游戏则直接忽略这条判断。

如下图6.3-4.2,首先,在判断完是何种游戏方式后,开始对屏幕监听时,将变量开始变值前的所有变量初始化一遍,达到避免在判断过程中出现错误。

最后,再判断走法正确,则将棋子如本章节的第3点所提到的走法判断进行二次判断,确定棋子移动正确后将变量进行一次初始化,等待下一个值得到来。

如下图6.3-4.3,是上述计时器1的下部分,如刚才图6.3-2.3中的条件都不符合,说明用户操作的走法不正确,弹出提示“只能走一步”,然后将变量初始化。

5.如下图6.3-5,当蓝牙配对完成开始游戏后,如果到服务器端走则将接收到“1”的文本,确定服务器端可以移动。

移动成功后将移动前后的数据发送给客户端,并将文本“1”一同发送过去。

同样如下图6.3-5第三行则中的客户端代码,参照否则中的服务端的代码。

6.如下图6.3-6计时器3是位于屏幕顶端的提醒到谁走、开始游戏没的消息。

那一方的头像出现猫掌图片,则表示不能走。

游戏时间如果是在线对战屏幕,游戏时间不会马上计时,只有第一步走动时才开始计时。

如果是蓝牙对战会,计时器将在配对成功之后开始计时,提示用户游戏已经开始,可以开始移动。

结语

现代,无论是通讯方面、购物方面、出行方面、支付方面、娱乐方面,智能终端几乎离不开人们的生活。

懂得开发、懂得创兴、懂得市场的人,一个个不断挖掘着应用程序的可能性,所以也激起了我对应用程序开发流程的好奇心。

选择这个应用程序作为设计蓝本的时候,我认为互联网肯定会作为我的知识库,让我学习到相关的内容,进而帮助我完成这项设计,开始是从AndroidStudio这款开发平台入手的,开始的布局设计和代码的资料也找的相对齐全。

应用程序的界面设计因为画风有问题转变过一次,但该问题在后一个版本的重画画风顺利解决了,利用开发平台也做出了应用程序的雏形。

然而却遇到了一个无论什么方法都不能实现下去的错误,可能我想用到的编写方案在我的自学能力上有限制,认识到自身能力不足的我陷入了绝望之中,问题也找不到具体的所在范围,这段期间我失落了好一段时间。

最后,在同组成员的帮助下提醒了我,用上了课堂上学过的MITAppInventor开发平台继续了应用程序开发之路,有了先前的失败,加上之前课堂所学习的知识及一些基础编码过程,重新定义了一个新的编写方案。

在组员编写帮助下,成功将应用程序开发了出来

最后本文所开发出来的应用程序,可能起不到什么影响力,但是对我来讲却意义深重。

从入门,到掌握开发平台的操作。

明白了应用程序开发的开发过程,虽然并不全面,但总得来讲是一种深重的体验。

在这个提倡创新发展的社会时代来说,懂得一点开发的思路,并利用像安卓这样的开放性平台,开发出能在市场上有一定占有率的应用程序就非常成功了。

致谢

至此论文完成之时,首先,我要感谢导师周老师表示衷心的感谢,在我的本次毕业设计中,周老师在指导的时候虽然工作比较繁忙,但也腾出了指导的时间。

没有直接为我指明道路,而是给了我很多条道路让我结合自身的实际去选择,为我顺利完成课题坚定了基础。

感谢教过我知识的老师,他们不仅有渊博的知识,还有崇高的道德情操,祝我所有的老师永远健康快乐。

感谢我的组员,在我遇到了本不可逆转的问题时,帮助我化险为夷。

感谢我的同学,他们给予了我帮助和情谊这是我一生的宝藏。

感谢我的母校,给予了我一个浓厚的学习环境,无论是教师还是教学资源。

参考文献

「1」Justinflying.基于Android的中国象棋游戏设计,2014-05

「2」sky魑魅魍魉168.APP开发流程,2014-06

「3」XX百科.Android,2014-12

「4」XX百科.UI,2017-04

「5」XX百科.蓝牙,2015-11-29

「6」老巫婆.蓝牙通信功能实现一个简易的聊天工具,2014-12

「7」老巫婆.AppInventor2017二合一版发布,2017-02

「8」牛海涛.毛澄洁.手机应用开发,2015-03

「9」陈刚.手机美容,2016-07

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 外语学习 > 日语学习

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1