def create_alien(ai_settings, screen, aliens, alien_number, row_number): """创建一个外星人并将其放在当前行""" # 外星人间距为外星人宽度 alien = Alien(ai_settings, screen) alien_width = alien.rect.width #将外星人宽度乘以2,得到每个外星人占据的空间(其中包括其右边的空白区域) #再据此计算当前外星人再当前行的位置 alien.x = alien_width + 2 * alien_width * alien_number alien.rect.x = alien.x alien.rect.y = alien.rect.height + 2 * alien.rect.height * row_number #将每个新创建的外星人都添加到编组aliens aliens.add(alien)
def create_fleet(ai_settings,screen,ship,aliens): """创建外星人群""" #创建一个外星人,并计算一行可容纳多少个外星人 #外星人间距为外星人宽度 alien = Alien(ai_settings,screen) #调用get_number_aliens_x(),并删除了引用alien_width的代码行。因为现在是在create_alien()处理 number_aliens_x = get_number_aliens_x(ai_settings,alien.rect.width) number_rows = get_number_rows(ai_settings,ship.rect.height,alien.rect.height) #创建外星人群 for row_number in range(number_rows): for alien_number in range(number_aliens_x): #调用create_alien() create_alien(ai_settings,screen,aliens,alien_number,row_number)