基于android平台的中国象棋对战游戏本科毕业设计(论文)(编辑修改稿)内容摘要:
语言 来开发Android 应用程序 ,因而受到众多开发者的欢迎,成为真正意义上的开放式操作系统。 Android 本身是一个权限分立的操作系统。 在这类操作系统中,每个应用都以唯一的一个系统识别身份运行( Linux 用户 ID 与群组 ID)。 系统的各部分也分别使用各自独立的识别方式。 Linux 就是这样将应用与应用,应用与系统隔离开。 系统更多的安全功能通过权限机制提供。 权限可以限制某个特定进程的特定操作,也可以限制每个 URI 权限对特定数据段的访问。 中国象棋简介 南宋诗人刘克庄 长达 240 字的五言古诗《象弈》 中写到“小艺虽难精,上智有未解。 君看桔中戏,妙不出局外。 屹然两国立,限以大河界。 三十二子者,一一俱变态。 „„ 远砲勿虚发,冗卒要精汰。 „„昆阳以象奔,陈涛以车败。 匹马郭令来,一士汲暗在。 „„ ”,这些语句都很形象生动地 描述了中国象棋 以及棋盘、棋子和着法。 中国象棋发展至今已有二千三、四百年的历史,早在战国时期就有正式的记载,堪称中国的国粹。 中国象棋体现的是一种策略,方寸之间包含天地玄机,人生哲理,使人越是细玩越觉其味悠然深远。 简单的棋规,便捷的载体 ,使得象棋成为雅俗共赏的竞技项目。 然而现在的社会环境下,人们高度依赖于网络,网络 3 上的娱乐方式千变万化,中国象棋在年轻人的心中已渐渐的失去魅力,因此培养人们对国粹中国象棋的兴趣尤为重要。 局域网通讯简介 接入局域网内的终端都会获得一个 IP,因此终端的通讯 就可以以 IP 为桥梁进行传输 ,只需考虑应用层上的实现,无需考虑底层硬件等。 基于 IP 的通讯最基本的就是 Socket 通讯方式, Socket 通讯又根据协议的不同分为 TCP 和 UDP两种方式。 TCP 协议通讯需要维护客户端与服务端之间的连接, UDP 协议则不需进行客 户端和服务端维护,并且不存在客户端和服务端,通讯双方处于对等的状态。 NFC 近场通讯简介 近场通讯( Near Field Communication, NFC),又称近距离无线通讯,是一种短距离的高频无线通讯技术,允许电子设备之间进行非接触式点对点资料传输,在十厘米( 英吋)内,交换资料。 NFC 采用主动和被动两种读取模式。 NFC 的工作模式分为卡模式(完全模拟一张采用 RFID 技术的 IC 卡)和点对点模式(类似于红外和蓝牙实现数据点对点传输)以及读卡器模式(作为非接触读卡器使用,可读取电子标签)。 研究意义 当前 android 市场中的游戏多为单机版的小游戏或者是网络游戏, 单机游戏缺乏互动性,而网络游戏又因为消耗宝贵的上网流量而不太受大家的欢迎,难以推广普及,而局域网对战的游戏则刚好弥补了这两者的不足,即可以和朋友互动娱乐,又不耗费流量。 本软件采用两种通讯方式,即基于 IP 的 Socket 通讯和 NFC近场通讯技术。 传统的 Socket 通讯技术为大家所熟知,也是作为主要的通讯方式进行操作的。 作为近场通讯的 NFC,是比较新颖的技术,其操作的便捷性也深的广大用户的喜爱,因此本软件也部分采用 NFC,增加娱乐性 和便捷性的同时,也可以验证 NFC 通讯技术在 android 手机上的应用。 4 研究现状 Android 系统现状 Android 操作系统最初由 Andy Rubin 开发,最初主要支持 手机。 20xx 年由Google 收购注资,并组建 开放手机联盟 开发改良,逐渐扩展到 平板电脑 及其他领域上。 20xx 年第一季度, Android 在全球的市场份额首次超过 塞班系统 ,跃居全球第一。 20xx 年 2 月数据, Android 占据 全球 智能手机操作系统市场 %的份额, 中国 市场占有率为 %。 Android 操作系 统也在不 断 地 进行更新,添加更多的 新技术支持的 功能,完善已有的功能, android 从开发至今已经历的版本如下: 纸杯蛋糕 ( Android ),甜甜圈 ( Android ), 松饼 ( Android ), 冻酸奶 ( Android ), 姜饼 ( Android ), 蜂巢 ( Android ), 冰激凌三明治 ( Android ),而且新一代的 果冻豆( Android )也即将面世。 局域网 Socket 通讯现状 方便终端之间通讯而开发的 Socket 通信方 法目前发展的臻于完善,大部分的开发语言都能够实现。 常用的 Socket 有两种类型,流式 Socket( SOCK_STREAM)和数据报式 Socket( SOCK_DGRAM)。 流式是一种面向连接的 Socket,针对于面向连接的 TCP 服务应用;数据报式 Socket 是一种无连接的 Socket,对应于无连接的 UDP 服务应用。 NFC 近场通讯技术现状 NFC 近场通讯技术作为一种新兴的技术,从面市之初 就有了快速的发展,不过目前相对而言仍处于初级阶段,大众并不是很熟悉,不过越来越多的手机终端开发使用了支持 NFC 功 能的芯片和手机,使得这一技术可以很快的被大家应用接受。 为了推动 NFC 的发展和普及,飞利浦、索尼和诺基亚创建了一个非赢利性的行业协会 ——NFC 论坛,促进 NFC 技术的实施和标准化,确保设备和服务之间协同合作。 目前, NFC 论坛在全球拥有 70 多个成员,包括:万事达卡国际组织、松下电子工业有限公司、 微软公司 、摩托罗拉公司、 NEC 公司、瑞萨科技公司、 三星公司 、德州仪器制造公司和 Visa 国际组织。 NFC 具有成本低廉、方便易用和更富直观性等特点,这让它在某些领域显得 5 更具潜力 ——NFC 通过一个芯片、一根天线和一些 软件 的组合,能够实现各种设备在几厘米范围内的通信,而费用却是相对比较低廉的。 如果 NFC 技术能得到普及,它将在很大程度上 改变人们使用许多电子设备的方式,甚至改变使用信用卡、钥匙和现金的方式。 但它的目标并非是完全取代蓝牙、 WiFi等其他无线技术,而是在不同的场合、不同的领域起到相互补充的作用。 论文结构 本文详细讲解了 Android 平台上的软件开发,以及与新技术的搭配使用,包括软件开发环境及平台等的搭建,硬 件的介绍,新技术如何在系统中完美的应用。 并根据开发过程中遇到的一 些问题,提出自己的解决办法,提出系统开发中的不足,指明今后的研究方向。 本文共分为六章: 第一章绪论,讲述了 android 操作系统的大环境,以及系统中应 用到的技术和中国象棋的简介等。 第二章中国象棋游戏对战平台架构设计,介绍了平台的运行物理环境媒介以及软件的逻辑设计模型。 第三章中国象棋游戏规则和走法设计,系统全面的介绍了中国象棋游戏的玩法以及代码实现时的设计思路和算法,具体功能的实现等。 第四章中国象棋游戏基于 WIFI 的通讯机制,介绍系统中使用到的无线局域网内部的通讯模式: Socket 通讯方法,以及系统中的实际实现方法和功能。 第五章中国象棋游戏快捷对弈机制,详细介绍了 NFC 近场通讯技术,以及该技术在系统中的应用。 第六章中国象棋游戏对战平台的开发实现, 先介绍了 Android SDK 开发的一些知识,然后融合以上使用的技术,完美实现中国象棋游戏对战平台的开发工作。 第七章总结,总结了中国象棋游戏对战平台的开发,对全文进行概括性的论述。 6 第二章 中国象棋游戏对战平台架构设计 运行平台 中国象棋游戏对战平台是基于 Android 操作系统的应用开发,运行于支持Android 操作系统 以上版本的终端设备上,而目前 Android 操作系统主要运行于手机和平板电脑两大平台之上。 平台的运行需要连接无线网络,即 WIFI,而对于 以 上的操作系统都是支持 WIFI 功能的,因此需要无线路由器来搭建一个无线局域网络,而 Android 系统实现了自建无线网络的功能,就相当于一个路由器,只是作为路由器的终端设备是无线网络的网关,通讯中具有特殊性。 设备的连接如图 21 所示。 图 21 设备连接示意图 图中可以看到,无线路由器、 Android 操作系统平板电脑和 Android 手机均可以作为无线路由器使用,建立无线局域网络,用以使程序进行通讯。 而接入无线局域网络的终端设备有 Android 操作系统平板电脑和 Android 操作系统智能手机两种,具有等 价的运行地位。 由于 Android 设备的屏幕分为标屏和宽屏两种,因此程序设计时需要针对不同的屏幕进行设计,需要准备两套资源文件进行适应,给程序的设计增加了难度。 7 为了减轻开发者开发的难度,本软件只针对采用宽屏标准的终端设备进行设计,对于采用宽屏幕标准的任意分辨率的终端设备都可以正常运行。 中国象棋游戏对战平台架构设计 中国象棋游戏对战平台的开发,目的是实现一个平台,方便玩家在此寻找玩家进行中国象棋对弈,并可以实现最基本的文字聊天功能,系统的逻辑设计模型如下图 22 所示。 图 22 中国象棋游戏 对战平台逻辑模型 8 进入对弈界面采用多种方法相结合来实现的,采用了 NFC 认证快捷进入对弈的机制、基于加速度感应器的快速摇一摇配对、手动配对三种方法。 进入对弈界面的架构设计逻辑模型如图 23 所示。 图 23 进入对弈界面过程逻辑设计模型 图 23 中 B 代表被动接收 NFC 配对信息的终端设备创建新的游戏房间, A代表主动点击 NFC 配对的终端设备进入响应 B 创建的房间; C、 F 代表玩家直接响应已存在的游戏房间, D、 E 代表玩家创建新的游戏房间; 由图可以看出, NFC 快捷配对,只需要玩家一方点击配对按钮,然后双方相互靠近,即可完美实现快速配对;摇一摇配对,开启摇一摇功能后,快速摇晃一下设备,即可快速进入对弈界面,设计原理是:若玩家列表中存在处于“ [等待中 ]”状态的玩家,则配对成功进入游戏对弈,若不存在处于“ [等待中 ]”的玩家,则自己创建一个新的房间,进入“ [等待中 ]”状态;手动配对,点击菜单中的“创建房间”按钮,创建新的游戏房间,进入“ [等待中 ]”状态,点击列表中处于“ [等待中 ]”状态的玩家,即可响应进入对弈。 当处于“ [等待中 ]”状态和“ [闲逛中 ]”配对成功后,“ [闲逛中 ]”状态的玩家也进入游戏对弈界面,然后双方玩家 状态都更新为“ [游戏中 ]”。 9 第三章 中国象棋游戏 规则和走法设计 中国象棋界面设计 界面的设计采用了高级绘图类 SurfaceView, , 其主要优势在于可以再主线程之外开辟新的线程实现线程的刷新,可以防止主线程绘图任务繁重而带来的阻塞问题。 中国象棋对战界面设计图 31 和图 32。 图 31 黑方棋手界面 图 32 红方棋手界面 界面的设计采用 图片资源固定坐标绘制的方法,每隔 100ms 在刷新线程内重新刷新棋盘,实现棋盘的 实时更新。 棋盘上需要更新的数据有棋子的位置、指向当前走棋玩家一方的指针、玩家按下棋盘上某个位置后出现的提示框和红黑双方玩家的总思考时间,棋子位置依靠一个 10*9 的数组来维护,代表每一个坐标是什么棋子,总时间则依靠红黑双方各一个计时线程来实现时间的计算。 对战棋盘的设计思路是:首先创建房间的玩家会自动选择为图 31 的黑方棋手界面,然后进入“ [等待中 ]”状态,等待其他玩家响应进入图 32 的红方棋手界面,具体数据传递如图 33 所示: 10 红方棋手 黑方棋手 创建房间,开启等待线程,等待红方发来开始命令 响应玩 家 B,进入房间,开启线程发送开始命令 线程接收到开始命令,开启走棋信息等待接收线程 开始走棋,发送走棋信息,开启走棋信息等待接收线程 接收到走棋信息,开始走棋,发送走棋信息,开启走棋信息等待接收线程 接收到走棋信息,开始走棋,发送走棋信息,开启走棋信息等待接收线程 图 33 红黑双方数据传递图 棋盘上设置了退出和认输按钮,退出按钮用来退出当前的游戏界面,若当前游戏尚未开始开始,则直接退出,若游戏已开始,则会出现提示信息如下图 34的提示信息进行确认: 图 34 游戏退出提示消 息 进入中国象棋对弈界面后,为了防止玩家非主观的退出游戏,实现了对弈界面下返回键功能被禁止,即对弈界面中只能通过退出按钮进行退出游戏,有效地防止了意外操作带来的结果。 认输按钮用来认输,即玩家若觉得己方以为胜算且不愿意在浪费时间在必输的棋局上,则可以直接认输,结束本局棋,认输只有在当前游戏开始后才是有效 11 的,认输时也会出现如下图 35 的提示信息进行确认: 图 35 游戏认输提示消息 很多人认为应该设计悔棋策略,但俗话说的好“棋场如人生,一着不慎满盘皆输”,生活尚不可后悔,何况棋乎,因此忽略中国象棋的 悔棋功能,但增加点击棋子后的一个显示功能,可以看出玩家是否选择正确,避免点错棋子的意外发生,如下图 36 的提示边框: 图 36 游戏中棋子按下提示边框 认输按钮和退。基于android平台的中国象棋对战游戏本科毕业设计(论文)(编辑修改稿)
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。
用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。