def aline_invasion_game_handle(): #创建默认设置对象(获取默认设置参数) settings = Setting() screen_size = settings.get_screen_size() #初始化pygame模块、创建一个屏幕对象、设置标题栏标题 pygame.init() screen = pygame.display.set_mode(screen_size) pygame.display.set_caption("疯狂外星人") #初始化游戏状态 status = GameStats(settings) game.game_init_deal(status, settings) new_ship = game.create_new_ship(screen, settings) #创建PLAY按钮 button_attr = settings.button button_attr["text_msg"] = "PLAY" play_bubtton = Button(screen, button_attr) #STOP提示栏 button_attr["text_msg"] = "STOP" stop_bubtton = Button(screen, button_attr) #计分板 score = ScoreBoard(screen, settings, status) #游戏主循环 while True: #屏幕背景色颜色绘制 screen_attr = settings.screen.copy() surface_screen_color_draw(screen, screen_attr["color"]) #处理pygame系统事件 game.event_traverl_deal(settings, \ screen, new_ship, play_bubtton, status) #暂停(提示,按钮不可按) if status.game_stop: stop_bubtton.__draw__() score_board_draw(score) pygame.display.flip() continue if not status.game_over: #处理外星人、子弹、飞船在屏幕中的位置以及相关逻辑 game.update_game_status(screen, settings, new_ship, status) #游戏结束则绘制按钮并处理一些统计信息等数据 game.game_over_check(status, new_ship, play_bubtton, settings) #绘制最新屏幕(刷新) score_board_draw(score) pygame.display.flip()