gpt4 book ai didi

java - 在没有巨大的 "Constants"类的情况下存储游戏对象常量

转载 作者:行者123 更新时间:2023-11-30 06:58:50 25 4
gpt4 key购买 nike

基本上,我的问题与 this 相同一,除了我必须在非常特定的时间点对每个常量执行代码。

更具体地说,我试图让我的游戏插件更多地遵循面向对象和良好的设计原则和标准。以前,我们有包含游戏对象常量的巨大类,其中有巨大的静态 register方法(例如 registerFirearmsregisterArmor )将这些对象注册到适当的注册表中,然后将它们分配给全局常量。

例如:

public class Items {
public static Item firearm;

public static void register() {
registerFirearms();
}

public static void registerFirearms() {
firearm = new FirearmItem();
Registry.register(firearm);
}
}

在游戏加载过程中的适当时间,Items.register();将被调用,并且该类中的所有值都将准备好在整个插件中使用。

我只是不太确定应该如何存储这些对象实例,而不需要一些可怕的、不可维护的数千行类。

最佳答案

看来每个项目最终都需要在注册表中注册。因此,一长串的东西以某种方式是不可避免的。因此,我认为您不一定要考虑代码组织问题。在我看来,这是一个问题:没有足够的数据管理工具来处理数据。

如果可能,我建议在 Java 代码之外管理数据,探索 SQLite 等选项。通过这种方式,您可以配置数据库,使维护项目数据的过程更加高效。然后更改您的 java 代码,以便它通过迭代数据库查询结果来注册项目。这将使您的数据更易于管理,并使您的 java 代码更加简洁。

关于java - 在没有巨大的 "Constants"类的情况下存储游戏对象常量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41311769/

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