我正在尝试用python解决一些面向对象的问题,但遇到了一些问题。我试图制作一个“游戏”,让玩家在一个房间网格中走动,每个房间都是房间类的一个实例。如果我想做一个大的网格,实例化每个房间将是一件痛苦的事,因为我可能需要为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没有定义。在我尝试过的任何实现中,我都遇到了这样一个问题:命名实例需要使用变量名,而我不知道如何动态生成这些实例。你知道吗
我已经搜索了很多,但似乎实例化的自动化并不是人们真正想做的事情,这让我很困惑,因为在这样的情况下它似乎真的很有意义。你知道吗
任何关于如何解决这个问题或如何更好地完成这个任务的帮助都是非常感谢的!你知道吗