手机版

基于Android平台的2048游戏设计与开发(10)

时间:2025-07-09   来源:未知    
字号:

在Eclipse中基于Android平台的2048游戏设计与开发

}

}

}

}

emptyPoint.add(new Point(j,i));

Point p = emptyPoint.remove((int)(Math.random()*emptyPoint.size()));

cardArray[p.x][p.y].setNumber(Math.random()>0.1?2:4);

3.8 游戏计分的实现

通过在GameMainActivity中生成一个该类的实例,为了在其他Activity可以访问到该Activity中的方法,重写该类的get方法,然后再写添加分数方法addScore,清空分数方法clearScore,显示分数方法showScore。最后在GameActivity中有数字合并的地方,调用计分方法,使得在有合并的时候可以得到相应的分数。

计分界面如图3-4所示

图 3-4 游戏计分

3.9 游戏结束设置

3.9.1 判断游戏结束的条件

(1)所有的框都有数字;

(2)所有相邻的两个框的数字都不相同。

只有满足以上两个条件,则该局游戏结束,并且会弹出游戏结束对话框,该对话框代码如下: private void endGame(){

boolean flag = true; ALL:

for (int i = 0; i < 4; i++) {

for (int j = 0; j < 4; j++) {

if(cardArray[j][i].getNumber()==0||(j>0&&cardArray[j][i].equals(cardArray[j-1][

i]))||(j<3&&cardArray[j][i].equals(cardArray[j+1][i]))||(i>0&&cardArray[j][i].equals(cardArray[j][i-1]))||(j<3&&cardArray[j][i].equals(cardArray[j+1][i]))||(i<3&&cardArray[j][i].equals(cardArray[j][i+1]))){

flag = false; break

ALL;

基于Android平台的2048游戏设计与开发(10).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
×
二维码
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)