Play Classic Tic-Tac-Toe in Python

04 May 2023 Balmiki Mandal 0 Python

Python Tic Tac Toe - A Classic Tic-Tac-Toe Game in Python

Tic-tac-toe is one of the most popular games for kids and adults alike. It is a classic game that has been around for hundreds of years, yet it still holds tremendous appeal today! Now you can play this classic game with a twist – with Python.

Python Tic Tac Toe is a fun game of strategy that pits two players against each other in a battle of wits. The rules are simple: each player takes turns placing their mark (X or O) in an empty square on a 3x3 grid. The first player to get three in a row wins the game.

Python Tic Tac Toe is a great way to improve your coding skills. It requires logical thinking and analytical problem-solving, as you try to outsmart your opponent with every move. Plus, you can customize the game to add more complexity and challenge yourself further.

Python Tic Tac Toe is easy to learn and can be played in just a few minutes. You can play the game online, or download the source code so you can modify it to your heart’s content. Whether you’re a master programmer or a total beginner, Python Tic Tac Toe is sure to provide hours of fun!

 

Here's the full code for a Tic Tac Toe game in Python:

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

def player_input():
    marker = ''
    while marker != 'X' and marker != 'O':
        marker = input('Player 1, choose X or O: ').upper()

    if marker == 'X':
        return ('X', 'O')
    else:
        return ('O', 'X')

def place_marker(board, marker, position):
    board[position] = marker

def win_check(board, mark):
    return ((board[7] == mark and board[8] == mark and board[9] == mark) or # across the top
            (board[4] == mark and board[5] == mark and board[6] == mark) or # across the middle
            (board[1] == mark and board[2] == mark and board[3] == mark) or # across the bottom
            (board[7] == mark and board[4] == mark and board[1] == mark) or # down the left side
            (board[8] == mark and board[5] == mark and board[2] == mark) or # down the middle
            (board[9] == mark and board[6] == mark and board[3] == mark) or # down the right side
            (board[7] == mark and board[5] == mark and board[3] == mark) or # diagonal
            (board[9] == mark and board[5] == mark and board[1] == mark)) # diagonal

import random
def choose_first():
    if random.randint(0, 1) == 0:
        return 'Player 2'
    else:
        return 'Player 1'

def space_check(board, position):
    return board[position] == ' '

def full_board_check(board):
    for i in range(1,10):
        if space_check(board, i):
            return False
    return True

def player_choice(board):
    position = 0
    while position not in range(1,10) or not space_check(board, position):
        position = int(input('Choose your next position: (1-9) '))
    return position

def replay():
    return input('Do you want to play again? Enter Yes or No: ').lower().startswith('y')

print('Welcome to Tic Tac Toe!')

while True:
    the_board = [' '] * 10
    player1_marker, player2_marker = player_input()
    turn = choose_first()
    print(turn + ' will go first.')

    play_game = input('Are you ready to play? Enter Yes or No.')

    if play_game.lower()[0] == 'y':
        game_on = True
    else:
        game_on = False

    while game_on:
        if turn == 'Player 1':
            display_board(the_board)
            position = player_choice(the_board)
            place_marker(the_board, player1)

BY: Balmiki Mandal

Related Blogs

Post Comments.

Login to Post a Comment

No comments yet, Be the first to comment.