我对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()
因此,问题是:如何在运行时不知道实例名称的情况下创建类的实例?
我还想知道我是否很难让它正常工作,因为我做的事情很愚蠢,而这是一种更聪明/更优雅的方法。在任何情况下,所有帮助和投入都将不胜感激。
慕标琳琳
莫回无
相关分类