Example #1
0
def run_code_from(python_file, input_text):
    # Load the player class from the specified .py file
    sys.path.append(os.path.abspath(os.path.dirname(python_file)))
    module = __import__(os.path.splitext(os.path.basename(python_file))[0])
    player_class = next(getattr(module, name) for name in dir(module) if
                        inspect.isclass(getattr(module, name)) and issubclass(getattr(module, name), Player))
    players = Player.create_players([player_class, Player])  # Second player is a dummy
    state = eval(input_text)
    state.to_play = players[0]
    return repr(players[0].move(state))
Example #2
0
def run_code_from(python_file, input_text):
    # Load the player class from the specified .py file
    sys.path.append(os.path.abspath(os.path.dirname(python_file)))
    module = __import__(os.path.splitext(os.path.basename(python_file))[0])
    player_class = next(getattr(module, name) for name in dir(module) if
                        inspect.isclass(getattr(module, name)) and issubclass(getattr(module, name), Player))
    players = Player.create_players([player_class, Player])  # Second player is a dummy
    state = eval(input_text)
    state.to_play = players[0]
    return repr(players[0].evaluate(state, players[0].color))
Example #3
0
def run_code_from(python_file, input_text):
    # Load the player class from the specified .py file
    sys.path.append(os.path.abspath(os.path.dirname(python_file)))
    module = __import__(os.path.splitext(os.path.basename(python_file))[0])
    player_class = next(getattr(module, name) for name in dir(module) if
                        inspect.isclass(getattr(module, name)) and issubclass(getattr(module, name), Player) and \
                        getattr(module, name) != Player)

    init_txt, state_txt = input_text.strip().split("\n")
    eval(init_txt)
    state = eval(state_txt)

    if state.player_row == 0:
        players = Player.create_players([player_class,
                                         Player])  # Second player is a dummy
    else:
        players = Player.create_players([Player, player_class
                                         ])  # First player is a dummy

    state.player = players[state.player_row]
    return repr(players[state.player_row].move(state))
Example #4
0
 def __init__(self, M, N, K, player_classes, timeout=None):
     self.players = Player.create_players(player_classes)
     self.state = State.initial(M, N, K, self.players[0])
     self.timeout = timeout
Example #5
0
 def __init__(self, M, N, K, player_classes, timeout=None):
     self.players = Player.create_players(player_classes)
     self.state = State.initial(M, N, K, self.players[0])
     self.timeout = timeout