不向字典添加元素 - RPG 项目系统



我正在我的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

最新更新