创建基于文本的RPG库存系统(python)

时间:2018-08-07 00:01:45

标签: python class dictionary object

我只是想征询我的意见,尽管我在Python中创建的基于文本的RPG框架非常薄。

class Item(object):
    def __init__(self, item):
    if(key in Loot):
        self.item = Inventory[key]
    else:
        self.item = None
        print('No loot obtain for that decision')

    def get_item(self):
        return self.item

    def item(self):
        return str(self.item)

class Inventory(object):
    def __init__(self):
        self.inventory = []

    def add_item(self, item):
        self.inventory.append(item)
        return self.inventory

    def added_loot(self):
        print('Congrats, you have obtained a/an' + str(self.item))

当我运行add_loot方法时,当前代码将清单字典显示为值。我想看看是否有什么办法可以重新制作此代码,并将字典中的键用作我的self.inventory并对其进行随机排序?因此,当我打印出str(self.item)时,它将打印出实际的键,而不是字典中的值。

1 个答案:

答案 0 :(得分:0)

您可能需要考虑对此进行改写,或者改为查看Code Review。您的问题似乎并未要求解决特定问题,尤其是第一行说您只想对代码发表意见。堆栈溢出并不是真正的解决之道。

为回答最后似乎是主要问题的问题,您定义了Item()类,因此您可以考虑添加__str__ or __repr__方法。然后,您可以创建一个实例,并通过简单的print()调用来打印您在上述方法中先前设置的任何字符串。

test = Item()
print(test)

当然,这将要求fixing your __init__ method的缩进不正确,并且没有属性。