我正在我的RPG中实现一个库存系统,我正在尝试使它为我提供物品名称,重量,物品数量等。我在获取项目数量时遇到问题。所以这是我的代码;
class Item():
def __init__(self, name, damage, armor, weight, value, itype, rarity):
self.name = name
self.damage = damage
self.armor = armor
self.weight = weight
self.value = value
self.itype = itype
self.rarity = rarity
class Inventory():
def __init__(self):
self.items = {}
def add_item(self, item):
self.items[item.name] = item
def print_items(self):
print('t'.join(['Name', 'Atk', 'Arm', 'Kg', 'Val', 'Type', 'Rarity']))
for item in self.items.values():
print('t'.join([str(x) for x in [item.name, item.damage, item.armor, item.weight, item.value, item.itype, item.rarity]]))
Items = {
'dragonbane': Item('Dragon bane', 60, 0, 5, 1000, 'Weapon', '.oOo. LEGENDARY .oOo.'), # Name, Damage, Armour, Weight, Type, Rarity
'trainingsword': Item('Training Sword', 2, 0, 5, 10, 'Weapon', '[ Common ]')}
inventory = Inventory()
inventory.add_item(Items['dragonbane']
inventory.print_items()
输出:
Name Atk Arm Kg Val Type Rarity
Dragon bane 60 0 5 1000 Weapon .oOo. LEGENDARY .oOo.
但是,如果我添加两个龙祸根,它只会打印一次龙祸。我根本无法弄清楚如何添加一个系统来计算玩家拥有多少个物品。
提前致谢:D
在项目构造中,只需添加: self.uid= randint(1, 99999999(
*PS:不要忘记在随机模块(从随机导入 randint(顶部导入。
您最好使用 和 UID(唯一 ID(而不是项目名称作为项目的标识符。
例如:
def get_uid():
return random.randint(123456789,987654321)
#here you need to check also for already existing numbers - it's just an example
self.items[get_uid()] = item