请问2048游戏保存上一次的游戏状态(进度)怎么实现?

针叶 2015-03-19 12:45:44
比如2048小游戏,我玩了一会,但是游戏没有结束,我也没手动点重新开始,然后我退出程序,甚至是重启手机(Activity被主动销毁)后再打开时,上一次的游戏进度都还在,这个是怎么保存的?

我在网上搜了很多,都没弄清楚,我自己做了个2048游戏,不知道怎么像上述那样保存进度(在现有代码的基础上)。
我整个主Activity是LinearLayout布局,显示卡片的容器部分是FrameLayout布局,每次打开游戏就会执行随机产生2个卡片,所以都会刷新点阵,不知道到底怎么识别上次的进度而不产生新的卡片。

求具体一点的实现方法,在哪个位置加什么代码,谢谢各位大神了。

下面试MainActivity.java里的部分,root部分就是显示卡片容器。
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

root = (LinearLayout) findViewById(R.id.container);


然后和卡片有关的我都写在另一个类里GameView.java,这是其中部分:
	public void startGame(){

MainActivity aty = MainActivity.getMainActivity();
aty.clearScore();
aty.showBestScore(aty.getBestScore());

for (int y = 0; y < Config.LINES; y++) {
for (int x = 0; x < Config.LINES; x++) {
cardsMap[x][y].setNum(0);
}
}

addRandomNum();
addRandomNum(); //这两步就是在新开始游戏时随机刷新2张卡片
}


我不太会阐述,希望大神们能懂我意思,总之就是像官方版2048那样保存进度。
...全文
543 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
qmc0000 2015-03-23
  • 打赏
  • 举报
回复
网上去搜,sqlite,sharepreferences是都是怎么存数据和读数据的,这里谁有功夫给你写啊
针叶 2015-03-19
  • 打赏
  • 举报
回复
引用 2 楼 cclovescw 的回复:
主要是矩阵数据和游戏状态存一下文件,或者数据库。下次进来先读取下
我是新手,请教一下具体代码怎么写?用什么方法保存呢?
针叶 2015-03-19
  • 打赏
  • 举报
回复
我是新手,请教一下具体代码怎么写?用什么方法保存呢?
针叶 2015-03-19
  • 打赏
  • 举报
回复
我是新手,请教下具体怎么加代码?用什么API。
  • 打赏
  • 举报
回复
主要是矩阵数据和游戏状态存一下文件,或者数据库。下次进来先读取下
assky124 2015-03-19
  • 打赏
  • 举报
回复
2048是开源的程序把,网上下个看看啊 保存的话,就是4x4的二维矩阵存到Shared Preference,或者存文件

80,355

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧