def game_states_details(game_id, game_state_id): if game_state_id == 'latest': game_state = GameState.find({'game_id': game_id}, limit=1)[0] else: game_state = GameState.find_one({'_id': game_state_id}) return _json_response(game_state.to_dict())
def rematch_game(game_id): game = Game.find_one({'_id': game_id}) game_state = GameState.find({'game_id': game.id}, limit=1)[0] snake_urls = [] for snake in game_state.snakes + game_state.dead_snakes: snake_urls.append(snake['url']) return create_game(snake_urls, game.width, game.height, game.turn_time)[0]
def next_turn(game): game_states = GameState.find({'game_id': game.id}) if len(game_states) > 0: game_state = game_states[0] moves = get_moves(game_state, game.turn_time * 5) next_game_state = Engine.resolve_moves(game_state, moves) next_game_state.insert() return next_game_state else: raise Exception('No GameStates found for %s' % game)
def next_turn(game): game_states = GameState.find({'game_id': game.id}, limit=1) if len(game_states) > 0: game_state = game_states[0] moves = get_moves(game_state, game.turn_time * 5) next_game_state = Engine.resolve_moves(game_state, moves) next_game_state.insert() return next_game_state else: raise Exception('No GameStates found for %s' % game)
def game_states_list(game_id): game_states = GameState.find({'game_id': game_id}) data = [] for game_state in game_states: data.append(game_state.to_dict()) return _json_response(data)