版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、移动开发技术课程答题辩 项目文档目2048设计与实现学院信息科学与专业计算机科学与技术学生学号2013104111232048设计与实现摘要:现如今,电子已慢慢渗透进人们生活中,并在扮演着越来越重的角色。可以说,随着他的迅猛发展,现今的电子已经不仅仅是一种,而是形成了一种文化现象,具有很强的民族性和丰富的文化内涵。伴随着播。在市场的销售,与其相关的文化也随之传2048的制作属于电子中的益智类小,它做到了性、趣味性、教育性相。益智类的即是需要去开动大脑去思考从而获得中不断的开发大脑。这样一来就实现了在的胜利。简单的益智类中学习。可以使玩家在本文通过对 Android 应用开发的初步研究,设计出了
2、一款基于 Android的 2048 小。本文是在通过对系统进行详细分析的情况下,基本的确定了系统的相关的功能要求,的关卡设置、菜单界面、屏幕绘制和布局进行了设计,实现了一款界面清晰、内容丰对富的 2048,它能够让人们在这个快节奏的生活压力中得到缓解。关键字:Android;备忘录;activityDesign and implemenion of 2048 gamesAbstractNowadays, electronic games have seepedo peoples life, and plays an increasinglyimportant role. It can be
3、said, with his radevelopment of electronic games, today is not only a kind ofentertaent, but the formation of a cultural phenomenon, has a strong national character and rich cultural connoion. With the game software saleshe market, theculture also spread.2048 the game belongs to the puzzle game in e
4、lectronic games, it did entertaent, fun,educationaity. Puzzle game is to use your brao think in order to whe games. A simplepuzzlegame can make the game player development brain constantly in entertaent. So asto achieve the learninghe entertaent.The preliminary study on the development of Android ap
5、plication, designed a 2048 gamebased on Android platform.his pr through the detailedysis of system, the basic to determine the systems related functional requirements, setting, rendering and layout of the screeninterface, the games level for the design, implemenion of a clearerface,rich content of t
6、he 2048 game, it can let people get refhis fast the rhythm of lifeprere.Key Words:Android;Game;Puzzle目录绪论1课题的来源及意义1Android 发展现状及前景错误!未定义书签。1.3 项目的主要工作和解决.11.4组织结构1Android 备忘录相关技术介绍2Android 介绍错误!未定义书签。开发环境介绍及相关技术2Android-Windows 开发环境2SimpleAdapter 数据填充22.2.3简介2Broadcast 简介错误!未定义书签。Service 简介错误!未定义书签。
7、2.4.6 AlarmManager 简介错误!未定义书签。需求分析3功能需求3性能需求3数据需求3总体设计4344.14.2功能模块4数据模块45项目实现5添加模块5添加备忘5添加桌面 Widget 工具6查看模块10查看未提醒备忘错误!未定义书签。历史备忘查看错误!未定义书签。删除模块错误!未定义书签。清空历史备忘错误!未定义书签。删除未提醒备忘错误!未定义书签。测试116.1 测试环境和条件116.2 测试1266.3分析127结语147.1 总结147.2 展望14参考文献151 绪论1.1 课题的来源及意义现在,你都能看到在已经在生活中随处可见,并且在逐步壮大,甚至连几岁的小孩儿,或
8、者平板上玩儿。可以说,随着的发展,现在机已经不仅仅是人们的一种与其相关的文化也随之方式,而是形成了一种文化现象。随着。市场的一步步壮大,随着互联网的发展,出现了越来越多的。很多人都沉溺于网络世界中,特别是对于意志力薄弱的青少年。与此同时,人们的生活节奏越来越快,快节奏的生活,却少了很多休闲的时光,有时候只有一会儿的休闲时光却又不知道做点什么好。而 2048 就是很适合的休闲时玩的益智类小,不想大型,要联网等复杂操作,只需要用手指轻轻点击 app 即可开始。如果有事儿了,随时都可以退出。也比较有趣味性和性,并且能锻炼智力。简单的益智类乐中学习的目的。可以使玩家在中不断的开发大脑,这样就达到了在娱
9、但是传统的 2048有一个缺点,就是当玩家玩到有方块的数字为 2048 时,就结束了,本次项目开发实现了玩家可以无止境的玩下去,而不会到 2048 时,就结束,满足玩家的心理。1.2 项目的主要工作和解决本课题的研究目的就是要通过对基于 Android 的 2048设计有更深的认识。本课题的主要内容:设计与实现,对简单的(1) 根据对 Android备忘录功能的了解和分析,从功能和实用的角度出发,设计并实现 2048;(2) 如何将逻辑转换成代码,特别是判断是否需要合并方块;组织结构1.3本文主要由:中英要、目录、绪论、课题、相关技术介绍、系统可行性分析、系统需求分析、程序实现、测试、结束语、
10、参考文献第一章绪论主要分析和介绍背景、课题主要研究第二章主要介绍课题的相关技术。以及系统设计的目标及基本思路。第三章是需求分析其中包括系统功能需求和性能需求以及数据需求。第四章是总体设计,包括数据库设计和功能模块。第五章是项目实现,包括各个模块的功能,流程图及第六章是程序测试和结果的分析与研究等。第七章是对全文进行了总结和展望。代码等。22048相关技术介绍2.2 开发环境介绍及相关技术2.2.1 Android-Windows 开发环境(1)JDK1.6.0_16:JDK(Java Development Kit)是 Sun Microsystems 针对 Java 开发者的产品。JDK 是
11、整个 Java 的,包括了 Java 运行环境、Java 工具和 Java 基础类库。没有 JDK 的话,无法编译 Java 程序。(2)Eclipse-SDK-4.4.0-win32:Eclipse 是一个开放源代码的、基于 Java 的可扩展开发。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括 Java 开发工具(Java Development Kit,JDK)。(3)Android-SDK:SDK(software development kit)称为开发工具包。被开发工程师用于为特定的包、框架、硬件、操作系
12、统等建立应用的开发工具的集合。因此,Android SDK 指的是Android 专属的开发工具包。(4)ADT_23:Android Development Tools-安卓开发工具。目前Android 开发所用的开发工具是 Eclipse,在 Eclipse 编译IDE 环境中,安装 ADT,为 Android 开发提供开发工具的升级或者变更,简单理解为在Eclipse 下开发工具的升级工具。(5) AVD:AVD 的全称为:Android Virtual Device,就是 Android 运行的虚拟设备,他是 Android 的模拟器识别。建立的 Android 要运行,必须创建 AV
13、D,每个 AVD 上可以配置很多的运行项目。创建 AVD 的方法有两种。一是通过 eclipse 开发环境,二是通过命令行创建。2.2.2 布局简介主界面布局采用 LinearLayout,然后再添加一些组件。2.2.3 触控交互OnTouchListener 接口是用来处理接口,当为 View 的范围内触摸按方法签名如下。屏幕事件的下、抬起或滑动等动作时都会触发该事件。该接口中的2.2.4 数据采用 SharedPreferen历史最高得分。3 需求分析3.1 功能需求主要实现以下功能:呈现逻辑实现。主界面、显示当前分数、显示历史最高分数、重新开始游戏、呈现主界面应该是在开始时,产生 4x4
14、 的方块矩阵,并且在矩阵中随机生成两个 2 或 4 的卡片,其中,4 出现的概率应该比 2 小,例如 2 和 4 的概率比为 9:1。显示当前分数,当玩家合并数字后,就要统计玩家当前得分并且显示出来,如果没有合并数字,当前分数不变。显示历史最高分数,当玩家第一次玩的时候,历史最高分数,和当前分数应该是一样的,如果不是,那么显示历史最高分数,当当前分数超过历史最高时,就相应的增长历史最高分数。重新开始,当玩家点击重新开始按钮时,页面应该是开始时的状态,主界面中只有两个数字(2 或 4),当前分数应该清零,并且显示历史最高分数。逻辑实现,包括判断玩家的移动方向,以及什么时候应该合并方块。系统功能图
15、如图 3.1 所示:图 3.1-系统功能图3.2 性能需求程序响应速度快、实时显示相关信息、操作简便。3.3 数据需求本中设计数据需求的,只有历史最高分数,采用SharedPreferen数据。4 总体设计功能模块4.1开始进入开始页面,能够进入的主界面并显示当前分数、历史最高分数、重新开始按钮。能够实时显示当前分数和历史最高分数,当玩家点击重新开始按钮,主页面回到开始的装填,当前分数置零,显示历史最高分数。的流程图如图 4.1 所示:图 4.1-流程图数据模块4.2在 ShareedPerferen中存放历史最高分数5 项目实现主页面5.15.1.1 页面添加元素在主页面中添加当前得分、历史
16、最高得分、方块、重新开始等需要的界面元素。代码:protected void onSizeChanged(w,h,oldw,oldh)super.onSizeChanged(w, h, oldw, oldh);cardWidth = (Math.min(w, h) - 10)/4; /每一张卡片的宽高addCards(cardWidth, cardWidth);startGame();private void addCards(Card c;cardWidth,cardHeight)for(x = 0; x 4; x+)for(y = 0; y startX;startY;Mabs(offse
17、tY)/x轴上的偏离比,y轴偏离大,说明是在水平方向移动,处斜向移动的情况if(offsetX /向右swipeRight();5)elseif(offsetY swipeDown();5)break;return true;/如果是false,只能到touch down);5.1.3实现方块的移动和数字合并当玩家滑动屏幕后,界面上的方块要相应的移动,并且要判断方块上的数字是否需要合并。代码(以向左滑动后的处理为例):private void swipeLeft()/向左滑动merge = false;/是否添加新的方块for(for(x = 0; x 4; x+)y = 0; y 4; y+
18、)for(y1 = y+1; y1 0)/后面有数字if(cardMapxy.getNum() = 0)/前面是空位cardMapxy.setNum(cardMapxy1.getNum();cardMapxy1.setNum(0);y-;merge = true;else if(cardMapxy.equals(cardMapxy1)cardMapxy.setNum(cardMapxy.getNum()*2);cardMapxy1.setNum(0);MainActivity.getMainActivity().addScore(cardMapxy.getNum();merge = true;
19、break;if(merge)addRandomNum();plete();图 5.1-1主页面(1)图 5.1-2主页面(2)5.2 分数模块主要是实现,对玩家当前得分和历史得分进行统计,并且显示在界面上。代码:public void clearScore()score = 0; showScore();public void showScore()tvScore.setText(score+);public void addScore(score += s; showScore();s)maxScore = Math.max(score, saveBestScore(maxScore);s
20、howBestScore(maxScore);getBestScore();public void saveBestScore(Editor e = getPreferens)(MODE_PRIVATE).edit();e.put(SP_KEY_BEST_SCORE, s);mit();6 测试6.1 测试环境和条件本次测试环境在 AVD(Android Virtual Device)和真机中测试。真机配置如下图所示:图 6.1-1配置信息6.2 测试系统运行流程:1.2.3.进入主界面,然后开始,上下左右滑动屏幕。如果有相同数字就会进行合并。数字合并后,当前得分分数会相应的增加,如果分数超过
21、历史最高分数,那么会更新历史最高分数。4.点击重新开始按钮,将重新开始分析6.3测试内容及结果见用例表 6.3.1表 6.3.1 测试用例序号用例预期结果实际结果01向左滑动方块都向左边移动,如果有满足数字合并条件的,将会合并。并且会新出现两个方块。方块都向左边移动,没有满足数字合并的方块。并且新出现了两个方块。02向右滑动方块都向右边移动,如果有满足数字合并条件的,将会合并。并且会新出现两个方块。方块都向右边移动,没有满足数字合并的方块。并且新出现了两个方块03向上滑动方块都向上移动,如果有满足数字合并条件的,将会合并。并且会新出现两个方块。方块都向上移动,有合并数字。并且新出现了两个方块。
22、04向下滑动方块都向下移动,如果有满足数字合并条件的,将会合并。并且会新出现两个方块。方块都向下移动,没有合并数字。并且新出现了两个方块。05向右上方滑动根据 x,y 轴偏移量大小来确定,方块移动的方向,如果有满足数字合并条件的,将会合并。并且会新出现两个方块。方块都向上移动,没有合并数字。并且新出现了两个方块。06向左上方滑动根据 x,y 轴偏移量大小来确定,方块移动的方向,如果有满足数字合并条件的,将会合并。并且会新出现两个方块。方块都向左移动,有合并数字。并且新出现了两个方块。程序的测试过程中,分别对真机和虚拟机都进行了测试。主要是从方便的角度出发。在虚拟机中,对于程序运行到各个环节的截图操作十分方便,容易及时捕捉,便于并观察。在真机中测试时为了在用户的角度体验一下。亲身操作一下的各项功能,便于找到的。在亲身操作的情况下,也请了几位测试,就的功能、界面等方面进行了测试。总体来说,备忘录的基本功能还是实现的很好。经过测试,2048行,能满足用户的要求。基本能正常运07向左下方滑动根据 x,y 轴偏移量大小来确定,方块移动的方向,如果有满足数字合并条件的,将会合并。并且会新出现两个方块。方块都向左移动,没有合并数字。并
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 培训专家团队管理制度
- 医院轮岗培训制度
- 农家乐从业集中培训制度
- 舞蹈培训上课规章制度
- 宿舍教师培训制度
- 边坡施工图审核方案
- 培训期间请假制度及流程
- 企业之间培训制度
- 兽药企业员工培训制度
- 培训学校旷课制度
- 2025外研社小学英语三年级下册单词表(带音标)
- 2025年苏州市事业单位招聘考试教师招聘体育学科专业知识试卷(秋季卷)
- 维保约赔偿方案(3篇)
- 农机消防安全知识培训课件
- 2025年村干部考公务员试题及答案笔试
- 行政事务处理员高级工工勤技师迎考测试题及答案-行政事务人员
- 老年照护初级理论知识考试试题库及答案
- 保密工作台帐(模板)
- 逐级消防安全责任制岗位消防安全责任制
- 2025即时零售行业规模消费场景及头部平台美团京东淘宝对比分析报告
- 儿童文学教程(第4版)课件 第一章 儿童文学的基本原理
评论
0/150
提交评论