基于android的2048游戏的设计与实现(编辑修改稿)内容摘要:
5 届本科毕业论文(设计) 4 变量里点击新建在变量名中输入“ JAVA_HOME” ,在变量值中填入 JDK的安装路径;接着新建 classpath变量,变量值设为: .。 %JAVA_HOME%\lib。 %JAVA_HOME%\lib\,然后双击“系统变量”中存在的 path在弹出的对话框中添加变量值: %JAVA_HOME%\bin。 %JAVA_HOME%\jre\bin,最后运行 cmd,输入 javac,如果出现用法说明,则表示成功 [11,12]。 Android SDK 与 Eclipse 的安装与配置 在网上搜索 adtbundlewindows 并下载。 下好之后直接解压缩,此文件为已经集成了 Eclipse 和 Android SDK 的完整版, 这样就可以适合一些新手。 Android 虚拟机 AVD 的配置 在 Eclipse 菜单栏中点击 WindowAndroid Virtual Device Manager[13],在弹出的窗口中点击“ new”按钮,进入到创建的 AVD 配置窗口,可以创建自己想要的 AVD[14],如图 所示: 图 AVD 配置图 配置成功后,选中创建好的 AVD 并点击“ start”按钮弹出对话框点击 Launch安徽新华学院 15 届本科毕业论文(设计) 5 按钮,由于 AVD 第一次启动时间较长,需耐心等待 [15]。 开启成功后如图 所示: 图 AVD 界面图 本章小结 本章是对 Android应用开发所需的开发环境进行简单的介绍和对开发环境如何搭建进行介绍。 安徽新华学院 15 届本科毕业论文(设计) 6 3 系统的需求分析和概要设计 这章主要讲述了系统的需求分析,简单的描述了各个功能模块和游戏的基本规则,然后是对系统概要设计的介绍。 系统需求分析 系统功能需求分析 系统主要实现以下的几个功能:关卡选择、呈现游戏界面、重新开始游戏、当前分数和最高分数、游戏帮助等功能。 关卡选择是当玩家点击此按钮时,游戏就会从主界面跳转到关卡选择界面,当玩家选择相应的关卡时,先判断此关卡 是否开启,如果没有开启此关卡就会弹出对话框提示玩家此关卡未开启,如果此关卡已经开启就会跳转到主界面同时开始此关卡。 重新开始游戏是当玩家无法满足当前进度时点击此按钮就会重新开始游戏,如果玩家处于不同关卡时重新开始游戏还是停留在此关卡。 游戏帮助是当新手玩此游戏时无法知道游戏玩法时给予相应的提示。 呈现游戏界面是游戏开始时主界面在游戏区域会生成 4 4 的矩阵同时在矩阵里面随机生成两个 2 或 4 的卡片。 当前分数和最高分数是显示此局玩家所获得的分数和历史最高的分数,如果当前的分数超过最高分数那么最高分显示当前的分数,如图 所示。 图 安徽新华学院 15 届本科毕业论文(设计) 7 游戏基本规则 在开始游戏后玩家通过滑动屏幕来操控卡片的移动方向,当卡片滑动中如果有两张卡片相同且他们的中间也没有其他卡片时,在滑动的过程中这两张卡片会合并,显示为这两张卡片之和。 在滑动之中有三张卡片相同时只会合并向滑动方向两张卡片。 在滑动中如果有两张卡片一样同时又有一张卡片的值跟这两张卡片相加的值时,滑动只会使那两张相同的卡片合并而不会接着让合并后的卡片和另一张卡片合并。 系统概要设计 系统流程的设计 游戏开始进入开始页面,能够进入游戏的主界面并开 始普通开局,从主界面能够重新开始游戏、查看帮助和进入关卡选择界面。 当玩家点击重新开始按钮会弹出相应的对话框让玩家选择,如果玩家选择“是”时则重新开始游戏,如果选择“否”则返回游戏界面不做任何处理。 当玩家点击关卡按钮会跳转到关卡选择界面,关卡界面将显示所有的关卡,当玩家点击相应的关卡时后台会判断此关卡是否开启,如果已经开启将会跳转到主界面并运行此关卡,如果没有开启将给予玩家提示“此关卡未开启”对话框。 在开始界面按返回按钮时则会退出游戏。 游戏的流程图如图 所示: 安徽新华学院 15 届本科毕业论文(设计) 8 图 系统 模块设计 从总体出发,将该系统划分为三大模块:“菜单设计”,“界面设计”和“算法设计”。 菜单设计 菜单的实现是在游戏界面实现,可进一步划分为三个模块,分别是:“游戏帮助”,“重新开始”,“关卡选择”,如图 所示: 图 界面设计 可进一步划分为:“主界面设计”,“游戏界面设计”和“关卡界面设计”,重新开始 关卡选择 游戏帮助 安徽新华学院 15 届本科毕业论文(设计) 9 如图 所示: ( a) 开始界面 ( b)游戏界面 ( c)关卡选择界面 图 界面设计 算法设计 (1)当有两张卡片相同时,向它们可以碰撞的方向 滑 屏,卡片会移动到最底边并生成其两倍数字的卡片,并且生成一个“ 2”或“ 4”的卡片,如图 所示: 图 简单卡片合成 (2)当有两张卡片相同时,且在他相同的方向有张跟它们之和的卡片,向它们可以碰撞的方向 滑 屏,相同的卡片会移动到无法移动的位置并生成期两倍数字的卡片,但合成的卡片不会跟那张两倍数字的卡片合并,并且生成 开始游戏 分数 游戏区域 重新 关卡 帮助 关卡选择 安徽新华学院 15 届本科毕业论文(设计) 10 一个“ 2”或“ 4”的卡片,如图 所示: 图 复杂卡片合成 ( 3) 当界面上没有空位并且两两相邻的卡片不相同时游戏结束。 如图 所示: 图 本章小结 安徽新华学院 15 届本科毕业论文(设计) 11 本章主要对游戏所实现的功能进行需求分析,对图形和系统性能进行了分析,分析了图形的特点和实现的可行性。 对系统的性能进行了详细的分析同时也提出来解决性能问题的解决方案。 对系统的流程,系统所需的图形文件,系统的总体架构和系统用例进行了设计。 通过本章的分析、设计能更加具体的了解系统功能,对系统所要实现的功能和图形文件有了更深的认识。 为下一 章系统功能的具体实现提供了可靠的参考依据。 安徽新华学院 15 届本科毕业论文(设计) 12 4 系统实现 本章主要是详细介绍每个功能是怎样的实现。 开始界面的实现 游戏的主界面是按钮图片,只是实现了界面的跳转,当玩家点击此界面时就会调用 此函数让页面跳转到游戏界面开始游戏 ,如图 示 : public class ZuomianActivity extends Activity{ protected void onCreate(Bundle savedInstanceState) { (savedInstanceState)。 setContentView()。 } 图 开始界面 游戏界面的实现 安徽新华学院 15 届本科毕业论文(设计) 13 游戏界面主要是在 中 当前分数、最高分数、游戏区域、重新开始按钮、关卡选择按钮、帮助按钮,当跳转到游戏界面时就会调用并执行 函数来展示游戏界面 ,如图 所示。 protected void onCreate(Bundle savedInstanceState) { (savedInstanceState)。 setContentView()。 } 图 主界面 游戏 滑 屏卡片移动的实现 当玩家 滑 动屏幕时,主要是通过 initGameView 函数来监听玩家手指 滑 动的位置,先通过获取开始坐标和结束坐标,然后通过比较结束坐标跟开始坐标的差值来判断玩家是怎样 滑 动屏幕的。 判断出玩家的 滑 动轨迹后,通过调用 swipeLe安徽新华学院 15 届本科毕业论文(设计) 14 ft、 swipeRight、 swipeUp、 swipeDown 方法来实 现卡片的移动 ,如图 所示。 public void initGameView() { setColumnCount(4)。 setOnTouchListener(new OnTouchListener() { private float startX, startY, offsetX, offsetY。 public boolean onTouch(View v, MotionEvent event) { switch (()) { case : startX = ()。 startY = ()。 break。 case : offsetX = () startX。 offsetY = () startY。 if ((offsetX) (offsetY)) { if (offsetX 5) { swipeLeft()。 } else if (offsetX 5) { swipeRight()。 } } else { if (offsetY 5) {。基于android的2048游戏的设计与实现(编辑修改稿)
相关推荐
................................................................................. 45 本章小结 .............................................................................................................
的法向量。 但很多情况下一个顶点并不只属于 一个三角形面,而可能属于多个三角形面。 而在OpenGL ES 中不能给一个顶点分配多个法向量,因此一般采用的处理方法是此处的顶点属于几个面就在此处放置几个位置相同的顶点,并为这几个顶点分别指定属于面的法向量。 点平均法向量指当同一点隶属于多个面时,为其分配的是各个面法向量的平均值。 如立方体中每个顶点属于 3个面,因此每个顶点的法向量就是 3
游戏的界面、游戏中的逻辑处理以及该游戏今后的改进和优化。 第五章 总结和展望。 对整篇论文加以总结与回顾以及对未来的展望。 第二章 Android 平台概述 4 第二章 Android 平台概述 本章将介绍 Android 这个基于 Linux开发平台,首先我们会介绍 Android 操作系统,然后讲述其特性,接着讲述其系统框架,其次我们会重点介绍其应用程序的构成模块,最后会介绍其生命周期。
优点: a. Hibernate 使用 Java 反射机制 而不是字节码增强程序来实现透明性。 的性能非常好,因为它是个轻量级框架。 映射的灵活性很出色。 c. 它支持各种关系数据库,从一对一到多对多的各种复杂关系。 缺点:。 (例如,一个持久性 类不能映射到多个表 )其独有的界面和可怜的市场份额也让人不安,尽管如此, Hibernate 还是以其强大的发展动力减轻了这些风险。
标后就进入到系统的首页模块。 首页模块显示了搜索模块的快速搜索栏,优惠商品的图片展示及优惠商 品的分类列表展示。 同时,系统在运行时底部均显示快速导航栏,方便用户在不同模块间进行快速切换,用户根据自己的需求点击菜单栏的不同文字或按钮,系统通过对不同文字或按钮对应 ID 的获取来匹配对应模块并进行调用,具体模块流程图如图 31 所示。 图 31 系统首页模块流程图 10 商品信息模块流程分析
提供方便,用户能通过它能随时随地的了解系统的实时信息,做到信息的实时化。 通过 Android 平台下的图书馆管理系统客户端的开发,与传统 WEB应用进行良好的互补。 同时,对于校内的图书馆管理系统来说,手机对于学生是必不可少的一个物品,手机客户端这种形式的图书馆管理系统,能更加贴近学 生的生活习惯,并且适合学生年龄段的习性,这对学生更多的接触到图书馆的信息有一定得促进作用。 图书 管理系统