def game_gen_worker(*args): global WORKER_NN if not WORKER_NN: if WORKER_MODEL_ID > 0: WORKER_NN = load_net(WORKER_DNAME + fname_from_id(WORKER_MODEL_ID)) else: WORKER_NN = Net() WORKER_NN.eval() nn = WORKER_NN p1 = NNSimplePlayer('p1', nn=nn, train=True) p2 = NNSimplePlayer('p2', nn=nn, train=True) g = Game(players=[p1, p2], verbose=False) winner = g.run() extra = '' for _ in range(5): try: fname = '{:05}_{}_{}__{}.json'.format(WORKER_MODEL_ID, int(time.time()), extra, len(p1._states) + len(p2._states)) with open(f'{WORKER_DNAME}{fname}', 'x') as f: json.dump({'p1_s': p1._states, 'p2_s': p2._states, 'w': 0 if p1 == winner else 1}, f) log.info('wrote %s', fname) break except FileExistsError: log.info('file exists') extra = str(random.randint(1,1000))
def worker(p1_p2): p1, p2 = p1_p2 p1 = PLAYERS_MAP[p1] p2 = PLAYERS_MAP[p2] players = [p1(), p2()] game = Game(players, verbose=False) winner = game.run() loser = players[0] if winner == players[1] else players[1] return winner.name, loser.name
def simple_match(): win = {'p1': 0, 'p2': 0} for i in range(500): p1 = RandomPlayer('p1') p2 = RandomPlayer('p2', w=WEIGHT_MAP29) players = [p1, p2] if i % 2: players = players[::-1] g = Game(players, seed=None) winner = g.run() win[winner.name] += 1 print(win) print(win)
def run_match(x: np.ndarray): w = {k: v for k, v in zip(ACTIONS, x)} win = {'p1': 0, 'p2': 0} for i in range(100): p1 = RandomPlayer('p1', w=WEIGHT_MAP) p2 = RandomPlayer('p2', w=w) players = [p1, p2] if i % 2: players = players[::-1] g = Game(players, seed=None, verbose=False) try: winner = g.run() win[winner.name] += 1 except: log.exception('error running game') pct = win['p1'] / (win['p1'] + win['p2']) #log.info('match win ratio: %s', pct) return pct
from engine import Game if __name__ == "__main__": game = Game() game.run()
font = Font('media/fonts/open-24-display-st.ttf', 64) game_config = { "canvas_size": game.window.size, "mixer_config": { "mute": options.mute }, "score": Score(font, (20, 5)), "text_font": font, 'lives_left': config.number_of_lives } game.add_scene(stages.intro.create_scene(game_config)) game.add_scene(stages.gameover.create_scene(game_config)) game.add_scene(stages.stage1.create_scene(game_config)) game.run("intro") def update_score_enemy(sender, scene): """Update player score.""" scene.get_object('score').add(50) scene.event("play", "enemy_kill") def player_shoot(event, scene): """Create a projectile, where the player object is.""" if event.key == pygame.K_SPACE and event.type == pygame.KEYDOWN: player = scene.get_object("player") if player.should_update: x, y, w, _ = player.bounds origin = (x + w - 15, y + 10)
def main(): game = Game() game.run()
def main(): game = Game(_details) game.run()
pass else: pass elif status==listo: break f.close() def getAllWardrobes(): return [ Wardrobe('audiencia/boy/'), Wardrobe('audiencia/girl/'), Wardrobe('audiencia/fashion_boy/'), Wardrobe('audiencia/fashion_girl/'), Wardrobe('audiencia/goth/'), ] all_wardrobes = getAllWardrobes() def buildIndividual(level, wardrobes): if wardrobes is None: wardrobes = all_wardrobes wd=random.choice(wardrobes) i= Individual(wd) i.random(level=level+1, clothinBehavior=wd.behaviour) return i if __name__ == "__main__": wardrobes = getAllWardrobes() # x,y g = Game(*SCREEN_SIZE, **{'framerate': 200}) g.run( SampleScene(g, "Scene1", wardrobes, level=6) )
return random.choice(actions) def choose_buy_actions(self, game, p1, p2, buys): card_to_action = {a.card: a for a in buys} c = self.choose_buy_card(game, p1, p2, card_to_action.keys()) if c: return card_to_action[c] def choose_buy_card(self, game, p1, p2, cards): # buy most expensive b = max(cards, key=attrgetter('cost')) return b class SimplePlayer(Player, SimplePolicy): def choose_action(self, b, p_other, actions): return self.simple_action_policy(self, b, p_other, actions) choose_card_action = choose_action def do_choose_from_piles(self, action, piles, min_n, max_n): return self.simple_pile_policy(self, action, piles, min_n, max_n) if __name__ == '__main__': p1 = InteractivePlayer('p1') p2 = SimplePlayer('p2') g = Game(players=[p1, p2]) winner = g.run()
break f.close() def getAllWardrobes(): return [ Wardrobe('audiencia/boy/'), Wardrobe('audiencia/girl/'), Wardrobe('audiencia/fashion_boy/'), Wardrobe('audiencia/fashion_girl/'), Wardrobe('audiencia/goth/'), ] all_wardrobes = getAllWardrobes() def buildIndividual(level, wardrobes): if wardrobes is None: wardrobes = all_wardrobes wd = random.choice(wardrobes) i = Individual(wd) i.random(level=level + 1, clothinBehavior=wd.behaviour) return i if __name__ == "__main__": wardrobes = getAllWardrobes() # x,y g = Game(*SCREEN_SIZE, **{'framerate': 200}) g.run(SampleScene(g, "Scene1", wardrobes, level=6))
def main(): g = Game(800, 525, framerate = 20, title = "Typus Pocus", icon="escenario/icono.png") g.run( GameIntro(g, pygame.font.Font("escenario/MagicSchoolOne.ttf",50)) ) g.run( MainMenu(g) )
def event(self, evt): if evt.type == KEYDOWN: if evt.key == K_ESCAPE: self.end() elif evt.key == K_SPACE: self.goscene = True elif evt.key == K_RETURN: self.finalizar = True def loop(self): # aca updateamos el mundo cada paso if self.goscene: retorno = self.runScene( SampleScene(self.game, self.nombre + " hijo ")) self.goscene = False print "devolvio", retorno if self.finalizar: self.end(self.nombre) def update(self): self.game.screen.blit(self.background, (0, 0)) font = pygame.font.SysFont("Times New Roman", 30) s = font.render(self.nombre, True, (0, 255, 255)) self.game.screen.blit(s, (0, 0)) if __name__ == "__main__": g = Game(800, 600, framerate=200) g.run(SampleScene(g, "Scene1"))
def play(): p1 = NNUCTPlayer('p1', nn=Net()) p2 = NNUCTPlayer('p2', nn=Net()) g = Game(players=[p1, p2]) winner = g.run()
break if cur == Position(ship.x, ship.y): done = True continue elif game.cells[cur.y][cur.x][2] in visited: break visited.add(game.cells[cur.y][cur.x][2]) else: continue next_ships[next_pos[ship.id].y][next_pos[ship.id].x].remove(ship) next_pos[ship.id].x = ship.x next_pos[ship.id].y = ship.y commands[ship.id] = MoveCommand(self.id, ship.id, 'O') q.extend(next_ships[ship.y][ship.x]) next_ships[ship.y][ship.x].append(ship) ret = list(commands.values()) if (len(next_ships[self.shipyard.y][self.shipyard.x]) == 0 and self.halite >= 1000 and rem > 100 and np.sum(game.cells[:, :, 0]) * 3 > self.map_starting_halite): ret.append(SpawnShipCommand(self.id, None)) return ret def __repr__(self): return f'FastBot(id={self.id}, eps={self.eps})' if __name__ == '__main__': g = Game([FastBot(), FastBot()], size=32) g.generate_start() g.run(replay=True)
#surface.blit(imagen, imagen.get_rect(center=p)) else: surface.blit(self.mano, self.mano.get_rect(center=self.varitaje.nextpos()).move(*DELTAVARITA)) if self.tomateando == 0: if self.sound_tomate: self.sound_tomate = None sounds.tomato() imagen = self.tomate_aplastado surface.blit(imagen, imagen.get_rect(center=surface.get_rect().center)) def doEasterEgg(self): self.mano = pygame.image.load("escenario/manos/mano-easteregg.png").convert_alpha() def setVoluntario(self, voluntario, hacerPuff): """cambia el voluntario. Si hacerPuff es true, entonces baja la varita y hace aparecer el humito""" self.voluntario = voluntario if hacerPuff: self.puffing = MAXPUFFING if DEBUG: print "------------MaxPuffing-------------" def tomateame(self): self.tomateando = MAXTOMATEANDO self.tomateMB = interpol.MadamBezier( self.audiencia.getRandomPersonPosition(),(400,300)) if __name__ == "__main__": g = Game(800, 600, framerate = 200) g.run( AudienciaScene(g, 10) )