我做了一个名为" Alien Invasion"在python中。当游戏结束时,它就无法停止。它无法显示按钮" Play",它会重新开始!我不知道发生了什么。这里有一些关于game_functions和game_stats的代码:
def ship_hit(ai_settings,stats,screen,ship,aliens,bullets):
if stats.ships_left>0:
stats.ships_left-=1
aliens.empty()
bullets.empty()
create_fleet(ai_settings,screen,ship,aliens)
ship.center_ship()
sleep(0.5)
else:
stats.game_active=False
pygame.mouse.set_visible()
def update_screen(ai_settings,screen,stats,ship,aliens,bullets,play_button):
screen.fill(ai_settings.bg_color)
for bullet in bullets.sprites():
bullet.draw_bullet()
ship.blitme()
aliens.draw(screen)
if not stats.game_active:
play_button.draw_button()
pygame.display.flip()
def check_play_button(ai_settings,screen,stats,play_button,ship,aliens,bullets,mouse_x,mouse_y):
button_clicked=play_button.rect.collidepoint(mouse_x,mouse_y)
if button_clicked and not stats.game_active:
pygame.mouse.set_visible(False)
stats.reset_stats()
stats.game_active=True
aliens.empty()
bullets.empty()
create_fleet(ai_settings,screen,ship,aliens)
ship.center_ship()
class GameStats():
def __init__(self,ai_settings):
self.ai_settings=ai_settings
self.reset_stats()
self.game_active=False