コード例 #1
0
def test_stat_inc(scoreboard, data):
    temp1 = data['black']
    temp2 = data['white']
    scoreboard.stat_increment(data, Color.non,
                              [HumanPlayer(Color.black),
                               HumanPlayer(Color.white)])
    assert temp1 + 1 == data['black']
    assert temp2 + 1 == data['white']
コード例 #2
0
def test_update_stat():
    game = Game(3, 3, 3, [HumanPlayer(Color.black),
                          HumanPlayer(Color.white)])
    game.winner = Color.white
    scoreboard = Scoreboard("test_update")
    scoreboard.update_stat(game)
    assert os.path.exists("test_update.json")
    assert os.path.exists("test_update.txt")
    result = scoreboard.json_load("test_update.json")
    assert result[Color.black.name] == 0
    assert result[Color.white.name] == 2
    os.remove("test_update.txt")
    os.remove("test_update.json")
コード例 #3
0
 def open_settings_menu(self):
     self.display.fill(view_params.menu_color)
     counter = button.CounterWithLimits(8, 2)
     buttons = []
     start_button = button.Button(120, 70, view_params.black_color)
     player_counter_button = button.Button(120,
                                           70,
                                           view_params.menu_color,
                                           info="2")
     inc_button = button.Button(50, 70, view_params.white_color)
     dec_button = button.Button(50, 70, view_params.white_color)
     foul_button = button.SwitchButton(
         120, 80, [view_params.menu_color, view_params.menu_color],
         ["Without foul", "With foul"], [False, True])
     switches = []
     i = 1
     for color in view_params.colors:
         buttons.append(
             button.SwitchButton(
                 50, 50, [color, view_params.menu_color], [None, None],
                 [const.Color(i), const.Color(i)]))
         i += 1
     for i in range(8):
         switches.append(
             button.SwitchButton(100, 50, [
                 view_params.menu_color, view_params.menu_color,
                 view_params.menu_color
             ], ["Human", "Random bot", "Smart bot"], [
                 HumanPlayer(buttons[i].current_item),
                 RandomBot(buttons[i].current_item, const.PlayerEntity.bot),
                 SmartBot(buttons[i].current_item, const.PlayerEntity.bot)
             ]))
     choice = True
     while choice:
         self.draw_button(75, 50, player_counter_button, buttons)
         self.draw_button(140, 50, player_counter_button, switches)
         player_counter_button.draw(self.display, 300, 100)
         inc_button.draw(self.display,
                         240,
                         100,
                         player_counter_button,
                         action=counter.button_value_increment_with_limit)
         dec_button.draw(self.display,
                         400,
                         100,
                         player_counter_button,
                         action=counter.button_value_decrement_with_limit)
         start_button.draw(self.display, 570, 300)
         foul_button.draw(self.display, 300, 200)
         # difficult_button.draw(self.display, 300, 300)
         for event in pygame.event.get():
             if event.type == pygame.QUIT:
                 choice = False
         if start_button.is_pressed:
             choice = False
             self.game_on_board(
                 self.collect_players(int(player_counter_button.info),
                                      switches), foul_button.current_item)
         pygame.display.update()
コード例 #4
0
def test_make_move_to():
    game = g.Game(
        3, 3, 3,
        [HumanPlayer(Color.black),
         RandomBot(Color.white, PlayerEntity.bot)])
    human_player = game.players[0]
    bot_player = game.players[1]
    x, y = bot_player.make_move(game)
    assert human_player.make_move(game) is None
    assert 0 <= x < 3 and 0 <= y < 3
コード例 #5
0
def test_player_create():
    player = HumanPlayer(Color.black)
    assert player is not None
    assert player.color == Color.black
コード例 #6
0
 def collect_players_from_button(self, buttons):
     players = []
     for i in range(len(buttons)):
         players.append(
             HumanPlayer(const.Color(i + 1), name=buttons[i].info))
     return players
コード例 #7
0
ファイル: test_game.py プロジェクト: Ferocius-Gosling/renjuu
def bot_and_human_players():
    return [HumanPlayer(Color.black), RandomBot(Color.white, PlayerEntity.bot)]
コード例 #8
0
ファイル: test_game.py プロジェクト: Ferocius-Gosling/renjuu
def two_human_players():
    return [HumanPlayer(Color.black), HumanPlayer(Color.white)]
コード例 #9
0
ファイル: test_game.py プロジェクト: Ferocius-Gosling/renjuu

def test_game_init(game):
    assert game.board.length_to_win == 3
    assert game.players is not None
    assert game.winner is None


def test_game_init_with_human(two_human_players):
    game = g.Game(5, 5, 3, two_human_players)
    assert game.players[0].color == Color.black
    assert game.players[1].color == Color.white


@pytest.mark.parametrize("test_input, expected",
                         [([HumanPlayer(Color.red),
                            HumanPlayer(Color.white),
                            HumanPlayer(Color.black)],
                           [Color.black, Color.white, Color.red]),
                          ([HumanPlayer(Color.gray),
                            HumanPlayer(Color.green),
                            HumanPlayer(Color.yellow)],
                           [Color.yellow, Color.green, Color.gray])])
def test_sorted_players(test_input, expected):
    game = g.Game(5, 5, 3, test_input)
    assert game.players[0].color == expected[0]
    assert game.players[1].color == expected[1]
    assert game.players[2].color == expected[2]
    assert game.current_player.color == expected[0]

コード例 #10
0
def game():
    return Game(15, 15, 5,
                [HumanPlayer(Color.black),
                 SmartBot(Color.white, PlayerEntity.bot)])