Beispiel #1
0
def play_game(input, channel, user):
    """Utilizes input from slack channel to process game play"""

    if input[0] == 'play':
        if len(input) == 1:
            message = """You need to tag someone to play! \n
                        TYPE:  '/ttt play @an_awesome_person' """
            return send_message(channel, message)
        elif Channel.query_channel_game is True:
            #Querying channel to see if game in plan
            message = """Sorry game in play!
                        TYPE:" '/ttt board' to show the board! """
            return send_message(channel, message)
        else:
            Channel.link_game_channel(channel, user, input[1])
            message = """Time to play! \n
            From left to right, top to bottom the spaces are numbers 1-9
            TYPE: '/ttt move (then your number)' to make a move!"""
            return send_message(channel, message)

    elif input[0] == 'board':
        return send_message(channel, display_board(channel))

    elif input[0] == 'move':
        if input[1] is None:
            message = """Please specify space!"""
            return send_message(channel, message)
        else:
            if Move.whose_turn(channel) != user:
                message = "Not your turn!"
                return send_message(channel, message)
            elif Move.move_made(input[1], channel):
                message = "Move already made!"
                return send_message(channel, message)
            else:
                Move.create_move(channel, user, input[1])
                is_game_over = Move.game_over(channel, user)
                if (is_game_over[0] is True):
                    Move.clear_game(channel)
                    return send_message(channel, "Yay, you won!")
                else:
                    if (Move.board_full(channel) is True):
                        message = "Cat's game! Try again."
                        Move.clear_game(channel)
                        return send_message(channel, message)
                    else:
                        message = "Your turn: " + Move.whose_turn(channel)
                        send_message(channel, display_board(channel))
                        return send_message(channel, message)

    return