Skip to main content
 首页 » 编程设计

python之如何创建一个 for 循环来初始化我的类的对象,而不是一个一个地初始化

2025年05月04日18jyk

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 

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

请您参考如下方法:

使用带有 step 参数的范围。

In [4]: range(0, 75 * 5, 75) 
Out[4]: [0, 75, 150, 225, 300] 

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)