как ограничить список спрайтов в pygame - PullRequest
1 голос
/ 24 октября 2019

Я только учусь пигмею и столкнулся с проблемой. Моя программа создает флот инопланетян, которых вы должны уничтожить. И я хочу создать весь флот сразу после полного удаления, но моя программа порождает корабль сразу, когда вы уничтожили другой.

Я пытался ограничить список, используя while len <48, но этоне работалЭто программа, которая порождает пришельцев сразу (я также вставил ее перед основным циклом): </p>

 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)

Новые корабли появляются в левой верхней грани

1 Ответ

0 голосов
/ 24 октября 2019

И я хочу создать весь флот сразу после полного удаления [...]

Итак, вы должны начать создавать флот инопланетян, как только количество инопланетян достигнет0 (len (инопланетяне) == 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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...