def main(): # Init display & clock display = pygame.display.set_mode((800, 600), DOUBLEBUF) pygame.display.set_caption("Infinity Swarm") gem_list = ["amber", "amethyst", "emerald", "ruby", "sapphire", "topaz"] display_icon = pygame.transform.scale( pygame.image.load("assets/materials/" + random.choice(gem_list) + ".png"), (64, 64)) pygame.display.set_icon(display_icon) clock = pygame.time.Clock() # Player data holder player_data = PlayerData("Player") # Init screens screen_main = layouts.ScreenMain(display, player_data) screen_levelinfo = layouts.ScreenLevelInfo(display) screen_game = layouts.ScreenGame(display, player_data) current_screen = "main" screens = { "main": screen_main, "levelinfo": screen_levelinfo, "game": screen_game } frame = 0 loop = True while loop: caught_events = pygame.event.get() for event in caught_events: if event.type == pygame.QUIT: loop = False break frame = (frame + 1) % 60 if frame % 5 == 0: player_data.ccps_tick(12) cur_screen = screens[current_screen] upd_rects = cur_screen.update(caught_events) screen_switch = cur_screen.get_switch_screen() if screen_switch: current_screen = screen_switch screens[current_screen].init_screen(cur_screen) pygame.display.update(upd_rects) clock.tick(60)
class EvaluatingApp(App): pdata = ObjectProperty(PlayerData()) def build(self): '''kivy's app init point''' self.build_root() self.build_data() self.show_prepare() def build_root(self): self.build_scene(self.root.scene) def build_scene(self, scene): Builder.load_file('prepare.kv') Builder.load_file('result.kv') scene.prepare = self.build_prepare() scene.lwin = self.build_result(self.pdata.lwin) scene.draw = self.build_result(self.pdata.draw) scene.rwin = self.build_result(self.pdata.rwin) def build_prepare(self): prepare = PrepareScene() prepare.build() prepare.associate(self.pdata) return prepare def build_result(self, ratefunc): result = ResultScene() result.build() result.associate(self.pdata, ratefunc) return result def build_data(self): players = self.pdata.players cteam = self.pdata.cteam for name in PLAYERS: players[name] = (MEAN, STDDEV) cteam.append(name) def show_prepare(self): self.root.show_prepare()
filter(PlayerGameStat.create_dt > cutoff_dt).\ filter(Player.nick != None).\ filter(Player.player_id > 2).\ filter(Player.active_ind == True).\ limit(NUM_PLAYERS).all() else: players = DBSession.query(distinct(Player.player_id)).\ filter(Player.player_id == PlayerElo.player_id).\ filter(Player.player_id == PlayerGameStat.player_id).\ filter(PlayerGameStat.create_dt > cutoff_dt).\ filter(Player.nick != None).\ filter(Player.player_id > 2).\ filter(Player.active_ind == True).\ all() playerdata = PlayerData() if len(players) > 0: stop = datetime.now() td = stop - start print "Query took %.2f seconds" % (datetime_seconds(td)) print "Creating badges for %d players ..." % len(players) start = datetime.now() data_time, render_time = 0, 0 for player_id in players: req.matchdict['id'] = player_id sstart = datetime.now() playerdata.get_data(player_id) sstop = datetime.now()