存储项目的大部分函数
This commit is contained in:
parent
e771eca2ba
commit
df13eac3b0
|
@ -214,3 +214,24 @@ def get_number_rows(ai_settings, ship_height, alien_height):
|
|||
available_space_y = (ai_settings.screen_height - (3 * alien_height) - ship_height)
|
||||
number_rows = int(available_space_y / (2 * alien_height))
|
||||
return number_rows
|
||||
|
||||
|
||||
def update_aliens(ai_settings, screen, stats, sb, ship, aliens, bullets, bossalien, bossbullet):
|
||||
"""
|
||||
检查是否有外星人位于屏幕边缘,并更新整群外星人的位置
|
||||
"""
|
||||
# 增加:在非BOSS关卡时检查
|
||||
if stats.level != stats.bosslevel:
|
||||
check_fleet_edges(ai_settings, aliens)
|
||||
aliens.update()
|
||||
|
||||
# 检查是否有外星人到达屏幕底端
|
||||
check_aliens_bottom(ai_settings, screen, stats, sb, ship, aliens, bullets)
|
||||
|
||||
# 检测外星人和飞船之间的碰撞
|
||||
if pygame.sprite.spritecollideany(ship, aliens):
|
||||
ship_hit(ai_settings, screen, stats, sb, ship, aliens, bullets, bossalien, bossbullet)
|
||||
|
||||
else:
|
||||
check_bossalien_edges(ai_settings, bossalien)
|
||||
bossalien.update()
|
||||
|
|
Loading…
Reference in New Issue