我正在创建一个回合制游戏,玩家可以在轮到他的任何时候创建单位 Unit类的缩短版本是:
class Unit(object):
def __init__(self, xpos, ypos, color = 'red'):
self.xpos = xpos
self.ypos = ypos
self.color = color
我想知道是否有办法自动创建此类的实例,而没有 硬编码类似:
unit1 = Unit(1, 1)
unit2 = Unit(1, 2)
...
unitn = Unit(1, 2)
这样我就可以创建一个像create_unit(xpos,ypos,color ='red')这样的函数
我不必担心硬编码每个单元点可用
提前致谢!
P.S。我正在使用Python 2.7
答案 0 :(得分:1)
每当你看到模式: unit1,unit2,...,unitN 时,你应该使用一个列表来存储它们。如果要创建新单元,只需将新单元附加到列表中即可。试试这个例子:
units = []
# Your Unit constructor handles the creation of a new unit:
# No need to create a special function for that.
units.append(Unit(1,1))
units.append(Unit(1,2))
# etc...
print(units)