从零开始开发Android版2048 (四) 分数、重置、结束

  这一篇的内容主要是在上一篇的基础上,加入分数计算(包括当前分数和最高分数)、游戏结束的判断以及游戏界面的重置这三个部分的功能。

一、分数的计算和保存

         首先,2048这个游戏的分数包括,两个部分当前游戏分数和最高分,当前的游戏分数我们可以保存在程序的变量中,因为它只对当前这盘游戏有用,游戏结束就可以清空;而最高分则需要以一种方式保存在手机中,这样当我们下次再打开游戏时,还能读取到之前操作的最高分。

         1、当前分数

        当前分数的计算还是很简单。我们只需要在每次发生合并的时候,将产生的分数加到我们声明的分数的变量中,然后更新一下用于显示当前分数的控件即可。
        我参考了一下目前大多数2048游戏的积分规则是,合并后格子的分数是多少,就增加多少分。比如2和2合并成4,那么就加4分。
   

        2、最高分

        最高分需要保存在手机中,这样即使我们把游戏的程序关掉,最高分的数据也不会丢失。就我目前知道的Android保存数据的方式有这么几种:1、保存在Android自带的sqlite这个数据库中 2、通过java以文件的形式保存在手机存储中 3、使用Android提供的SharePreferences类来保存 等等(当然实际可用的方法肯定不止这么多,这只是我目前了解到的)
    比较了几种方式,我在这个2048程序中,选用了相对比较简单的SharePreferences类来保存最高分。SharePreferences是Android提供的一个轻量级的用于数据保存的类,它保存的方式是以XML的格式保存在\data\data\<package name>\shared_prefs\目录下面。我查了一下,大多数使用这个类的情景是用于保存一些比如设置信息之类的,不太适合保存太复杂,或者太多的数据。但是对于我们来说,正好用来保存最高分。
  • 6
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值