Android2048小游戏设计思路 安卓手机游戏程序设计
题 目 Android小游戏之2048
院 系
专 业 软件技术专业
学生姓名 宋建
学 号 DZXXX140
二O年月日
是
否
(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)游戏的计分
在卡片的每一次移动的时候判断是否有两个相同数字进行相加,凡是有相见的两个数字其相加所得的和需要存入计分中,其中如果游戏获得了最高分要对最高分进行保存。
public class BestScore {
private SharedPreferences sp;
public BestScore(Context context){
sp = context.getSharedPreferences("bestscore", context.MODE_PRIVATE);}
public int getBestScore(){
int bestscore = sp.getInt("bestscore", 0);
return bestscore;}
public void setBestScore(int bestScore){
Editor editor = sp.edit();
editor.putInt("bestscore", bestScore);
mit();}
}
3 结果展示
3.1 游戏开始界面
游戏开始啦,当所有步骤完成之后,运行程序,出现虚拟机,打开游戏2048,显示如下界面。
3.2 游戏结束界面
4 结论
经过了几天的努力终于把2048这个游戏完成了,想当初看这个游戏玩法简单又内容简单,没想到制作起来是这样“浩大”的一个工程。在这短短的几天时间里,参考了许多的相关资料,有时候感觉很辛苦不想再做下去了,但是又想试试看挑战一下自己的能力能不能完成这样一个任务,于是又在网上找到了不少对我很有帮助的材料、视频,为了自己的目标就这样一点一点地去完成这个项目。
这几天里让我学习到了制作小游戏的基本步骤,首先要创建一个页面,然后再对页面进行相应的设置,再者要对对象进行设置,最后要使游戏能够听我们的指挥我们要插入一个事件监听,而且其中还需要结合各种算法才能实现这样的一个小小的小游戏,真是“麻雀虽小,五脏俱全”。
最终运行出来的结果因为本人能力实在有限,完成不了用户自定义背景这个目标,而且在游戏结束之后最终得分无法显示在结束界面上,这让我意识到自身能力的不足,还有许许多多的知识等待着我去了解、去学习。虽然如此,但是看着最终运行出来的结果,还是给了我很大的鼓舞和安慰,这一次制作2048小游戏的经验让我受益匪浅,感受到了这个项目是我要正真用心认认真真完成的一件事,这真是一个难得的学习的过程。