Play Classic Tic-Tac-Toe in 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)