基于Android平台的2048游戏设计与开发(10)
发布时间:2021-06-06
发布时间:2021-06-06
在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;
上一篇:物流系统分析与设计重点整理
下一篇:薄壁不锈钢给水管施工工艺