Android综合程序设计(2048游戏).doc

Android综合程序设计(2048游戏).doc

ID:51673162

大小:158.50 KB

页数:6页

时间:2020-03-14

Android综合程序设计(2048游戏).doc_第1页
Android综合程序设计(2048游戏).doc_第2页
Android综合程序设计(2048游戏).doc_第3页
Android综合程序设计(2048游戏).doc_第4页
Android综合程序设计(2048游戏).doc_第5页
资源描述:

《Android综合程序设计(2048游戏).doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、山东轻工业学院实验报告成绩实验项目名称实验七、Android综合程序设计(2048游戏)一、实验目的通过进行一个较为完整的Android应用程序开发,学习综合运用课程所学的相关Android开发知识的,进行移动软件设计的相关能力。在模拟软件开发的过程中,掌握从问题发现、系统分析、系统规划到代码实现中每一步所要做的工作。掌握实际软件开发的过程和方法。二、主要仪器设备、试剂或材料微型计算机;JDK、eclipse、ADT、AndroidSDK等软件包三、实验内容运用Android制作一个简单的2048小游戏。2048游戏

2、的制作属于电子游戏中的益智类小游戏,它做到了娱乐性、趣味性、教育性相统一。益智类的游戏即是需要去开动大脑去思考从而获得游戏的胜利。简单的益智类游戏可以使玩家在娱乐中不断的开发大脑。这样一来就实现了在娱乐中学习四、程序设计思路、运行及及结果分析设计思路:(1)初始化   进入游戏,初始化4*4表格,并随机产生两个数字(2或者4);二维数组this.tables表格循环存入数据; random1, random2 ,random11, random22四个随机数可以确定两个2的xy位置;   方法newNumber里面,

3、根据位置i,j和级别num可以确定一个新的数字;创建背景cell和cell上面的数字标签cellLabel;并根据num确定是否显示cellLabel;最后给cell关联一个data数据;特别说明这里的number:num不是精灵上面的数字而是精灵的级别,比如number=11 则数字是1024。(2)游戏结束的判断   每次发生卡片移动,都要检查游戏还能否继续,是否已经结束。使用函数CheckComplete()完成游戏是否失败的检查。 (3)游戏的计分   在卡片的每一次移动的时候判断是否有两个相同数字进行相加,

4、凡是有相见的两个数字其相加所得的和需要存入计分中,其中如果游戏获得了最高分要对最高分进行保存。 public class BestScore {  private SharedPreferences sp;  public BestScore(Context context){   sp = context.getSharedPreferences("bestscore", context.MODE_PRIVATE);}  public int getBestScore(){   int bestscore = sp

5、.getInt("bestscore", 0);return bestscore;}  public void setBestScore(int bestScore){   Editor editor = sp.edit();  editor.putInt("bestscore", bestScore);editor.commit();}}1、设计页面在设计整个2048游戏之前先得设计一个2048的游戏界面,只有有了游戏界面,才能够进行2048这一款游戏的下一步设计,这是创建2048小游戏的最基础的步骤。 2048这

6、一款游戏的界面是4*4方格的,于是就需要在界面上设置4*4的方格,有了这些方格之后才能在方格上面装卡片(Card),然后才能继续游戏。2、设计游戏在2048游戏的界面设计好了之后,要求完成最核心的玩法就是卡片在于界面上4*4的移动,于是下一步的操作就是对卡片的具体设置,以下是一部分关键代码。  (1)创建一个卡片 private Card getCard(int num){     Card c; if (cards.size()>0) {         c = cards.remove(0);}else{    

7、     c = new Card(getContext());         addView(c);     } c.setVisibility(View.VISIBLE);     c.setNum(num);     return c;   }  (1) 类Card继承了FrameLayout,目的是作为游戏中的卡片,卡片各个数字和样式的实现: public void setNum(int num) {         this.num = num;         if (num<=0) {        

8、     label.setText(""); }else{             label.setText(num+"");}         switch (num) {         case 0:             label.setBackgroundColor(0x00000000);//透明色             

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。