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

问题描述 投票:0回答:1

只是想得到一个关于我目前的意见,虽然我在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))

当我运行added_loot方法时,我当前的代码将我的库存字典显示为值。我想知道是否有任何方法可以重新制作这些代码并使用我的字典中的键作为我的自我库存并将其改组?因此,当我打印出str(self.item)时,它将打印出实际的键而不是字典中的值。

python class dictionary object
1个回答
0
投票

您可能想要考虑改写它,或者检查Code Review。您的问题似乎没有要求解决特定问题,特别是您的第一行说您只想对您的代码发表意见。 Stack Overflow实际上不是那个地方。

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

test = Item()
print(test)

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

© www.soinside.com 2019 - 2024. All rights reserved.