Android小游戏之2048课程设计

合集下载

2048设计报告

2048设计报告
5)最后是可不可以继续游戏的检测。当屏幕上没有没有写有数据的方格并且屏幕上的数据没有哪两个相邻的数据是一样的两个数,那么就判定为游戏结束。
三、研究/设计方案(包括研究/设计方法、技术路线,理论分析、计算、实验方法和步骤及其可行性,可能出现的技术问题及解决办法)
可行性,可能出现的技术问题及解决办法)
步骤:
[10]
[11]
[12]/p-26393184.html
二、研究内容
要开发这一款游戏,要根据以下几步来完成:
1)首先是要对这款游戏的代码分析。对整一个游戏,要将各个部位分割成其对应部位的功能代码,并且逐一去分析实现其中不同的功能。
[2]/userlog6/81073/archives/2007/291252.shtml.
[3]信息管理系列.《商业网站的创建与管理》.中国人民大学出版社.2001.15-24.63-72.
[4]/Electronic/081021/10363416-2.html.
2)其次是游戏的流程。在做好每一个部分的代码之后,就需要把所创造的各个关键部分拼接起来,因此,就需要先把该游戏的流程一步一步的弄清楚。
3)再者是对《2048》这一款游戏的算法分析。对于整个游戏而言,最主要的心脏就是这一款游戏的算法,游戏好不好,就看这一款游戏的算法是不是符合逻辑。《2048》这一款游戏的算法分为上下左右自 2 个方向的,具体的下面分析。4)《2048》中每个格子的数据和颜色的刷新。在每一次移动之后,几乎在这4*4的每一个方格上的数据都会变化,因此在每一次移动之后,每一个方格上的数据都要刷新一次。相对的,每一个数的背景颜色是不同的,也就是说,在每一次数据刷新的时候,每一个方格上的颜色也要同样的刷新一次。
由于本人十分喜欢《2048》这款手游,在了解了本次课程设计是设计一个Android平台下的软件之后,

2048游戏的设计与实现 课程设计

2048游戏的设计与实现 课程设计

Java语言程序设计课程设计题目2048游戏的设计与实现目录1. 需求分析 ...........................................................................................错误!未定义书签。

2. 系统运行环境 ....................................................................................错误!未定义书签。

3. 功能需求描述 ....................................................................................错误!未定义书签。

4. 总体设计 ...........................................................................................错误!未定义书签。

5. 程序模块设计 ....................................................................................错误!未定义书签。

6. 总结...................................................................................................错误!未定义书签。

一、需求分析《2048》是比较流行的一款数字游戏。

原版2048首先在github上发布,原作者是Gabriele Cirulli。

它是基于《1024》和《小3传奇》的玩法开发而成的新型数字游戏[1] 。

随后2048便出现各种版本,走各大平台。

由Ketchapp公司移植到IOS的版本最为火热,现在约有1000万下载,其名字跟原版一模一样。

任务书-基于Android的2048小游戏的设计实现

任务书-基于Android的2048小游戏的设计实现

更多相关参考论文设计文档【WORD可编辑】资源请访问/lzj781219本科学生毕业论文(设计)任务书论文(设计)题目基于Android的2048小游戏的设计与实现数学与信息科学学院计算机科学与技术系(部)计算机科学与技术专业2012 年级学生姓名指导教师姓名下发日期2015年7月11日任务起止日期:2015 年7 月11 日至2016年1月9日1.指导教师对论文(设计)内容的指导要求:⑴网上调研,查阅文献资料⑵做足准备分析系统模块。

⑶学习Java语言,进行系统实现。

⑷在系统基本完成得情况下,进行系统调试,并撰写毕业论文。

2.论文(设计)前期准备要求(涉及论文(设计)内容的研究综述、实验方案设计等):通过网络和书籍,详细的了解系统所需语言和相关资料。

对别人的程序加以研究,转换为自己的语言,设计出一套属于自己的2048小游戏,并安排自主学习自我检测以及教师监督等,通过想过书籍学习Java语言和Android知识,能够熟练的应用eclipse进行系统设计的开发。

并建立了系统模型以及相应方案。

3.指导教师提出的主要参考文献:[1]沈泽刚,秦玉平.Java语言程序设计[M].北京:清华大学出版社,2010[2]李刚.疯狂Android讲义(第2版)[M].北京:电子工业出版社,2014[3]佘志龙,陈小凤等著.Android SDK开发范例大全[M].北京:人民邮电出版社2010[4](美)Bill ,Venners.深入Java虚拟机[M].北京:机械工业出版社,2003[5]闻怡洋.J2ME MIDP 1.0/2.0无线设备编程指南[M].北京:北京大学出版社,2004[6] 托普雷.J2EE技术手册[M].北京中国电力出版社,2004[7](美)Cay S.Horstmann,GaryCoenell著.java核心技术.北京:机械工业出版社,2008.6[8] 陈小凤.Android SDK开发范例大全.北京:人民邮电出版社,2010.8[9](美)Bruce.Eckel.Java编程思想(Thinking in java).北京:机械工业出版社,2011[10] 朱福喜,黄昊著. Java项目开发与毕业设计指导[M].北京:清华大学出版4.论文(设计)进度安排(阶段任务、起止时间等):⑴搜集与阅读整理资料阶段:2015.7.11—2015.8.30⑵撰写开题报告阶段:2015.9.1—2015.9.8⑶设计实现与撰写论文阶段:2015.9.15—2015.12.31⑷论文答辩阶段:2016.1.1—2016.1.9任务下达人(签字):系(部)主任(签字):学院院长(签字):任务接受人(签字):年月日年月日参考设计材料,包含项目源代码,屏幕录像指导、项目运行截图、项目设计说明书、任务书、报告书以及文献参考翻译等,完整的设计文件及源代码,资料请联系68661508索要。

基于Android平台的2048手机游戏开发设计与实现

基于Android平台的2048手机游戏开发设计与实现

基于Android平台的2048手机游戏开发设计与实现毕业设计(论文)基于Android平台的2048游戏开发设计教学单位:计算机学院专业名称:软件工程学号:学生姓名:指导教师:指导单位:计算机学院完成时间:2017年4月30日电子科技大学教务处制发电子科技大学毕业设计(论文)摘要基于Android平台的2048游戏开发设计【摘要】在生活节奏不断加快的现代社会,轻松的益智游戏对缓解生活压力调节情绪具有重要的意义。

《2048》这款小游戏是一款流行的数字游戏。

第一款《2048》小游戏是由Gabriele Cirulli首度发布在GitHub上。

《2048》是当时基于《1024》和《小三传奇》这两款的玩法而开发的新型数字游戏,而游戏设计初衷是一款益智类的游戏,其特点在于轻松,简单,因此,开发要求做到各项功能要完备、操作要简便、易学易用。

现在开发出来的版本有普通版、六边形版、朝代版、3D版、后宫版等等。

本文采用JAVA语言开发了2048 小游戏,通过Android平台实现了 2048 的基本运行,本着简单,易于操作的原则和缓解生活压力、降低生活节奏的初衷,游戏中没有繁多的按钮,也不用特别复杂的操作,只需动动手指,即可操纵自如。

游戏经过图形界面的处理,以不同的颜色显示不同的数字,并拥有了最高成绩记录,撤销上一步,重置游戏的各项功能。

对于游戏的逻辑实现部分进行测试,测试结果正常,目前没有发现异常。

但是游戏界面可能有些简单,日后可以通过美化界面来获得更好的游戏体验。

【关键词】游戏;益智;数字电子科技大学中山学院毕业设计(论文)Abstract Based on the Android platform 2048 game【Abstract】In the accelerated pace of life in the modern society, easy puzzle game to ease the pressure of life.Force, adjust the mood has important meaning "2048" this small game is a popular digital game. The first "2048" small game was released by Cirulli GitHub on Gabriele for the first time. "2048" was based on "1024" and "small three" Legend of the two gameplay and the development of a new type of digital games and game design original intention is a puzzle game, its characteristics is easy and simple, therefore, development.Seeking to achieve the function to complete, easy to operate, Yi Xueyi use. Now developed a version of the ordinary version, hexagonal version, Dynasty version, 3D version, the palace version, etc.The Java language to develop the 2048 small game, 2048, the basic operation is realized through the Android platform, the purpose of simple and easy operation principle and alleviate the pressure of life, reduce the original intention of the rhythm of life, the game without different button, also need not particularly complex operations, only need to move a finger, you can maneuverability.Game through the processing of the graphical interface to display different colors with different numbers, and have the highest score records, undo the last step, reset the function of the game. The logic of the game to achieve part of the test, the test results are normal, there is no abnormal. But the game interface may be a little simple, in the future can be used to beautify the interface to get a better gaming experience.【Key Words】game;puzzle;numbel电子科技大学中山学院毕业设计(论文)错误!文档中没有指定样式的文字。

基于Android的2048游戏开发

基于Android的2048游戏开发

绪论
ห้องสมุดไป่ตู้
游戏规则
开始时棋盘内随机出现两个数字,出现的数字仅可能为2或4;
玩家可以选择上下左右四个方向,若棋盘内的数字出现位移或合并,视为有效移 动;
玩家选择的方向上若有相同的数字则合并,每次有效移动可以同时合并,但不可 以连续合并;
合并所得的所有新生成数字相加即为该此移动的有效得分; 玩家选择的方向行或列前方有空格则向空格处位移; 每次有效移动一步,棋盘上的空位(无数字处)随机出现一个数字(依然可能为2或 4); 棋盘被数字填满,无法进行有效移动,判负,游戏结束。
谢谢观看
致谢
此论文能够顺利完成,离不开给予我无私帮助的老师、同学、家人,以 及网上为我解答困惑的网友们。 感谢我的导师,宋喜佳老师,虽然接触的时间不是很长,但是在学习 Android程序的路上给了我无私的关怀和指导。由于未接触过Java相关知 识,在开发Android程序时处处碰壁,遇到需求,不能及时反应出解决方案, 只有不断地求助于我的导师——宋喜佳老师,给了功能设计思路,让我成 功地克服一个又一个的困难。在此,谨向送老师表示衷心的敬意和感谢。 同时,非常感谢我的室友李朗和刘雨坤,在论文编写和毕业设计的制作 过程中,给予我鼓励和关怀,提出了许多宝贵意见和建议,再次深表感谢。 最后,特别感谢我的家人,感谢他们在精神上和物质上给予我无私的鼓 励和支持,使我能够顺利完成论文,和学业,我将永记他们的付出并用一 生来回报他们。
基于ANDROID的 2048游戏开发
答辩人:高振东
指导教师:宋喜佳
1、绪论 2、游戏规则 3、游戏设计 4、具体实现 5、总结
目录
轻松的益智游戏对缓解生活压力调节情绪具有重要
的意义。《2048》这款小游戏是一款流行的数字游 戏,游戏设计初衷是一款益智类的游戏,其特点在 于轻松,简单,因此,开发要求做到各项功能要完 备、操作要简便、易学易用。

Android游戏——2048的设计(2)

Android游戏——2048的设计(2)

Android游戏——2048的设计(2)游戏运行界面如下:实现的功能有:1.有4x4,5x5,6x6三种规则2.记录历史最高分3.使用纯色块4.保存游戏5.开启音效6.更换背景图开发工具用的是Android Studio游戏的思路并不复杂,甚至可以说是挺简单的。

首先要自定义一个View,作为可滑动的方块(其实滑动效果是通过改变数字与颜色来模拟实现的),这个View要继承于FrameLayout每一种不同数值的方块有不同的颜色,通过设置“setBackgroundColor”来实现。

public class Card extends FrameLayout {private TextView label;private int num = 0;//用于判断是否纯色块public boolean flag;public Card(Context context) {super(context);label = new TextView(context);label.setGravity(Gravity.CENTER);label.setTextSize(24);label.setBackgroundColor(Color.parseColor("#77E8E2D8"));LayoutParams lp = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);lp.setMargins(5, 5, 0, 0);addView(label, lp);}public void setNum(int num) {this.num = num;if (num == 0) {label.setText("");label.setBackgroundColor(Color.parseColor("#77E8E2D8"));}else{if(!flag){label.setText(num + "");}changeCardColor();}}public int getNum() {return num;}public void changeCardColor() {switch (num) {case 2:label.setBackgroundColor(Color.parseColor("#5DB8E8"));break;case 4:label.setBackgroundColor(Color.parseColor("#A52812"));break;case 8:label.setBackgroundColor(Color.parseColor("#0E7171"));break;case 16:label.setBackgroundColor(Color.parseColor("#C0BB39"));break;case 32:label.setBackgroundColor(Color.parseColor("#623889"));break;case 64:label.setBackgroundColor(Color.parseColor("#5C7235"));break;case 128:label.setBackgroundColor(Color.parseColor("#826FA3"));break;case 256:label.setBackgroundColor(Color.parseColor("#355659"));break;case 512:label.setBackgroundColor(Color.parseColor("#BB719B"));break;case 1024:label.setBackgroundColor(Color.parseColor("#9B8B53"));break;case 2048:label.setBackgroundColor(Color.parseColor("#196A5D"));break;default:label.setBackgroundColor(Color.parseColor("#8A7760"));}}public boolean equals(Card c) {return this.getNum() == c.getNum();}}此外,可以看到不管是4x4规则的或者5x5,6x6的,整个可滑动区域都是一个正方形,方块平均分布,因此可以自定义一个View,继承于GridLayout,为之添加多个Card 。

2048课程设计要求

2048课程设计要求

2048课程设计要求一、教学目标本课程的教学目标是让学生掌握2048游戏的规则和解题策略,培养学生逻辑思维和策略规划能力。

具体目标如下:1.知识目标:学生能理解2048游戏的基本规则,掌握游戏中的数字合并原理,了解游戏的目标和策略。

2.技能目标:学生能够独立完成2048游戏,灵活运用各种策略解决问题,提高解题速度和效率。

3.情感态度价值观目标:学生在游戏中培养团队合作意识,体验成功和挫折,培养坚持和毅力品质,增强自信心。

二、教学内容本课程的教学内容主要包括2048游戏的基本规则、解题策略和实战演练。

具体安排如下:1.游戏规则:介绍2048游戏的基本操作、游戏界面和数字合并原理。

2.解题策略:教授并实践各种解题技巧,如线性规划、跳跃思维、巧妙利用空白格等。

3.实战演练:提供不同难度的游戏场景,让学生独立完成并分享解题心得。

三、教学方法为了提高教学效果,本课程将采用多种教学方法相结合的方式进行教学:1.讲授法:教师讲解游戏规则和解题策略,引导学生理解并掌握关键知识点。

2.讨论法:学生分组讨论,分享解题心得,培养学生团队合作和沟通能力。

3.案例分析法:分析典型游戏案例,让学生从中学习解题技巧和策略。

4.实验法:提供实践机会,让学生在游戏中亲身体验并运用所学策略。

四、教学资源为了支持教学内容和教学方法的实施,我们将准备以下教学资源:1.教材:提供《2048游戏指南》等相关教材,供学生学习和参考。

2.参考书:推荐学生阅读关于逻辑思维和策略规划的书籍,丰富知识体系。

3.多媒体资料:制作课件、视频教程等多媒体资料,帮助学生更好地理解游戏规则和解题策略。

4.实验设备:提供电脑、平板等设备,让学生在课堂上进行游戏实践。

五、教学评估本课程的评估方式包括平时表现、作业和考试三个部分,以全面客观地评价学生的学习成果。

1.平时表现:评估学生在课堂上的参与度、提问回答和团队协作情况,以考察学生的学习态度和积极性。

2.作业:布置课后练习和游戏设计任务,评估学生的解题能力和创新思维。

2048小游戏课程设计

2048小游戏课程设计

课程名称:算法分析与设计设计题目:2048游戏院系:班级:设计者:学号:指导教师:设计时间:2017.6.24-2017.6.25任务书目录课程设计(大作业)报告....................................... 错误!未定义书签。

课程设计(大作业)任务书. (2)一、需求分析 (6)1.1界面需求 (6)1.2功能需求 (6)1.3操作性需求 (7)1.4可行性分析 (7)二、游戏原理 (8)三、算法分析 (8)四、总体设计 (10)五、算法优化 (11)5.1基础算法Minimax (11)5.2 Alpha-beta剪枝 (15)5.3对2048游戏的优化 (19)单调性 (20)平滑性 (20)空闲方块 (21)六、运行结果 (21)七、总结 (22)八、参考文献 (23)九、源代码 (23)课程设计(大作业)报告一、需求分析目前对休闲小游戏的需求是:提高游戏的操作可行性,降低游戏的操作难度,降低游戏的上手难度,降低游戏的竞争需求,对使用设备的要求趋于简单化和多样化,游戏界面更加人性化,功能更加贴合使用。

1.1界面需求一款的好的游戏其界面必须友好,简洁已经成为当今UI设计的主流,简单易上手才能得到玩家的青睐。

1.2功能需求1)能够显示游戏的当前得分,再次次打开游戏时重置分数,游戏的主界面上,相同的数字要显示相同的颜色。

2)游戏途中胜利和失败要有相应的提示。

3)游戏的主要目的是通过上下左右移动来将相邻相同的数字相加,通过不断地累加最终加到2048。

1.3操作性需求游戏的体验是衡量一款游戏的关键,本游戏通过键盘方向键来控制方块的移动,单手都可以操作,充分考虑便捷性。

1.4可行性分析1)面向对象的程序设计方法Java面向对象程序设计的基本思想是通过构造和组织对象来求解问题的。

对象是很好理解的,任何一种物体都可以被认为是对象,例如,汽车就是一种对象。

对象具有两个最基本的属性:具有一定的物质基础和一定的功能,这两种基本属性在Java语言中表现为拥有一定的存储单元并具备一定的功能。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

题目Android小游戏之2048院系专业软件技术专业学生姓名XXX学号XX二O一五年六月八日目录1概念1.1游戏背景-----------------------------------------------------1 1.2游戏开发-----------------------------------------------------1 1.3论文内容安排-------------------------------------------------12 功能设计2.1界面设计-----------------------------------------------------2 2.2游戏设计-----------------------------------------------------2 2.3事件监听-----------------------------------------------------4 2.4游戏最终实现-------------------------------------------------43 结果展示3.1游戏开始界面-------------------------------------------------7 3.2游戏结束界面-------------------------------------------------74 结论4.1结论心得-----------------------------------------------------85 参考文献5参考文献-------------------------------------------------------8Android小游戏之20481 概述1.1 游戏背景《小3传奇》的悲剧以及《2048》的崛起。

近期,新出的一款叫做《2048》的安卓手游十分的火爆,几乎游戏下载排行榜的前10名都能看到“它的身影”。

然而并不是每一个人都知道一件事,那是一个关于“2048”诞生的故事。

故事的发展是这样的,《2048》的祖先是一款名为《Threes》(中文名为《小3传奇》)的手游。

《小3传奇》的两位开发者花了近一年半时间才开发出这个游戏的核心玩法,却在其上架App store后仅21天就被《1024》抄了过去。

最让人意想不到的是,《2048》则更为迅速,19岁的Gabriele Cirulli只用了一个星期改编前两者游戏,却获得最大的成功,《Threes》却不被人知。

而到了现在,这类游戏从发布到现在,不管是App Store还是Android市场,下载量已经远远超越了千万,网上各种版本的都有,比如朝代版,后宫版,甲乙丙版,生肖版等。

1.2 游戏开发由于本人十分喜欢《2048》这款手游,在了解了本次课程设计是设计一个Android平台下的软件之后,就选定了《2048》作为本次课程论文的课题。

在此次课程论文的制作过程中,我将运用我在课上学习到的知识以及java编程知识通过网上现有的资料尝试完成此次课程的开发。

1.3论文内容安排要开发这一款游戏,要根据以下几步来完成:1)首先是要对这款游戏的代码分析。

对整一个游戏,要将各个部位分割成其对应部位的功能代码,并且逐一去分析实现其中不同的功能。

2)其次是游戏的流程。

在做好每一个部分的代码之后,就需要把所创造的各个关键部分拼接起来,因此,就需要先把该游戏的流程一步一步的弄清楚。

3)再者是对《2048》这一款游戏的算法分析。

对于整个游戏而言,最主要的心脏就是这一款游戏的算法,游戏好不好,就看这一款游戏的算法是不是符合逻辑。

《2048》这一款游戏的算法分为上下左右自个方向的,具体的下面分析。

4)《2048》中每个格子的数据和颜色的刷新。

在每一次移动之后,几乎在这4*4的每一个方格上的数据都会变化,因此在每一次移动之后,每一个方格上的数据都要刷新一次。

相对的,每一个数的背景颜色是不同的,也就是说,在每一次数据刷新的时候,每一个方格上的颜色也要同样的刷新一次。

5)最后是可不可以继续游戏的检测。

当屏幕上没有没有写有数据的方格并且屏幕上的数据没有哪两个相邻的数据是一样的两个数,那么就判定为游戏结束。

2 功能设计2.1 设计界面在设计整个2048游戏之前先得设计一个2048的游戏界面,只有有了游戏界面,才能够进行2048这一款游戏的下一步设计,这是创建2048小游戏的最基础的步骤。

2048这一款游戏的界面是4*4方格的,于是就需要在界面上设置4*4的方格,有了这些方格之后才能在方格上面装卡片(Card),然后才能继续游戏。

private void onDrawBorder(Canvas canvas) {paint.setShader(null);paint.setStrokeWidth(16);paint.setColor(Color.WHITE);canvas.drawLine(0, 0, 0, this.getHeight(), paint);canvas.drawLine(0, 0, this.getWidth(), 0, paint);canvas.drawLine(this.getWidth(), 0, this.getWidth(), this.getHeight(), paint);canvas.drawLine(0, this.getHeight(), this.getWidth(), this.getHeight(), paint);}方格下面继而显示分数(Score)和最高分数(BestScore)。

2.2 游戏设计在2048游戏的界面设计好了之后,要求完成最核心的玩法就是卡片在于界面上4*4的移动,于是下一步的操作就是对卡片的具体设置,以下是一部分关键代码。

(1)创建一个卡片private Card getCard(int num){Card c;if (cards.size()>0) {c = cards.remove(0);}else{c = new Card(getContext());addView(c);}c.setVisibility(View.VISIBLE);c.setNum(num);return c;}(2) 类Card继承了FrameLayout,目的是作为游戏中的卡片,卡片各个数字和样式的实现:public void setNum(int num) {this.num = num;if (num<=0) {label.setText("");}else{label.setText(num+"");}switch (num) {case 0:label.setBackgroundColor(0x00000000);//透明色break;case 2:……default:label.setBackgroundColor(0xff3c3a32);break;} }(3) 卡片设计好了之后根据游戏要求判断在某一操作下同一方向上的卡片是否可以相加,可以相加的部分进行数据合并。

//合并相同数据int addscode = 0;for(int p=0;p<4;p++){for(int q=3;q>0;q--){if(arrays[q][p]==arrays[q-1][p]&&arrays[q][p]!=0){flag_move = true;rrays[q][p]+=arrays[q-1][p];addscode+=arrays[q][p];arrays[q-1][p]=0;q--;}}}2.3 事件监听对于2048这个游戏经过之前对游戏界面的设计、对游戏元素卡片的创建和定义好了之后,最终目的是要使我们能够控制卡片进行移动,目标是使卡片能够根据我们的命令进行向上、向下、向左、向右的四个方向上的移动,这个需要加上4个方位的事件监听。

@Overridepublic boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,float velocityY) {float X=e2.getX()-e1.getX();float Y=e2.getY()-e1.getY();final int FLING_Min_DISTANCE =50;if(X>FLING_Min_DISTANCE&&Math.abs(velocityX)>Math.abs(velocityY)){toRight();}else if(X<-FLING_Min_DISTANCE&&Math.abs(velocityX)>Math.abs(velocityY)){ toLeft();}else if(Y>FLING_Min_DISTANCE&&Math.abs(velocityX)<Math.abs(velocityY)){ toDown();}else if(Y<-FLING_Min_DISTANCE&&Math.abs(velocityX)<Math.abs(velocityY)){ toUp();}return false; }以上是事件监听的部分关键代码,事件监听创建好了之后,整个游戏大部分要求已经完成了。

2.4 游戏最终实现从游戏的角度来说,这个2048游戏有界面,有元素,可以移动已经基本完成了,但作为有个游戏而言最后还有几步没有完善。

为了能够最终完整的实现整个游戏的功能,先绘制一个简单的流程图,整理一下思路。

游戏开始(1)初始化进入游戏,初始化4*4表格,并随机产生两个数字(2或者4);二维数组this.tables表格循环存入数据;random1, random2 ,random11, random22四个随机数可以确定两个2的xy位置;方法newNumber里面,根据位置i,j和级别num可以确定一个新的数字;创建背景cell和cell上面的数字标签cellLabel;并根据num确定是否显示cellLabel;最后给cell关联一个data数据;特别说明这里的number:num不是精灵上面的数字而是精灵的级别,比如number=11 则数字是1024。

(2)游戏结束的判断每次发生卡片移动,都要检查游戏还能否继续,是否已经结束。

使用函数CheckComplete()完成游戏是否失败的检查。

(3)游戏的计分在卡片的每一次移动的时候判断是否有两个相同数字进行相加,凡是有相见的两个数字其相加所得的和需要存入计分中,其中如果游戏获得了最高分要对最高分进行保存。

相关文档
最新文档