Oh thank you that makes a lot of sense! This is the rest of my code:
# 7 | 8 | 9
# o|x|o | o|x|o | o|x|o
# --|-|-- | --|-|-- | --|-|--
# o|x|o | o|x|o | o|x|o
# --|-|-- | --|-|-- | --|-|--
# o|x|o | o|x|o | o|x|o
# ----------|---------|-----------
# 4 | 5 | 6
# o|x|o | o|x|o | o|x|o
# --|-|-- | --|-|-- | --|-|--
# o|x|o | o|x|o | o|x|o
# --|-|-- | --|-|-- | --|-|--
# o|x|o | o|x|o | o|x|o
# ----------|---------|-----------
# 1 | 2 | 3
# o|x|o | o|x|o | o|x|o
# --|-|-- | --|-|-- | --|-|--
# o|x|o | o|x|o | o|x|o
# --|-|-- | --|-|-- | --|-|--
# o|x|o | o|x|o | o|x|o
# | |
import random
board1 = [""]+[" "]*9
board2 = [""]+[" "]*9
board3 = [""]+[" "]*9
board4 = [""]+[" "]*9
board5 = [""]+[" "]*9
board6 = [""]+[" "]*9
board7 = [""]+[" "]*9
board8 = [""]+[" "]*9
board9 = [""]+[" "]*9
board = ["", board1, board2, board3, board4, board5, board6, board7, board8, board9]
player = "x"
computer = "o"
turn = "player"
boardNum = ""
move = ""
temp = 1
def drawBoard(board1, board2, board3, board4, board5, board6, board7, board8, board9):
print(" 7 | 8 | 9")
print(" " + board7[7] + "|" + board7[8] + "|" + board7[9] + " | " + board8[7] + "|" + board8[8] + "|" + board8[9] + " | " + board9[7] + "|" + board9[8] + "|" + board9[9])
print(" --|-|-- | --|-|-- | --|-|--")
print(" " + board7[4] + "|" + board7[5] + "|" + board7[6] + " | " + board8[4] + "|" + board8[5] + "|" + board8[6] + " | " + board9[4] + "|" + board9[5] + "|" + board9[6])
print(" --|-|-- | --|-|-- | --|-|--")
print(" " + board7[1] + "|" + board7[2] + "|" + board7[3] + " | " + board8[1] + "|" + board8[2] + "|" + board8[3] + " | " + board9[1] + "|" + board9[2] + "|" + board9[3])
print(" ----------|---------|-----------")
print(" 4 | 5 | 6")
print(" " + board4[7] + "|" + board4[8] + "|" + board4[9] + " | " + board5[7] + "|" + board5[8] + "|" + board5[9] + " | " + board6[7] + "|" + board6[8] + "|" + board6[9])
print(" --|-|-- | --|-|-- | --|-|--")
print(" " + board4[4] + "|" + board4[5] + "|" + board4[6] + " | " + board5[4] + "|" + board5[5] + "|" + board5[6] + " | " + board6[4] + "|" + board6[5] + "|" + board6[6])
print(" --|-|-- | --|-|-- | --|-|--")
print(" " + board4[1] + "|" + board4[2] + "|" + board4[3] + " | " + board5[1] + "|" + board5[2] + "|" + board5[3] + " | " + board6[1] + "|" + board6[2] + "|" + board6[3])
print(" ----------|---------|-----------")
print(" 1 | 2 | 3")
print(" " + board1[7] + "|" + board1[8] + "|" + board1[9] + " | " + board2[7] + "|" + board2[8] + "|" + board2[9] + " | " + board3[7] + "|" + board3[8] + "|" + board3[9])
print(" --|-|-- | --|-|-- | --|-|--")
print(" " + board1[4] + "|" + board1[5] + "|" + board1[6] + " | " + board2[4] + "|" + board2[5] + "|" + board2[6] + " | " + board3[4] + "|" + board3[5] + "|" + board3[6])
print(" --|-|-- | --|-|-- | --|-|--")
print(" " + board1[1] + "|" + board1[2] + "|" + board1[3] + " | " + board2[1] + "|" + board2[2] + "|" + board2[3] + " | " + board3[1] + "|" + board3[2] + "|" + board3[3])
print(" | |")
def startGame():
global player
global computer
player = input("do you want to be x or o? ")
if(player != "o" or "x"):
player = input("thats not an option. do you want to be x or o? ")
if(player == "o"):
computer = "x"
def bigPlayerMove(board, board1, board2, board3, board4, board5, board6, board7, board8, board9):
global boardNum
global player
global move
global turn
boardNum = int(input("Which game would you like to play in? "))
move = int(input("Which space would you like to play in? "))
board[boardNum][move] = player
turn = "player"
drawBoard(board1, board2, board3, board4, board5, board6, board7, board8, board9)
def bigComputerMove(board, board1, board2, board3, board4, board5, board6, board7, board8, board9):
global boardNum
global computer
global move
global turn
boardNum = random.randint(1,9)
move = random.randint(1,9)
while(board[boardNum][move] == "x", "o"):
boardNum = random.randint(1,9)
move = random.randint(1,9)
board[boardNum][move] = computer
turn = "computer"
drawBoard(board1, board2, board3, board4, board5, board6, board7, board8, board9)
def nextGame():
global boardNum
global move
boardNum = move
def smallPlayerMove(board, board1, board2, board3, board4, board5, board6, board7, board8, board9):
global move
global player
global boardNum
global turn
boardNum = move
move = int(input("You are playing in board " + str(boardNum) + ", which space would you like to play in? "))
board[boardNum][move] = player
turn = "player"
drawBoard(board1, board2, board3, board4, board5, board6, board7, board8, board9)
def smallComputerMove(board, board1, board2, board3, board4, board5, board6, board7, board8, board9):
global move
global computer
global boardNum
global turn
boardNum = move
move = random.randint(1,9)
while(board[boardNum][move] == "x" or "o"):
move = random.randint(1,9)
board[boardNum][move] = computer
turn = "computer"
drawBoard(board1, board2, board3, board4, board5, board6, board7, board8, board9)
def checkSmallWin(board):
global boardNum
if((board[boardNum][7] == board[boardNum][8] == board[boardNum][9] != " ") or
(board[boardNum][4] == board[boardNum][5] == board[boardNum][6] != " ") or
(board[boardNum][1] == board[boardNum][2] == board[boardNum][3] != " ") or
(board[boardNum][1] == board[boardNum][4] == board[boardNum][7] != " ") or
(board[boardNum][2] == board[boardNum][5] == board[boardNum][8] != " ") or
(board[boardNum][3] == board[boardNum][6] == board[boardNum][9] != " ") or
(board[boardNum][7] == board[boardNum][5] == board[boardNum][3] != " ") or
(board[boardNum][9] == board[boardNum][5] == board[boardNum][1] != " ")):
if(turn == "player"):
winner = player
else:
winner = computer
board[boardNum] = winner
else:
return False
def checkBigWin(board):
if((board[7] == board[8] == board[9]) or
(board[4] == board[5] == board[6]) or
(board[1] == board[2] == board[3]) or
(board[1] == board[4] == board[7]) or
(board[2] == board[5] == board[8]) or
(board[3] == board[6] == board[9]) or
(board[7] == board[5] == board[3]) or
(board[9] == board[5] == board[1])):
return True
else:
return False
startGame()
drawBoard(board1, board2, board3, board4, board5, board6, board7, board8, board9)
bigPlayerMove(board, board1, board2, board3, board4, board5, board6, board7, board8, board9)
checkBigWin(board)
while(temp == 1):
nextGame()
checkSmallWin(board)
print(boardNum)
if(board[boardNum] == "x" or "o"):
bigComputerMove(board, board1, board2, board3, board4, board5, board6, board7, board8, board9)
nextGame()
checkSmallWin(board)
if(board[boardNum] == "x" or "o"):
bigPlayerMove(board, board1, board2, board3, board4, board5, board6, board7, board8, board9)
else:
smallPlayerMove(board, board1, board2, board3, board4, board5, board6, board7, board8, board9)
nextGame()
else:
smallComputerMove(board, board1, board2, board3, board4, board5, board6, board7, board8, board9)
nextGame()
checkSmallWin(board)
if(board[boardNum] == "x" or "o"):
bigPlayerMove(board, board1, board2, board3, board4, board5, board6, board7, board8, board9)
if(checkBigWin(board) == True):
break
print("game over :)")
The comments at the beginning are how the board should look when printed. This is also not the only bug I’m aware of in the program, but this is the one I’m working on right now.