272
社区成员




类的内容和作用
id
、name
、hitPoint
(生命值)、atk
(攻击力)、def
(防御力)等,以及各种物品的存储容器如bottleMap
(瓶子集合)、equipmentMap
(装备集合)等。它还包含了许多操作冒险者属性和物品的方法,如addAtk
(增加攻击力)、addHitPoint
(增加生命值)、addBottle
(添加瓶子)、addEquipment
(添加装备)等。id
、name
、durability
(耐久度)、ce
(战斗力)等属性,以及addDurability
(增加耐久度)、subDurability
(减少耐久度)等方法。Equipment
类,代表剑这种武器,重写了battle
方法,用于计算剑在战斗中的伤害。Equipment
类,代表斧头,其battle
方法有独特的计算伤害方式,会将被攻击者的生命值设为当前的十分之一。Equipment
的子类,battle
方法根据自身属性和攻击者攻击力计算对被攻击者造成的伤害。id
、name
、capacity
(容量)、ce
等属性,以及getIsEmpty
(是否为空)、setIsEmpty
(设置为空)等方法。Bottle
类,用于回复生命值,use
方法实现了增加冒险者生命值并设置为空瓶的功能。Bottle
类,使用后可增加冒险者攻击力,use
方法中根据自身属性计算增加的攻击力。Bottle
类,能增加冒险者防御力,use
方法按照规则增加防御力。id
和name
属性。main
方法,用于读取指令数量和指令内容,并根据指令类型调用Operate
类中的相应方法。类与类的关系
MainClass
与Operate
之间存在“调用”关系。MainClass
根据用户输入的指令来调用Operate
类中的相应方法,以执行各种操作。Operate
与Adventurer
之间存在“调用”关系。Operate
类中的方法会对Adventurer
类的对象进行操作,例如添加冒险者、添加物品到冒险者的背包、执行冒险者的战斗操作等。Adventurer
与Equipment
之间存在“包含”关系。Adventurer
类包含了Equipment
类的对象,用于表示冒险者所拥有的装备。冒险者可以添加装备到自己的背包中(addEquipment
方法),从背包中获取装备(getEquipment
方法),并在战斗中使用装备(useEquipment
方法)。Equipment
是装备的基类,Sword
、Axe
和Blade
类都继承自Equipment
。当冒险者使用相应类型的装备时,会调用对应的子类方法来实现特定的战斗逻辑。Adventurer
与Bottle
之间存在“包含”关系。Adventurer
类包含了Bottle
类的对象,用于表示冒险者所拥有的瓶子。冒险者可以添加瓶子到自己的背包中(addBottle
方法),从背包中获取瓶子(getBottle
方法),并在需要时使用瓶子(useBottle
方法)。Bottle
是瓶子的基类,HpBottle
、AtkBottle
和DefBottle
类都继承自Bottle
。当冒险者使用相应类型的瓶子时,会调用对应的子类方法来实现特定的功能,如回复生命值、增加攻击力或增加防御力。Adventurer
与Fragment
之间存在“包含”关系。Adventurer
类包含了Fragment
类的对象,用于存储碎片信息。冒险者可以获取碎片(getFragment
方法),添加碎片到自己的背包中(addFragment
方法),并使用碎片来执行一些特殊操作(useFragment
方法)。MainClass
类超出行数限制,所有不得不重构读入指令的部分。将指令放在ArrayList
中统一管理,在MainClass
中定义了inputInfo
这个ArrayList
,用于存储输入的指令信息。在MainClass
方法中读取指令数量后,将每一行指令按空格分割后存储到inputInfo
中,然后根据指令类型在Operate
类中进行相应的操作。ID
去删除,而不能根据名字删除,否则会与删除时的重名问题相同。建议给全中测样例数据点,适当提高中测强度,进而降低debug的难度。这样在迭代过程中更好地发现问题,及时调整代码,而不是在强测挂了之后,面对海量的数据难以下手。