我正在尝试用 python 找出一些 OOP 的东西,但遇到了一些问题。我正在尝试制作一个“游戏”,让玩家在房间网格中走动,每个房间都是 Room 类的实例。如果我想制作一个大网格,实例化每个房间会很痛苦,因为我可能不得不为 64 个不同的房间输入相同的重复坐标模式,所以我想制作一个可以为我做的函数,我我在弄清楚如何做时遇到了问题。这是我的代码:
class Room(object):
def __init__(self, x, y):
self.x = x
self.y = y
def generate_rooms():
names = [a,b,c,d]
locations = [[1,1],[1,2],[2,1],[2,2]] #this line could be a few for loops
for x in range(0,4):
names[x] = Room(locations[x][0],locations[x][1])
这个想法是,这将创建 4 个名为 a、b、c 和 d 的房间,其坐标在位置中指定。Python 不允许我这样做,因为没有定义 a、b、c 和 d。在我尝试过的任何实现中,我都遇到了命名实例需要使用变量名来完成的问题,而且我不知道如何动态生成这些实例。
我进行了很多搜索,但它似乎并不是人们真正想要做的事情,这让我感到困惑,因为在这种情况下它似乎真的很有意义。
非常感谢有关如何解决此问题或如何以更好的方式完成此任务的任何帮助!