def run_game(): """运行图片选择游戏""" # 初始化屏幕对象 pygame.init() sp_settings = Settings() screen = pygame.display.set_mode( (sp_settings.screen_width, sp_settings.screen_height)) pygame.display.set_caption('Select Picture') # gf.generate_pictures(sp_settings) # 生成图片库(首次使用时需要) files = os.listdir('images') # 获取images下所有图片名称 # 加载所有图片 all_pictures = Group() selected_pictures = Group() unselected_pictures = Group() optional_pictures = Group() for file in files: pics = Pictures(sp_settings, screen, file) pics.update() all_pictures.add(pics) # 初始化剩余图片数量 stats = PicturesStats(len(all_pictures.sprites())) gf.choice_pictures(stats, all_pictures, selected_pictures, unselected_pictures, optional_pictures) # 提示信息 tips = Tips(sp_settings, screen, stats) # 统计图表 st_chart = Statistic(sp_settings, screen) # 弹出登录框 user_name = easygui.enterbox('Pls input you name...', title='') while not user_name: # 输入正确的名字或按cancel结束循环 if user_name is None: # cancel 退出程序 sys.exit() user_name = easygui.enterbox('Pls input you name...', title='') easygui.msgbox('Welcome %s' % (user_name, )) st_chart.load_history(user_name + '.txt') pygame.display.set_caption(user_name.title() + 'Select Picture ...') # 无限循环 while True: # 监听事件 gf.check_events(sp_settings, screen, stats, st_chart, all_pictures, user_name, selected_pictures, unselected_pictures, optional_pictures) gf.update_help_string(sp_settings, stats, optional_pictures) gf.update_tips(tips) gf.update_screen(sp_settings, screen, stats, tips, st_chart, all_pictures, selected_pictures, unselected_pictures, optional_pictures)