gpt4 book ai didi

java - 象棋游戏的序列化

转载 作者:太空宇宙 更新时间:2023-11-04 12:08:58 27 4
gpt4 key购买 nike

大家好,
               用JAVA ...我正在写国际象棋代码。在该国际象棋代码中,GAME是主要类。它由BOARD组成,而BOARD则由KING,QUEEN,BISHOP,KNIGHT,ROOK组成。这些类KING,QUEEN,BISHOP,KNIGHT,ROOK扩展了零件。因此,现在我想保存游戏并在以后玩。我已经阅读了序列化的概念,但是我不知道如何实现它,我应该在哪个类上编写“ Implements Serializable”。我的代码中也包含静态变量。
序列化之前将静态变量处理为普通变量,反序列化后将其复制回静态变量有帮助吗?谢谢...

最佳答案

要序列化Java中的对象,必须确保:
-此类中的每个字段都是可序列化的
-如果您的任何字段都不可序列化,则必须将其标记为瞬态。序列化/反序列化后,这些字段将获得默认值。

回答您的问题。您要做的是将您的Game对象保存到数据流中并将其存储在某个位置,然后过一段时间再加载它。为此,您需要使Game类实现Serializable。确保组成Game的每个类也实现可序列化(例如King,Queen等)。

将静态上下文保存到局部变量可能可行,但这不是一个很好的解决方案。尝试重新考虑您的Game类实际做什么。每个Game对象都应该是游戏的独立状态,无需在游戏之间共享静态上下文。

About object serialization

Serialization of static variables

关于java - 象棋游戏的序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40057646/

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