首页 > 解决方案 > 如何创建像电子游戏一样的 LootBox 系统

问题描述

我想练习 java 创建一个 LootBox 开放系统。我刚试过这个。

- 创建一个名为 Tier 的接口。- 创建实现层接口的 UltimateTier、PremiumTier、StandardTier 类。- 创建扩展 UltimateTier 的 Gold、Titanium 扩展 UltimateTier、Silver 扩展 PremiumTier 等的类。

然后我使用 org.reflections 查找从另一个继承的类,以创造机会使用此代码获得黄金等稀有物品

Tier[] tierItem = new Tier[3];
    for (int i = 0; i < 3; i++) {
         int itemQuality = (int)(1 + Math.random()* 10);

        int itemQuality = 1;
        if (itemQuality == 1) {
            tierItem[i] = new UltimateItemTier().getItem();
        }
        if (itemQuality >= 2 && itemQuality <= 4) {
            tierItem[i] = new PremiumItemTier();

        }
        if (itemQuality >= 5) {
            tierItem[i] = new StandardItemTier();
        }
    }

    return tierItem;

它返回给我一个包含 3 个 TIERITEMS 的列表,但我需要根据列表中的每一层随机选择其中的 1 个。

例如,如果有 10 个 PremiumItems,当我打开 StandarBox 时,列表返回“PremiumTier”、“PremiumTier”、“StandardTier”,代码必须选择继承或匹配该层的任何随机项目。

所以列表必须返回(例如)“Silver(PremiumTier), PremiumMetal(PremiumTier), Wood(StandardTier)

标签: javainheritancesystem

解决方案


推荐阅读