python - 创建基于文本的 RPG 库存系统 (python)
问题描述
只是想对我在 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 方法时,我当前的代码将我的库存字典显示为值。我想看看是否有任何方法可以重新制作此代码并将字典中的键用作我的 self.inventory 并随机播放这些代码?因此,当我打印出 str(self.item) 时,它将打印出实际的键,而不是字典中的值。
解决方案
您可能需要考虑改写它,或者改为查看Code Review。您的问题似乎并没有要求解决特定问题,特别是您的第一行说您只想对您的代码发表意见。Stack Overflow 并不是真正适合这种情况的地方。
作为对最后似乎是主要问题的回答,您已经定义了一个 Item() 类,因此您可以考虑添加一个__str__
or__repr__
方法。print()
然后,您可以创建一个实例并通过简单的调用打印您之前在所述方法中设置的任何字符串。
test = Item()
print(test)
当然,这需要修复__init__
缩进不正确且没有属性的方法。
推荐阅读
- google-cloud-platform - 谷歌行动项目未显示在谷歌主页上
- tcp - 将从 JAVA TCP 套接字服务器接收到的数据加载到内存中
- python - 我不断收到 TypeError: send() 需要 1 到 2 个位置参数,但是当我使用我在 discord.py 中制作的自定义机器人命令时给出了 3 个
- database - 与 tableau 连接的 AWS 数据库
- google-bigquery - 如何在 SQL Query 中生成重复 ID 的序列号
- tensorflow - Keras Callback - 在哪里可以找到监控字符串值?
- c++ - 如何访问在 IWICBitmap 解码器中打开的图像?
- python - Python XPATH 不返回任何数据
- python - 为矢量化图像(例如图纸)中的相交曲线创建骨架图
- css - 如何在角度元素属性中使用css颜色