范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

针对安卓游戏2048实施的设计与实现

  安卓( Android) 系统基于Linux 系统,内核和驱动使用C / C + + 语言开发,设计了一个Dalvik JVM 作为中间层,然后在SDK 层面选择Java 作为开发语言,因此,开发一款安卓游戏的应用程序需要较复杂的开发流程。安卓益智类小游戏是日常生活中最耐玩的一种游戏,深受玩家喜爱,男女老少皆宜。与此同时,益智类小游戏相对于一些大型的手机网络游戏以及大型的手机单机游戏而言,具有便捷性、易开发性以及较高的创新性。本文介绍一种新型安卓手机游戏的开发。益智类游戏2048开发过程中有几个重难点: ①各种界面布局的正确嵌套使用,这关乎用户体验最直观感受; ②游戏中玩家执行各种事件后,系统需要做出的对应逻辑设计; ③游戏主要逻辑的实现。
  1 游戏梗概
  游戏开始时,棋盘内部Gridlayout 布局中随机出现2 个数字,出现的数字仅可能为4和2中的一个,且4和2出现的概率分别为0 . 8 和0 . 2。游戏玩家可以选择上、下、左、右4 个方向移动手指从而触发卡片的移动,如果Gridlayout 布局内的数字卡片出现位置移动或者位置合并,则是为有效正常移动步骤。玩家手指选择移动的方向上如果有一样的数则合并之,每次有效移动可以同时合并所有的2 个数,但不能连续合并2 个数,而且合并的所有数相加即为当前所得分数。玩家移动方向行或列前方有任何空白卡片则会发生位置移动。每一个有效移动步骤的进行都意味着棋盘的空位,即在无数字处随机出现一个数字( 依然可能为2或4,其概率仍然为0 . 8 和0 . 2 ) 。棋盘被数字填满则无法进行有效移动,系统自动判定游戏失败即游戏结束。如若棋盘上出现2048这样的一个卡片,则为游戏取得胜利,此时游戏仍然继续运行。
  2 布局设计和游戏主要设计
  2. 1 布局设计
  首先设计一个线性布局控件,以此控件为基础,设计一个技术支持的显示文本。与此同时,设计一个计分的文本,并设计好以上2 个组件对应的宽和高。鉴于游戏主体部分是一个4  4 的方格,所以我们采取了一个GridLayout布局来实现游戏的主要界面。
  2. 2 游戏主要设计
  2 . 2 . 1 游戏主类GameView
  设计游戏主类GameView 继承自GridLayout 布局。此布局嵌套进入主布局当中,承担着游戏运行的空间,并确保不与其他文本控件的显示发生冲突。
  2 . 2 . 2 触控交互设计
  相比于其他开发系统版本的2048键盘式的触控交互设计而言,安卓平台的触控交互设计是根据手势动作来判断进行的。所以这里采用一个触屏监听器,记录下用户手指按下的位置跟手指松开的位置,并比较偏移值的大小来激活上、下、左、右操作所对应的事件。2 . 2 . 3 游戏卡片Card 的添加设计卡片是游戏的核心,要将卡片添加到GameView 中。游戏中必须保证卡片的正常工作逻辑不产生任何异常。这里卡片大小的设计要注意卡片的大小与主界面的大小关系; 其次要注意卡片类的位置存放方式以及卡片类出现的随机性。逻辑以及检查结束的设计在游戏的具体实现中,需要判断玩家操作是否合法、界面是否有事件触发、是否需要添加新数字; 同时从左往右依次遍历,根据获取值的情况来判断是否需要合并卡片,以及是否需要清除合并过的卡片类。游戏结束与否的判断还要考虑以下2 种情况: ①当前所有卡片值为0 时; ②卡片4 个方向上有重复的数字时,这2 种情况下游戏都是不能结束的。
  3 算法设计和具体实现
  3. 1 算法设计
  1 、卡片类的设计。
  对于手机中的卡片类大小,一般可以设计成为Absolute 属性,开发的产品比较直观且能高效运行。但考虑到该游戏能适配各种机型,不能出现卡片内数字溢出等情况,需要将卡片设计成自发适应屏幕大小的类型。在卡片类的设计中应注意以下几种情况:
  ①为了避免界面的繁琐,当卡片中的值为0 时不显示。
  ②为了增加卡片的区分度,位子图片颜色适当进行调节。
  主要程序如下:
  public class Card extends FrameLayout { / /
  FrameLayout 是分层布局
  public Card ( Context c) { / / 卡片类添加的属性大小颜色
  super( c) ;
  label = new TextView ( getContext ( ) ) ;
  label. setBackgroundColor( 0 x33 fffdff) ;
  label. setTextSize ( 22 ) ; / / 设置文字在方格的正中间
  label. setGravity( Gravity. CENTER) ;
  LayoutParams lp = new LayoutParams ( - 2 ,
  - 2 ) ; / / 设置大方框距离边缘距离为10 px
  lp. setMargins( 8 ,8 ,0 ,0 ) ; / / 添加画板
  addView ( label, lp ) ; / / 为其添加数据,其值为0 setNum( 0 ) ; }
  private int Num = 0 ; / / 取回当前值
  public int getNum( )
  { return Num; } / / 设置当前值
  public void setNum( int Num)
  {
  this. Num = Num; / / 当卡片中值为0时则不显示当前卡片的值
  if( Num  = 0 ) {
  label. setText(
  } else{
  label. setText( Num +
  }
  / * / / 改变文字所在的卡片颜色
  switch ( Num) {
  case 0 :
  label. setBackgroundColor( 0 xffeee4 fa) ;
  break;
  case 2 :
  label. setBackgroundColor( 0 x00000010 ) ;
  break;
  case 4 :
  label. setBackgroundColor( 0 xffede0 d8 ) ;
  break;
  ( 此处省略8 ,16 ,32 ,64 ,128 ,256 ,512 ,1024 ,2048 的语法)
  default:
  label. setBackgroundColor( 0 xff3 c3 a22 ) ;
  break;
  }
  * /
  } / / 定义一个equals 方法用于比较卡片中的值的对比
  public boolean equals( Card c) {
  return getNum( ) = = c. getNum( ) ;
  }
  private TextView label;
  }
  2 、触控交互式设计。
  游戏的设计中有4 种事件,分别是上、下、左、右移动。而玩家的手势却是各异,如画圈、画斜线等。如何处理好这些事件,并将其分门别类归纳好,这是基于B / S 架构的安卓版本需要考虑的问题。根据现有的安卓版本,本游戏采取的策略是: 监听用户的按下屏幕位置坐标以及用户离开屏幕的位置坐标,取两者横纵坐标的绝对值相比较再判断大小,从而实现用户手势的监听以及对应事件的触发。
  3 、分数的统计。
  分数的统计是一个繁琐而复杂的过程。有移动事件发生以后,卡片的位置会发生改变,卡片内的值也会发生改变,有些卡片还会被释放。因此应该设计一个全局变量来保存数据; 其次,每个卡片类的设计中必须包含这个要发生交互的值。
  4 、随机卡片的设计。
  任何一款游戏的设计都应该包含随机性。移动卡片后新卡片的产生需要通过随机种子来产生,卡片随机性的实现是一个难点,可以通过Math. random( )  0 . 1  2   4 函数来实现随机性的控制。
  3. 2 游戏程序具体实现
  用一个GridLayout 来放置所有卡片,卡片类中都有设置值及数值大小。通过addRandomNum( ) 添加初始卡片,添加随机数之前需要清空得分。通过cardsMap[p. x][p. y]. setNum( Math.random( )  0. 1  2   4) 确定游戏开始时2 与4的出现比例。在添加数字过程中,分别根据获取值是否为0来确定将右边的值放到当前位置还是合并这2 个值。当屏幕捕捉到有动作时,要添加新的随机数,然后检测游戏是否结束。触屏事件中,需要遍历X、Y 轴上值的情况来判断添加值操作和合并操作。
  各函数属性设置如下:
  point: 分数统计,记录本次游戏的分数;cardsMap[x][y]: 大布局下的小卡片位置;onTouch( View v,MotionEvent e) : 触屏事件;addRandomNum ( ) : 添加一个随机数值的初始卡片;onClickListener( ) : 事件监听器;setNum ( cardsMap[x][y]. getNum ( ) *2 ) : 设置卡片值;addScore ( cardsMap[x][y]. getNum ( ) ) :添加分数;swipeLeft ( ) : 向左触屏移动; swipeRight ( )等方法依次类推;checkComplete ( ) : 检查游戏是否完全结束,是,则激活游戏结束事件;对象:GameView: 游戏主类,继承自GridLayout。游戏的运行载体;Card: 卡片对象,存放卡片相关的属性和方法以及相关的属性存取值方法。
  3. 3 测试结果
  本设计各部分代码完成后,在Android4 . 0模拟器和真机上进行检查调试,各模块功能正常运行。
  4 结论
  本文从Java 出发,以Android 为载体,采用面向对象的方法,小游戏2048的开发,对游戏的界面以及逻辑的优化实现上进行了详细分析,其面向对象的逻辑思维方式,预计在未来很长的一段时间内都会是安卓游戏编程的主流思想。

一种提高电缆载流量的管道填充介质摘要根据现代控制技术的人工神经网络理论提出了一种保护原理构成方案,并分析了原理实现的可行性和技术难点。人工神经网络(AartificialNeuralNetwork,下简称ANN)发电厂设备状态检修管理的必要性与实践摘要论述了发电设备实施状态检修的意义和必要性,以及发电厂开展状态检修管理工作不仅有利于提高安全生产水平,而且可以降低检修费用,提高设备利用率和企业自身效益,更重要的是有利于培养生产浅议城市给水管道安装存在的问题与解决摘要城镇供水管道是城市建设的重要基础设施,对保证城市经济的稳定发展和人民生活水平的提高有着举足轻重的作用。解析城市给水管道是城市建设的重要基础设施,本文介绍了城市给水管道安装流程和薄膜电池应用加速设备瓶颈需要突破新能源专业论文(1)光伏产业是新能源产业,是环境友好的零碳能源。与晶体硅电池相比,CIGS(铜铟镓硒)和CdTe(碲化镉)薄膜太阳能电池具有成本低产能高可靠性高光电转换效率高稳定性好能量回收期短组件应化工排污状况与解决方法透析化工排污状况与解决方法透析化工排污状况与解决方法透析化工排污状况与解决方法透析增强保护及改善化工行业排污的宣传教育力度多方实施宣传教育,增强全民化工行业环境保护观念,广泛号召大家进化工卓越工程师的培养方案探索与实践分析2010年6月,教育部出台了卓越工程师培养计划(简称卓越计划),其目的在于借鉴世界先进国家高等工程教育的成功经验,创建具有中国特色的工程教育模式。这表明中国高等工程教育改革的发展更化学工程与工艺专业应用型人才培养方案的改革与探索分析高等学校的专业培养方案和课程体系是学院办学思想教育理念培养目标规格标准和教学模式的集中体现,是人才培养的顶层设计和办学特色的重要载体,是实施教学过程组织教学活动开展教学改革和进行教110kV电网计算机整定计算新方案准专家系统模式110kV电网继电保护整定计算是一项十分复杂的技术工作。它要求按照一定的整定计算原则,以电网的短路电流计算为基础,进行大量反复的定值计算比较和筛选,工作量很大。因此,怎样把整定计算关于中小型影剧院火灾自动报警系统的设计方案的确定一般情况下中小型影剧院虽然规模较小,但它属于人员密集场所,特别是在放映电影歌舞表演以及召开较为重要的会议时。由于这类剧院规模和空间的限制,它不可能设置足够多足够宽敞的疏散通道,因此茂名热电厂直流系统屏更新改造设计方案浅析1老式直流系统屏存在的缺点茂名热电厂原用的直流系统屏为老式直流系统屏(同一屏为双母线结线,采用直流发电机及硅充电装置)。从超过30a的运行情况来看,主要存在的缺点或不足之处如下。1火电厂蒸汽伴热与电伴热方案的技术经济比较摘要在技术性能上介绍了电伴热的技术优势及蒸汽伴热方案的缺陷,并就某火力发电厂1000m长锅炉仪表管道保温采用电伴热和蒸汽伴热方式,进行了技术,进而得出结论在发电厂的保温中电伴热方案
中国农村政治的现状和发展趋势内容提要本文认为,现阶段中国农村政治的基本状况是国家主导农村社会的格局没有发生根本性的变化,乡镇政权对农村社会的政治经济和文化的发展起着决定性的作用,农村社会秩序处于相对稳态村级治此路不通挡不住追梦的脚步ldquo此路不通rdquo挡不住追梦的脚步,很多人因为一些困难就坚持不下去,半途而废,放弃自己的初衷,放弃追梦的脚步。她的名字叫李翠利,一个普通的农家女。2005年,她在父亲的资浅谈中国人口老龄摘要中国是在经济实力较弱制度准备迟滞的情况下进入老龄社会的,现行养老保障体系医疗保障体制老年照料服务体系和传统管理体制都没有跟上人口老龄化快速发展的要求,是人口老龄化形势最为严峻的经济人假设的文化根基基于西方社会的认知思维和行为机理经济人假设的文化根基基于西方社会的认知思维和行为机理一引言尽管现代西方社会中思想各异流派纷呈,但就近代西方文明的起源而言,它主要有两个思想来源古希腊传统和希伯莱传统,这两个传统最终论西方国家文化产业发展模式与发展趋向探析内容提要西方国家的文化产业经过近百年的探索和发展,在资金实力科技水平市场运作能力创新能力和市场竞争能力等方面已经形成了一整套成熟高效的运作模式,其中竞争保护模式产业综合模式集约化经论析3G时代文化信息资源共享工程服务模式拓展应用论文关键词3G文化信息资源共享工程服务模式论文摘要在当前文化与科技融合的大背景下,随着中国3G市场的开放,3G技术在图书馆领域的应用得到业内越来越多的关注。3G技术拓展了新的服务模论析发展文化信息网络服务经济建设论文关键词信息资源共建共享网络服务图书馆论文摘要着眼我国基层文化信息网络服务建设现状,分析文化信息网络服务的存在问题,探讨解决存在问题的相应对策。1文化信息网络服务的产生背景和重要浅析中西方交际文化差异和大学生跨文化交际能力的培养浅析中西方交际文化差异和大学生跨文化交际能力的培养1中西方文化差异跨文化交际指具有不同文化背景的人们之间的交际。英语学习者有必要了解讲英语语言国家的文化知识,了解汉语和英语的语用差浅议中西方思想文化差异浅议中西方思想文化差异时下,越来越多的中国人特别是年轻人喜欢西方的文化和事物,其热度已形成了一股浪潮,大有愈演愈烈的趋势。当然这与二十一世纪政治气候和文化发展不可分割,中西方交流的中西方跨文化音乐之通补中西方跨文化音乐之通补中西方不同价值观造就彼此音乐于历史发展过程中既有某些相似之处,同时也呈现出诸多不同点。以下笔者将详细地分析中西方音乐的相同点与不同点。1。二者的相同点1。1民中国式油画与西方文化的结合与发展中国式油画与西方文化的结合与发展当前,欧美文化欧美思潮,甚至东方的日本艺术,在强有力的经济支持下,已经渗透到中国内部,且产生了战略效应。这就使得中国的传统文化价值观念,甚至几千来所