gpt4 book ai didi

java - 使用序列化java保存游戏(扫雷)进度

转载 作者:太空宇宙 更新时间:2023-11-04 07:22:15 25 4
gpt4 key购买 nike

我正在完成大学的一项作业,我们获得了扫雷游戏的源代码,并且我们有一定的实现要求。其中之一是,所有游戏都是在用户登录后从磁盘读取的,用户可以随时保存游戏进度。我一直在阅读序列化来保存/加载游戏进度,但我发现很难理解这个概念。我不太确定从哪里开始为此编写代码。该游戏不像许多其他扫雷游戏那样使用二维数组。有人可以给我指出任何易于理解的好文档吗?我发现有些网页技术性太强,我迷路了!或者是否有人知道保存扫雷游戏进度的更好方法?抱歉,如果我的问题很广泛,我不确定我应该阅读什么来了解这一点,所以这就是为什么我寻求帮助,以获得正确的方向。

最佳答案

基本上,您实现序列化会强制您将其保存的所有对象转换为序列化过程,以便将其保存在内存中。

如果仅在实体上使用,则可以正确实现序列化

class MinesweeperState implements Serializable {
private Board board;
}

class Board implements Serializable {
private int[][] mineTable;
}

只不过是设置和获取,初始化表、填充地雷以及设置我想在代理或适配器上设置的周围地雷计数器的逻辑。

为了保存本身,只需使用具有此代码的管理器

FileOutputStream fos = null;
ObjectOutputStream out = null;
try {
fos = new FileOutputStream(YOUR_FILENAME_CONSTANT,false);
out = new ObjectOutputStream(fos);
out.writeObject(minesweeperState);
out.close();
System.out.println("Minesweeper state persisted");
} catch (IOException ex) {
LOGGER.err(ex);
}

关于java - 使用序列化java保存游戏(扫雷)进度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19153000/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com