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)
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
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)
def test_ui_display_takes_a_string_and_returns_it(): assert Ui.msg("Oh nooo") == print("Oh nooo")