Week 16 - Tic tac toe random move

Post date: Feb 10, 2017 3:50:14 PM

import random

def drawBoard(board):

print(" | | ")

print(" ",board[0],"|",board[1],"|",board[2])

print(" | | ")

print("-------------")

print(" | | ")

print(" ",board[3],"|",board[4],"|",board[5])

print(" | | ")

print("-------------")

print(" | | ")

print(" ",board[6],"|",board[7],"|",board[8])

print(" | | ")

def win(board, player):

if board[0] == player and board[1] == player and board[2] == player:

return True

if board[3] == player and board[4] == player and board[5] == player:

return True

if board[6] == player and board[7] == player and board[8] == player:

return True

if board[0] == player and board[3] == player and board[6] == player:

return True

if board[1] == player and board[4] == player and board[7] == player:

return True

if board[2] == player and board[5] == player and board[8] == player:

return True

if board[0] == player and board[4] == player and board[8] == player:

return True

if board[2] == player and board[4] == player and board[6] == player:

return True

return False

def opponent(sUser):

if sUser == "O":

return "X"

return "O"

def randommove(board, sUser):

emptystep = []

for x in range(0,9):

if board[x] == " ":

emptystep.append(x)

move = random.randint(0,len(emptystep)-1)

move = emptystep[move]

return move

tttBoard = [" "] * 9

drawBoard(tttBoard)

user = input("X or O?:")

if user != "O" and user != "X":

print("You will be X")

user = "X"

print("The computer is", opponent(user))

while(True):

move = input("Make your move (1~9):")

if tttBoard[int(move) - 1] != " ":

print("You lost your move!!!")

else:

tttBoard[int(move) - 1] = user

drawBoard(tttBoard)

if win(tttBoard, user):

print("The", user, "won!!!")

break

move = randommove(tttBoard,opponent(user))

tttBoard[move] = opponent(user)

print("The Attila moves", move + 1)

drawBoard(tttBoard)

if win(tttBoard, opponent(user)):

print("The", opponent(user), "won!!!")

break