我对 Python 和一般编程很陌生。
我正在制作一个基于终端的游戏作为练习项目。游戏将包含一系列房间和怪物。我的计划是制作这些类的怪物和房间实例。我在整个游戏中创建了其中的几个,其中许多是根据玩家的动作动态创建的。
在创建新的怪物和房间时,我目前坚持事先知道他们的名字。像这样:
class Monster(object):
pass
Monster1 = Monster(something)
必须在运行前知道实例名称似乎是一个笨拙的解决方案。我在想用一个变量来跟踪怪物的数量会更容易,然后动态地创建实例名称。这样创建的第一个怪物实例将自动成为 Monster1,下一个将是 Monster2 等。
像这样的东西:
class Monster(object):
pass
monster_id = 0
def createMonster(monster_id)
monster_instance = "Monster" + str(monster_id)
monster_id += 1
# The following is where i'm stuck. Basically I want to have the instance name be equal to the content of monster_instance
(monster_instance) = Monster()
所以问题是:如何在运行前不知道实例名称的情况下创建类的实例?
我也想知道我是否很难让它工作,因为我正在做一些愚蠢的事情,这是一种更聪明/优雅的方式。在任何情况下都非常感谢所有帮助和输入。