Ejemplo n.º 1
0
def test_run_for_score(seed, playback):
    # Make default player bot
    compiler = Compiler()
    bot = Game.default_prog_for_bot(GameLanguage.LITTLEPY)
    prog = compiler.compile(bot)
    prog.name = "Mock"

    # get computer players
    players = []
    for _ in range(Game.get_number_of_players() - 1):
        players += [Game.default_prog_for_computer()()]
    room = Room([prog] + players, seed=seed)

    runner = GameRunner(Game)
    runner.run(room, playback=playback)
Ejemplo n.º 2
0
def test_start_vars_2(mocker):
    game = Tron(None)
    mocker.patch.object(game, 'place_bike')
    x, y = 4, 5
    prog = MockProg()

    game.init_board()
    game.place_bike.return_value = Bike((x, y), chr(239), prog, game.get_move_consts())
    player = game.create_new_player(prog)
    game.start_game()
    prog.key = "d"
    vars = game.get_vars(player)
    correct_vars = {**make_tron_sensors(game, player, default=0),
                    "height": game.MAP_HEIGHT,
                    "width": game.MAP_WIDTH,
                    "map": make_tron_map(game, (x, y))}

    assert vars == correct_vars
Ejemplo n.º 3
0
def test_crash_with_path_vars(mocker):
    game = Tron(None)
    mocker.patch.object(game, 'place_bike')
    x, y = 1, 0
    prog = MockProg()

    game.init_board()
    game.place_bike.return_value = Bike((x, y), chr(239), prog, game.get_move_consts())
    player = game.create_new_player(prog)
    game.start_game()
    prog.key = "a"  # move left
    player.run_turn(None)
    game.do_turn()
    prog.key = "a"  # move left
    player.run_turn(None)
    game.do_turn()
    assert player.derezzed
    assert game.get_map_array() == make_tron_map(game)  # make sure the player has been removed from the map.
Ejemplo n.º 4
0
def test_wall5_vars(mocker):
    game = Tron(None)
    mocker.patch.object(game, 'place_bike')
    x, y = 0, game.MAP_HEIGHT-1
    prog = MockProg()

    game.init_board()
    game.place_bike.return_value = Bike((x, y), chr(239), prog, game.get_move_consts())
    player = game.create_new_player(prog)
    game.start_game()
    prog.key = "d"  # move right
    prog.state = {"s1x": 0, "s1y": 1,
                  "s2x": -1, "s2y": 0}

    player.run_turn(None)
    game.do_turn()
    vars = game.get_vars(player)

    correct_vars = {**make_tron_sensors(game, player, default=game.TAKEN, s1=game.WALL),
                    "height": game.MAP_HEIGHT,
                    "width": game.MAP_WIDTH,
                    "map": make_tron_map(game, (x+1, y), (x, y))}

    assert vars == correct_vars