我目前正在开发一个“物品掉落”系统,当杀死敌人时,物品(及其属性)会随机生成。我现有的系统是一个类层次结构,其中 Item 是根超类。每个类都有特定的属性,适用于所有子类。
理想情况下,在掉落物品时,程序将随机选择物品的一种属性,并相应地沿着层次结构树向下移动。例如,过程如下:
类 | 随机选择的属性确定路径在树中: Item | ItemType -> Equipable | EquipType -> Weapon | WeaponType -> 等等。
示例代码:
理想情况下,在掉落物品时,程序将随机选择物品的一种属性,并相应地沿着层次结构树向下移动。例如,过程如下:
类 | 随机选择的属性确定路径在树中: Item | ItemType -> Equipable | EquipType -> Weapon | WeaponType -> 等等。
示例代码:
abstract class Item
{
private Type itemType;
private String itemName;
private int itemLevel;
private Rarity itemRarity;
private boolean questItem;
private int itemPrice;
public Item(String name)
{
itemType = Type.randomize();
itemName = name;
itemLevel = randomizeLevel(pLvl, eLvl);
itemRarity = Rarity.randomize(bonus, pLvl, eLvl, iLvl);
questItem = false;
itemPrice = determinePrice();
}
}
Type是一个枚举类型,用于决定层次结构中的下一个级别。使用这个系统,我不知道如何让程序确定下一个级别,然后进行操作。
我遇到的问题是,我意识到为了使此系统正常工作,我必须从层次结构的底部开始向上工作。是否有一种方式可以从上往下工作,也就是说,我可以从基本的Item类开始,并按程序方式逐步向下工作(使用我创建的方法来随机选择属性)。
如果没有,那么我应该如何实现这个系统?