Apr-17-2020, 10:44 AM
So, I was working on this for a few days, and i was finally able to make a simple tic tac toe game. It's pretty fun and I personally enjoyed making it
. Here's the code:

from __future__ import print_function import random import os import sys clear = lambda : os.system('cls') def display_board(board): clear() 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 not (marker == 'X' or marker == 'O'): marker = input('Choose O or X to play! ').upper() if marker == 'X': return ('X','O') else: return ('O','X') def place_marker(board,marker,postion): board[position] = marker def win_check (board,mark): return ((board[7] == mark and board[8] == mark and board[9] == mark) or (board[4] == mark and board[5] == mark and board[6] == mark) or (board[1] == mark and board[2] == mark and board[3] == mark) or (board[7] == mark and board[4] == mark and board[1] == mark) or (board[8] == mark and board[5] == mark and board[2] == mark) or (board[9] == mark and board[6] == mark and board[3] == mark) or (board[7] == mark and board[5] == mark and board[3] == mark) or (board[9] == mark and board[5] == mark and board[1] == mark)) def choose_first(): if random.randint(0,1) == 0: return 'Player 1' else: return 'Player 2' def check_space(board,position): return board[position] == ' ' def full_board_check (board): for i in range (1,10): if check_space(board,i): return False return True def player_choice (board): position = ' ' while position not in '1 2 3 4 5 6 7 8 9'.split() or not check_space(board, int(position)): position = input('Choose number input 1-9 : ') return int(position) def replay(): return input('Do you want to play again? Enter Yes or No: ').lower().startswith('y') print('Welcome to Tic Tac Toe Game!') while True: theBoard = [' '] * 10 player1_marker, player2_marker = player_input() turn = choose_first() print(turn + ' will go first.') game_on = True while game_on: if turn == 'Player 1': display_board(theBoard) position = player_choice(theBoard) place_marker(theBoard, player1_marker, position) if win_check(theBoard, player1_marker): display_board(theBoard) print('Congratulations! You have won the game!') game_on = False else: if full_board_check(theBoard): display_board(theBoard) print('The game is a draw!') break else: turn = 'Player 2' else: display_board(theBoard) position = player_choice(theBoard) place_marker(theBoard, player2_marker, position) if win_check(theBoard, player2_marker): display_board(theBoard) print('Player 2 has won!') game_on = False else: if full_board_check(theBoard): display_board(theBoard) print('The game is a tie!') break else: turn = 'Player 1' if not replay(): breakAnd the output:
Output:Choose O or X to play! X
Player 1 will go first.
sh: cls: command not found
| |
| |
| |
-----------
| |
| |
| |
-----------
| |
| |
| |
Choose number input 1-9 : 5
sh: cls: command not found
| |
| |
| |
-----------
| |
| X |
| |
-----------
| |
| |
| |
Choose number input 1-9 : 7
sh: cls: command not found
| |
O | |
| |
-----------
| |
| X |
| |
-----------
| |
| |
| |
Choose number input 1-9 : 8
sh: cls: command not found
| |
O | X |
| |
-----------
| |
| X |
| |
-----------
| |
| |
| |
Choose number input 1-9 : 2
sh: cls: command not found
| |
O | X |
| |
-----------
| |
| X |
| |
-----------
| |
| O |
| |
Choose number input 1-9 : 4
sh: cls: command not found
| |
O | X |
| |
-----------
| |
X | X |
| |
-----------
| |
| O |
| |
Choose number input 1-9 : 6
sh: cls: command not found
| |
O | X |
| |
-----------
| |
X | X | O
| |
-----------
| |
| O |
| |
Choose number input 1-9 : 1
sh: cls: command not found
| |
O | X |
| |
-----------
| |
X | X | O
| |
-----------
| |
X | O |
| |
Choose number input 1-9 : 9
sh: cls: command not found
| |
O | X | O
| |
-----------
| |
X | X | O
| |
-----------
| |
X | O |
| |
Choose number input 1-9 : 3
sh: cls: command not found
| |
O | X | O
| |
-----------
| |
X | X | O
| |
-----------
| |
X | O | X
| |