Android的五子棋游戏设计说明书.docx
《Android的五子棋游戏设计说明书.docx》由会员分享,可在线阅读,更多相关《Android的五子棋游戏设计说明书.docx(15页珍藏版)》请在沃文网上搜索。
1、Android的五子棋游戏设计说明书目录绪论2一 、开发概述21、五子棋简介22、手机游戏的优点33、五子棋术语3二、Android的开发环境3三、相关技术概念41、坐标布局(AbsoluteLayout)42、Intent53、AlertDialog64、 相关的算法研究:6四、实现运行情况,以及各个模块的截图111、概要设计:112、游戏主界面:123、新游戏界面:124、 帮助界面125、关于五子棋介绍界面136、 五子棋的退出:14五、总结14绪论 智能手机(Smartphone),具有独立的操作系统,像个人电脑一样支持用户自行安装软件、游戏等第三方服务商提供的程序,并通过此类程序不断
2、对手机的功能进行扩充,同时可通过移动通讯网络来实现无线网络接入。目前,全球多数手机厂商都有智能手机产品,而芬兰诺基亚、美国苹果、加拿大RIM(黑莓)、美国摩托罗拉、中国台湾宏达(htc)更是智能机中的佼佼者。智能手机具有五大特点:1. 具备了无线接入互联网的能力,即要有GSM的支持网络下的GPRS或者是CDMA网络支持下的CDMA 1X或3G网络。2. 人性化,可以根据个人需要扩展机器的功能。3. 它是具有开放性的操作系统,还可以安装非常多的应用程序,使得智能手机的功能可以得到无限的扩展。4. 具有PDA功能,其中包括个人信息管理、日程记事、任务安排、多媒体应用、浏览网页。5.强大的功能,扩展
3、性能强,第三方软件支持多。一 、开发概述在手机游戏的早期,大多数开发者都是想要玩转设备、学习技巧和快速攻关的狂热分子。但是,随着更多的开发者加入这个行业,手机游戏已经进化成涉及到专业设计师、构造师、开发者、产品经销商、律师、和艺术家在内的主导产品。这是行业走向成熟的必然趋势。尽管在某人的业余时间内要开发和推销简单的游戏更加困难,但是更多的专业商店将为许多人提供更多的就业机会。在我们的生活中有许多的游戏,但是游戏不同,它也会给玩家带来不同的感受和生活理念。游戏是我们日常生活的一个必不可少的娱乐项目,也带动了游戏相关产业市场的发展。游戏平台是经过从游戏机到电视游戏,然后从到pc游戏,到手机游戏,中
4、间经历了很多的技术的更新和变革。但随着新技术的发展和我们生活水平质量的提高,手机开始逐渐变为普及,因为手机是非常小巧便捷的,而且方便的特性成为我们日常生活中必备通讯工具。而基于手机平台的游戏也就拥有的市场空间是巨大的,也因随着3g的开通和应用,手机游戏必然会迎来新的一轮游戏热潮!1、五子棋简介五子棋是一种两人对弈的纯策略型棋类游戏,是起源于中国古代的传统黑白棋种之一。发展于日本,流行于欧美。现代五子棋日文称之为“连珠”,英译为“Renju”,英文称之为“Gobang”或“FIR”(FiveinaRow的缩写),亦有“连五子”“五子连”“串珠”“五目”“五目碰”“五格”等多种称谓。五子棋不仅能增
5、强思维能力,提高智力,而且富含哲理,有助于修身养性。五子棋既有现代休闲的明显特征“短、平、快”,又有古典哲学的高深学问“阴阳易理”;它既有简单易学的特性,为人民群众所喜闻乐见,又有深奥的技巧和高水平的国际性比赛;它的棋文化源渊流长,具有东方的神秘和西方的直观;既有“场”的概念,亦有“点”的连接。它是中西文化的交流点,是古今哲理的结晶。2、手机游戏的优点庞大的潜在用户群现在全球超过十亿部移动电话正在被使用,并且这个数目还在逐渐增加。在除美国之外的每个发达国家,拥有手机的人数比拥有计算机的人数还要多。虽然这些手机只有小部分是支持Java游戏的手机,但是这个数目正在快速地提高并且在几年内Java手机
6、将要成为行业标准。移动游戏潜在的市场比其它任何平台(比如Playstation和GameBoy)都要大。便携性GameBoy比其他任何控制台游戏卖出的多的一个原因就是其的便携性。与现在的游戏控制台或个人电脑相比,手机可能不是一个好的游戏设备,但是人们基本上是随时随地都把它们带在身边,在人们离开家或者想玩的时候,可以不受任何时间地点限制地玩自己选择的游戏。支持网络因为移动电话是网络设备,所以可以实现多人游戏。3、五子棋术语黑方:执黑棋一方的简称。白方:执白棋一方的简称。胜局:有一方获胜的对局。和局:分不出胜负的对局。终局:对局结束。阳线:直线,棋盘上可见的横纵直线。交叉点:阳线垂直相交的点,简称
7、“点”。阴线:斜线,由交叉点构成的与阳线成45夹角的隐形斜线。落子:棋子直接落于棋盘的空白交叉点上。轮走方:即“行棋方”,有权利落子的黑方或白方。连:同色棋子在一条阳线或阴线上相邻成一排。长连:五枚以上同色棋子在一条阳线或阴线上相邻成一排。五连:只有五枚同色棋子在一条阳线或阴线上相邻成一排。成五:含有五枚同色棋子所形成的连,包括五连和长连。四:一条阳线或阴线上连续相邻的5个点上只有四枚同色棋子的棋型。活四:有两个点可以成五的四。冲四:只有一个点可以成五的四。死四:不能成五的四。三:一条阳线或阴线上连续相邻的5个点上只有三枚同色棋子的棋型。活三:再走一着可以形成活四的三。连活三:连的活三(同色棋
8、子在一条阳线或阴线上相邻成一排的活三)。简称“连三”。跳活三:中间隔有一个空点的活三。简称“跳三”。眠三:再走一着可以形成冲四的三。死三:不能成五的三。二:一条阳线或阴线上连续相邻的5个点上只有两枚同色棋子的棋型。活二:再走一着可以形成活三的二。连活二:连的活二(同色棋子在一条阳线或阴线上相邻成一排的活二)。简称“连二”。跳活二:中间隔有一个空点的活二。简称“跳二”。大跳活二:中间隔有两个空点的活二。简称“大跳二”。眠二:再走一着可以形成眠三的二。死二:不能成五的二。三三:一子落下同时形成两个活三。也称“双三”。四四:一子落下同时形成两个冲四。也称“双四”。四三:一子落下同时形成一个冲四和一个
9、活三。二、Android的开发环境本章将主要介绍如何构建Android开发环境,包括获取Android SDK、Eclipse以及进行Android Eclipse插件设置等。三、相关技术概念 本章节主要介绍一下此论文中用到了的Android的布局文件,可视化控件以及它们的具体实现。1、坐标布局(AbsoluteLayout)坐标布局(AbsoluteLayout)的子控件需要指定相对与此坐标布局的横、纵坐标的值,将会想FrameLayout那样被排在左上角。项目中进入游戏的布局文件代码如下: 2、Intent Android中提供了Intent机制来协助应用间的交互与通讯,Intent负责对
10、应用中一次操作的动作、动作涉及数据、附加数据进行描述,Android则根据此Intent的描述,负责找到对应的组件,将 Intent传递给调用的组件,并完成组件的调用。Intent不仅可用于应用程序之间,也可用于应用程序内部的Activity/Service之间的交互。因此,Intent在这里起着一个媒体中介的作用,专门提供组件互相调用的相关信息,实现调用者与被调用者之间的解耦。(1)action:一般要执行的操作,如ACTION_VIEW,ACTION_EDIT,ACTION_MAIN等(2)Data也就是执行动作要操作的数据Android中采用指向数据的一个URI来表示,如在联系人应用中,
11、一个指向某联系人的URI可能为:content:/contacts/1。对于不同的动作,其URI数据的类型是不同的(可以设置type属性指定特定类型数据),如 ACTION_EDIT指定Data为文件URI,打电话为tel:URI,访问网络为http:URI,而由content provider提供的数据则为content: URIs。(3)category:提供了有关的行动来执行的其他信息。例如,CATEGORY_LAUNCHER意味着它应该出现在作为顶层应用程序启动器,而CATEGORY_ALTERNATIVE意味着它应在的其他行动用户可以对一个数据列表中。(4)type:指定一个明确的意
12、图的数据类型(MIME类型)。一般情况下,类型推断,从数据本身。通过设置这个属性,您禁用,评价并强制显式类型。(5)component:指定组件类使用的意图明确的名称。通常这是由看在意图(动作,数据/类型和类别)其它信息和匹配一个组件,它可以处理它的。如果这个属性被设置,那么评价没有执行,这部份会被用来完全一样的。通过指定这个属性,其他所有属性成为可选的意向。 (6)extras:这是任何其他信息包。这可以用来提供扩展信息的组件。例如,如果我们有一个行动,发送一封邮件,我们也可以包括在这里的数据提供一个额外的部分主题,正文等。3、AlertDialogAlertDialog是一个Dialog类
13、的子类,可以显示一个、两个或三个按钮。如果你只是想在此对话框中显示一个字符串,请使用setMessage()方法。如果你想显示一个更复杂的View,查找FrameLayout的所谓“自定义“,并添加到您的View:FrameLayout fl = (FrameLayout) findViewById(android.R.id.custom);fl.addView(myView, new LayoutParams(MATCH_PARENT,WRAP_CONTENT);4、 相关的算法研究:(1)相关的数据结构 关于盘面情况的表示,首先得到屏幕的大小,然后根据所画棋子的大小来确定下一条棋盘的画线。
14、 产生棋盘上所有的线 private void createLines() for (int i = 0; i = maxX; i+) /竖线 lines.add(new Line(xOffset+i*pointSize-pointSize/2, yOffset, xOffset+i*pointSize-pointSize/2, yOffset+maxY*pointSize); for (int i = 0; i = maxY; i+) /横线 lines.add(new Line(xOffset, yOffset+i*pointSize-pointSize/2, xOffset+maxX*p
15、ointSize, yOffset+i*pointSize-pointSize/2); 以数组形式画棋盘: 画棋盘 private List lines = new ArrayList(); private void drawChssboardLines(Canvas canvas) for (Line line : lines) canvas.drawLine(line.xStart, line.yStart, line.xStop, line.yStop, paint); (2)分析规则 判断各个四个方向的棋子:在某个方向(八个中的一个)可下多少棋子,这个方法是第一分析中的核心方法priv
16、ate void countPoint(List myPoints, List enemyPoints, Point point, FirstAnalysisResult fr,int direction,boolean forward) if(myPoints.contains(pointToNext(point,direction,forward)fr.count +;if(myPoints.contains(pointToNext(point,direction,forward)fr.count +;if(myPoints.contains(pointToNext(point,direc
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
10 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Android 五子棋 游戏 设计 说明书