如何管理一组对象?

时间:2019-04-25 09:15:30

标签: java arrays object

对于一个项目,我写了一个基本的RPG,但偶然发现了一个我无法解决的问题。我没有任何Java经验,所以这是我的学习基础。 对于我的玩家,我想制作一个库存清单,假设是二维数组和设备数组(一维,8个值)。我在单独的类中有项目的构造函数,可以从Main函数调用该函数,问题是如何使用getter和setter之类的东西将生成的对象写入这些数组中? 我对此没有代码,因为我不知道该怎么做。 尽管如此,这是一个项目构造函数和我的设备数组:

    public Amulet(String itemName,int itemPrice,int itemLevel,int bonusType,double bonusMagn) {
            super(itemName,itemPrice,itemLevel,false,false,false,false,false,false,false,true,bonusType,bonusMagn);
            this.itemName = itemName;
            this.itemPrice = itemPrice;
            this.itemLevel = itemLevel;
            this.bonusType = bonusType;
            this.bonusMagn = bonusMagn;
        }
    PlayerEquipment[] equipmentArray = new PlayerEquipment[8];

// The many booleans the canWearinSlotX values defined in the super.

感谢您的帮助!

编辑: 感谢您的意见!我相信这对您来说很糟糕,但是我是使用非常基础的知识完成的。我不知道EnumSet及其如何工作,所以我查找了它。与建设者一样。对我来说,从在课堂上学到的2-3个参数构造函数开始,这是以这种方式扩展它的逻辑步骤。

此特定商品的超级商品为:

public class ItemMaster {
protected String itemName;
protected int itemPrice;
protected int itemLevel;

protected ItemMaster(String itemName,int itemPrice,int itemLevel) {
}

}

class ArmourMaster extends ItemMaster {
//Slot 1 Head,2 Chest,3 Legs,4 Foot,5 Hands,6 LeftRing,7 RightRing,8 Amulet
    protected boolean canWear1;
    protected boolean canWear2;
    protected boolean canWear3;
    protected boolean canWear4;
    protected boolean canWear5;
    protected boolean canWear6;
    protected boolean canWear7;
    protected boolean canWear8;

protected ArmourMaster(String itemName,int itemPrice,int itemLevel,boolean canWear1,boolean canWear2,boolean canWear3,boolean canWear4,boolean canWear5,boolean canWear6,boolean canWear7,boolean canWear8) {
    super(itemName,itemPrice,itemLevel);
}

}

public class JewelryMaster extends ArmourMaster {
protected int bonusType;
protected double bonusMagn;

public JewelryMaster(String itemName,int itemPrice,int itemLevel,boolean canWear1,boolean canWear2,boolean canWear3,boolean canWear4,
        boolean canWear5,boolean canWear6,boolean canWear7,boolean canWear8,int bonusType,double bonusMagn) {
    super(itemName,itemPrice,itemLevel,canWear1,canWear2,canWear3,canWear4,canWear5,canWear6,canWear7,canWear8);
}

}

您看到的是,我打算在特定插槽中穿盔甲以及珠宝,而这些珠宝将仅具有固定奖励,而盔甲仅具有防御奖励。我想使它更简单。

0 个答案:

没有答案