如何创建一个for循环来初始化我的类的对象而不是逐个进行

Jay*_*itz 1 python loops pygame for-loop

def main():
    screen = pygame.display.set_mode((675, 480))
    pygame.display.set_caption("Space Invaders")

    background = pygame.Surface(screen.get_size())
    background.fill((0, 0, 0))

    allSprites = pygame.sprite.Group()

    for j in range(0, 5):
        for i in range(0, 10):
            invader1 = Invader1(screen, (0, 0))
            invader1.x += 75
            invader1.add(allSprites)
        invader1.y += 75
Run Code Online (Sandbox Code Playgroud)

我正在尝试为一个项目创建一个太空入侵者游戏,但我对for循环有一点麻烦,我想创建10个敌人的实例,而不必输入每个,我知道for循环就是答案,我只是不知道如何初始化它.我想在(0,0)处开始第一个敌人,并在x轴上移动每个敌人75个空间,在创建10个敌人后,在y轴上向下移动75个空格并重复该过程.有谁知道我会如何实现这一目标?提前致谢

Pav*_*sov 6

使用带step参数的范围.

In [4]: range(0, 75 * 5, 75)
Out[4]: [0, 75, 150, 225, 300]
Run Code Online (Sandbox Code Playgroud)

 

allSprites = pygame.sprite.Group()
for y in range(0, 75 * 5, 75):
    for x in range(0, 75 * 10, 75):
        Invader1(screen, (x, y)).add(allSprites)
Run Code Online (Sandbox Code Playgroud)