def test_rand_player_get_move(): test_board = board.Board("X", "O") test_board.board_list = [" ", "X", "X", "X", "X", " ", "X", " ", "X"] test_player = player.Player("X") test_rand_player = rand_player.RandomPlayer(test_player) assert test_rand_player.get_move( test_board) in test_board.get_possible_moves()
def test_board_initialization(): test_board = board.Board("X", "O") assert test_board.current_player == "X" assert test_board.other_player == "O" assert test_board.board_list == [ " ", " ", " ", " ", " ", " ", " ", " ", " " ] assert test_board.moves_made == ""
def test_board_unapply_move(): test_board = board.Board("X", "O") test_move = 3 test_board.moves_made += str(test_move) test_board.board_list[test_move] = "X" test_board.unapply_move(test_move) assert test_board.board_list[test_move] == " " assert str(test_move) not in test_board.moves_made
def test_board_apply_move_positive(): test_board = board.Board("X", "O") test_move = 5 test_player = player.Player("X") test_board.current_player = test_player assert test_board.apply_move(test_move) assert test_board.board_list[test_move] == test_player.marker assert str(test_move) in test_board.moves_made
def test_board_reset(): test_board = board.Board("X", "O") test_board.board_list = ["X", " ", " ", " ", "O", " ", " ", " ", " "] test_board.moves_made = "1237" test_board.reset() assert test_board.board_list == [ " ", " ", " ", " ", " ", " ", " ", " ", " " ] assert test_board.moves_made == ""
def test_board_apply_move_negative(): test_board = board.Board("X", "O") test_move = 4 test_board.moves_made += str(test_move) test_player = player.Player("X") test_board.current_player = test_player assert test_board.apply_move(test_move) == False assert test_board.board_list[test_move] == " " assert str(test_move) in test_board.moves_made
def __init__(self, parent): winsound.PlaySound("./audio/pacman_end.wav", winsound.SND_FILENAME | winsound.SND_ASYNC) tk.Frame.__init__(self, parent) self.parent = parent self.board = board.Board() self.board.generate_level() self.canvas = tk.Canvas(self, width=BOARD_WIDTH * CELL_SIZE, height=(BOARD_HEIGHT * CELL_SIZE) + CELL_SIZE / 2, background="black") self.canvas.pack() self.initialise_canvas()
def main(): player1 = construct_player_for("X") player2 = construct_player_for("O") game_board = board.Board(current_player=player1, other_player=player2) while not game_board.check_game_over(): print(game_board) game_board.draw_board() move = game_board.current_player.get_move(board=game_board) game_board.apply_move(move) game_board.turn_player() game_board.turn_player() print("=========================") game_board.draw_board() if game_board.check_win_for_player(game_board.current_player): print(f"congrats player {game_board.current_player.marker} won") elif game_board.check_win_for_player(game_board.other_player): print(f"congrats player {game_board.other_player.marker} won") else: print("It was a tie you both loose.")
def __init__(self, player_o_agent, player_x_agent, context): self.board = board.Board() self.player_o = player.Player(player_o_agent, 1) self.player_x = player.Player(player_x_agent, -1) self.turn = 1 # Initialized to 1, then -1, 1, -1, 1... self.context_gui = context # GUI context for sending messages.
def test_player_is_valid_move_negative(): test_board = board.Board("X", "O") test_player = player.Player("X") move = 20 assert not test_player.is_valid_move(move=move, board=test_board)
def test_player_get_move_negative(): test_player = player.Player('X') test_board = board.Board(test_player, "O") with mock.patch('builtins.input', return_value='3'): assert not test_player.get_move(test_board) == 1
def test_board_get_possible_moves(): test_board = board.Board("X", "O") test_board.board_list = ["X", " ", " ", " ", " ", " ", "X", " ", "O"] assert test_board.get_possible_moves() == [1, 2, 3, 4, 5, 7]
def test_player_is_valid_move_positive(): test_board = board.Board("X", "O") test_player = player.Player("X") move = 3 assert test_player.is_valid_move(move=move, board=test_board)
def test_board_check_win_for_player_negative(): test_board = board.Board("X", "O") test_player = player.Player("X") test_board.board_list = ["X", "X", " ", " ", " ", " ", " ", " ", " "] assert not test_board.check_win_for_player(test_player)
def test_board_check_for_tie(): test_player = player.Player("X") test_board = board.Board(test_player, "O") test_board.board_list = ["X", "X", "O", "O", "O", "X", "X", "O", "X"] assert test_board.check_for_tie()
def test_board_check_empty_negative(): test_board = board.Board("X", "O") test_board.board_list = [" ", " ", "X", " ", " ", " ", "X", " ", " "] assert not test_board.check_empty()
def test_board_repr(): test_board = board.Board("X", "O") assert test_board.__repr__() == test_board.instruction_board
def test_board_turn_player(): test_board = board.Board("X", "O") test_board.turn_player() assert test_board.current_player == "O" assert test_board.other_player == "X"
def test_board_check_move_negative(move): test_board = board.Board("X", "O") test_board.moves_made += str(move) assert test_board.check_move(move) == False
def test_board_check_move_positive(): test_board = board.Board("X", "O") assert test_board.check_move(2) == True