示例#1
0
    def human_v_human(current_state, player1, player2):
        game_over = False
        while game_over is False:
            response = False
            while response is False:
                Ui.msg(BoardPresenter.display_terminal_board(current_state))
                response = CommandLinePrompt.get_input(
                    "Enter a number from 1-9: ")
                response = UserActions.make_move(current_state, response)
            BoardState.update_state(current_state, User.current_player,
                                    response)

            if EndStates.did_a_player_win(current_state, User.current_player,
                                          win_config.winning_combos):
                Ui.msg(BoardPresenter.display_terminal_board(current_state))
                Ui.msg('Game Over: ' + User.current_player + ' WINS!')
                return True

            if EndStates.is_draw(current_state):
                Ui.msg('DRAW. GameOver')
                return True

            if User.current_player == player1:
                User.switch_current_user(User.current_player, player2)
            else:
                User.switch_current_user(User.current_player, player1)
示例#2
0
    def make_move(current_state, response):
        spot_list = []
        spot_list.extend(range(1, len(current_state) + 1))
        spot_list = list(map(str, spot_list))

        if response not in spot_list:
            Ui.msg("That spot doesn't exist. Try again.")
            return False
        else:
            response = int(response)
            if SpotStates.is_occupied(current_state, response):
                Ui.msg("That spot has already been selected! Try again.")
                return False
            else:
                return response
示例#3
0
    def computer_v_computer(current_state, player1, player2):
        game_over = False
        while game_over is False:
            Ui.msg(BoardPresenter.display_terminal_board(current_state))
            computers_move = Ai.make_move(current_state)
            BoardState.update_state(current_state, User.current_player,
                                    computers_move)
            if EndStates.did_a_player_win(current_state, User.current_player,
                                          win_config.winning_combos):
                Ui.msg(BoardPresenter.display_terminal_board(current_state))
                Ui.msg('Game Over: ' + User.current_player + ' WINS!')
                return True

            if EndStates.is_draw(current_state):
                Ui.msg('DRAW. GameOver')
                return True

            if User.current_player == player1:
                User.switch_current_user(User.current_player, player2)
            else:
                User.switch_current_user(User.current_player, player1)
示例#4
0
def test_ui_display_takes_a_string_and_returns_it():
    assert Ui.msg("Oh nooo") == print("Oh nooo")