我正在学习pygame,但遇到了问题。我的程序创建了一个必须摧毁的外星人舰队。我想在完全移除后立即生成整个舰队,但是当您销毁另一艘时,我的程序会立即生成一艘船。
我尝试使用len <48来限制列表,但是没有用。 这是一个可以立即生成外星人的程序(我也在主循环之前插入了它):
def create_fleet(custom_settings, screen, spaceship, aliens):
alien = Alien(custom_settings, screen)
number_aliens_x = get_number_aliens_x(custom_settings, alien.rect.width)
number_rows = get_number_rows(custom_settings, spaceship.rect.height, alien.rect.height) #!!!
for row_number in range(number_rows):
for alien_number in range(number_aliens_x):
if len(aliens) < 48:
create_alien(custom_settings, screen, aliens, alien_number, row_number)
答案 0 :(得分:0)
我想在完全撤除后生成整个舰队[...]
因此,一旦外星人的数量为0(len(aliens)== 0`),您就必须开始创建外星人舰队,例如:
def create_fleet(custom_settings, screen, spaceship, aliens):
if len(aliens) == 0:
alien = Alien(custom_settings, screen)
number_aliens_x = get_number_aliens_x(custom_settings,alien.rect.width)
number_rows = get_number_rows(custom_settings,spaceship.rect.height,alien.rect.height)
for row_number in range(number_rows):
for alien_number in range(number_aliens_x):
if len(aliens) < 48:
create_alien(custom_settings, screen, aliens, alien_number, row_number)