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