Python Tic Tac Toe


 

It’s no doubt, you must have played Tic Tac Toe in your school days and every one of us loves to play the game. You will be surprised to know that the game of Tic Tac Toe is known to exist since ancient Egypt times.

With this Python project by CodeWithAditya, we are going to build an interactive game of Tic Tac Toe where we’ll learn new things along the way.

What is Tic Tac Toe?

Tic Tac Toe is one of the most played games and is the best time killer game that you can play anywhere with just a pen and paper. If you don’t know how to play this game don’t worry let us first understand that.


Source Code:

theBoard = {
    '7': ' ',
    '8': ' ',
    '9': ' ',
    '4': ' ',
    '5': ' ',
    '6': ' ',
    '1': ' ',
    '2': ' ',
    '3': ' ',
    }

board_keys = []

for key in theBoard:
    board_keys.append(key)


def printBoard(board):
    print board['7'] + '|' + board['8'] + '|' + board['9']
    print '-+-+-'
    print board['4'] + '|' + board['5'] + '|' + board['6']
    print '-+-+-'
    print board['1'] + '|' + board['2'] + '|' + board['3']


# Now we'll write the main function which has all the gameplay functionality.

def game():

    turn = 'X'
    count = 0

    for i in range(10):
        printBoard(theBoard)
        print "It's your turn," + turn + '.Move to which place?'

        move = input()

        if theBoard[move] == ' ':
            theBoard[move] = turn
            count += 1
        else:
            print 'That place is already filled.\nMove to which place?'
            continue

        # Now we will check if player X or O has won,for every move after 5 moves.

        if count >= 5:
            if theBoard['7'] == theBoard['8'] == theBoard['9'] != ' ':  # across the top
                printBoard(theBoard)
                print '''
Game Over.
'''
                print ' **** ' + turn + ' won. ****'
                break
            elif theBoard['4'] == theBoard['5'] == theBoard['6'] != ' ':

                                                                         # across the middle

                printBoard(theBoard)
                print '''
Game Over.
'''
                print ' **** ' + turn + ' won. ****'
                break
            elif theBoard['1'] == theBoard['2'] == theBoard['3'] != ' ':

                                                                         # across the bottom

                printBoard(theBoard)
                print '''
Game Over.
'''
                print ' **** ' + turn + ' won. ****'
                break
            elif theBoard['1'] == theBoard['4'] == theBoard['7'] != ' ':

                                                                         # down the left side

                printBoard(theBoard)
                print '''
Game Over.
'''
                print ' **** ' + turn + ' won. ****'
                break
            elif theBoard['2'] == theBoard['5'] == theBoard['8'] != ' ':

                                                                         # down the middle

                printBoard(theBoard)
                print '''
Game Over.
'''
                print ' **** ' + turn + ' won. ****'
                break
            elif theBoard['3'] == theBoard['6'] == theBoard['9'] != ' ':

                                                                         # down the right side

                printBoard(theBoard)
                print '''
Game Over.
'''
                print ' **** ' + turn + ' won. ****'
                break
            elif theBoard['7'] == theBoard['5'] == theBoard['3'] != ' ':

                                                                         # diagonal

                printBoard(theBoard)
                print '''
Game Over.
'''
                print ' **** ' + turn + ' won. ****'
                break
            elif theBoard['1'] == theBoard['5'] == theBoard['9'] != ' ':

                                                                         # diagonal

                printBoard(theBoard)
                print '''
Game Over.
'''
                print ' **** ' + turn + ' won. ****'
                break

        # If neither X nor O wins and the board is full, we'll declare the result as 'tie'.

        if count == 9:
            print '''
Game Over.
'''
            print "It's a Tie!!"

        # Now we have to change the player after every move.

        if turn == 'X':
            turn = 'O'
        else:
            turn = 'X'

    # Now we will ask if player wants to restart the game or not.

    restart = input('Do want to play Again?(y/n)')
    if restart == 'y' or restart == 'Y':
        for key in board_keys:
            theBoard[key] = ' '

        game()


if __name__ == '__main__':
    game()


Comments

Popular posts from this blog

Just A Really Very Intelligent System with Python

Ads Blocker with Python