gpt4 book ai didi

java - 保存对象以供将来使用

转载 作者:行者123 更新时间:2023-12-02 05:56:38 25 4
gpt4 key购买 nike

我正在编写一个程序(机器人)来在人工智能竞赛中玩类似风险的游戏。我是编程新手,所以到目前为止我已经使用了一些非常基本的编码。在这个游戏中,每一轮程序都会从​​游戏引擎接收一些信息。在程序中,我有一个类BotState,它允许我处理当前回合的信息,例如对手机器人的移动,或者当前在我控制下的区域等。这些信息放在一些ArrayList。我有一些 getter 来访问这些信息并在主类中使用它们。

我的问题是,每一轮,信息都会被覆盖(每一轮意味着程序的新运行),所以我只能访问当前轮的信息。我想做的是保存每轮的所有信息,这样,例如,如果游戏状态在第 10 轮,我仍然可以访问对手在第 8 轮所做的 Action 。

我寻找解决这个问题的方法,并且遇到了名为“对象序列化”的东西。我不太明白它是如何工作的,所以我想知道是否有更简单/更好的方法来完成我想要的事情,或者序列化是否是可行的方法。感谢您的帮助。

编辑:我无法将该程序链接到我的磁盘或数据库。我将机器人的源文件上传到游戏服务器,所以所有内容都必须在源文件中

最佳答案

对于您的情况来说,对象序列化应该相当简单。
简而言之,它是一种将对象存储在磁盘上的方法
稍后从磁盘获取数据并重新创建对象
内存中的状态与序列化之前相同。

另一种方法是自己定义某种表示方式
例如作为 XML block ,针对每个对象并存储它们
XML 文件中的 block 。您可以将其视为自定义序列化
但它仍然是一个序列化。

另一种方法是将对象存储到数据库中。

总而言之,您需要一些永久/持久存储
对于您的对象(无论是直接磁盘还是数据库
/再次使用最低级别的磁盘/)。

关于java - 保存对象以供将来使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23036036/

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