Tic Tac Toe computer vs computer
# 2) tic tac toe computer vs computer random
import numpy as np
import random
from time import sleep
def create_board():
return (np.array([[0, 0, 0],
[0, 0, 0],
[0, 0, 0]]))
def possibilities(board):
l = []
for i in range(len(board)):
for j in range(len(board)):
if board[i][j] == 0:
l.append((i, j))
return (l)
def random_place(board, player):
selection = possibilities(board)
current_loc = random.choice(selection)
board[current_loc] = player
return (board)
def row_win(board, player):
for x in range(len(board)):
win = True
for y in range(len(board)):
if board[x, y] != player:
win = False
continue
if win == True:
return (win)
return (win)
def col_win(board, player):
for x in range(len(board)):
win = True
for y in range(len(board)):
if board[y][x] != player:
win = False
continue
if win == True:
return (win)
return (win)
def diag_win(board, player):
win = True
y = 0
for x in range(len(board)):
if board[x, x] != player:
win = False
if win:
return win
win = True # again make win <- true .. for checking secondary diagonal
# if win:
# for x in range(len(board)):
# y = len(board) - 1 - x
# if board[x, y] != player:
# win = False
for x in range(len(board)):
y = len(board) - 1 - x
if board[x, y] != player:
win = False
return win
def evaluate(board):
winner = 0
for player in [1, 2]:
if (row_win(board, player) or
col_win(board, player) or
diag_win(board, player)):
winner = player
if np.all(board != 0) and winner == 0:
winner = -1
return winner
def play_game():
board, winner, counter = create_board(), 0, 1
print(board)
sleep(2)
while winner == 0:
for player in [1, 2]:
board = random_place(board, player)
print("Board after " + str(counter) + " move")
print(board)
sleep(2)
counter += 1
winner = evaluate(board)
if winner != 0:
break
return (winner)
print("Winner is: " + str(play_game()))
#
# # 2) tic tac toe computer vs computer random
#
#
# import numpy as np
# import random
# from time import sleep
#
#
# def create_board():
# return (np.array([[0, 0, 0],
# [0, 0, 0],
# [0, 0, 0]]))
#
#
# def possibilities(board):
# l = []
# for i in range(len(board)):
# for j in range(len(board)):
# if board[i][j] == 0:
# l.append((i, j))
#
# return (l)
#
#
# def random_place(board, player):
# selection = possibilities(board)
# current_loc = random.choice(selection)
# board[current_loc] = player
# return (board)
#
#
# def row_win(board, player):
# for x in range(len(board)):
# win = True
# for y in range(len(board)):
# if board[x][y] != player:
# win = False
# continue
#
# if win == True:
# return (win)
# return (win)
#
#
# def col_win(board, player):
# for x in range(len(board)):
# win = True
#
# for y in range(len(board)):
# if board[y][x] != player:
# win = False
# continue
#
# if win == True:
# return (win)
# return (win)
#
#
# def diag_win(board, player):
# win = True
# y = 0
# for x in range(len(board)):
# if board[x][x] != player:
# win = False
# if win:
# return win
# win = True # again make win <- true .. for checking secondary diagonal
# # if win:
# # for x in range(len(board)):
# # y = len(board) - 1 - x
# # if board[x, y] != player:
# # win = False
#
# for x in range(len(board)):
# y = len(board) - 1 - x
# if board[x][y] != player:
# win = False
# return win
#
#
# def evaluate(board):
# winner = 0
#
# for player in [1, 2]:
# if (row_win(board, player) or
# col_win(board, player) or
# diag_win(board, player)):
# winner = player
#
# if np.all(board != 0) and winner == 0:
# winner = -1
# return winner
#
#
# def play_game():
# board, winner, counter = create_board(), 0, 1
# print(board)
# sleep(2)
#
# while winner == 0:
# for player in [1, 2]:
# board = random_place(board, player)
# print("Board after " + str(counter) + " move")
# print(board)
# sleep(2)
# counter += 1
# winner = evaluate(board)
# if winner != 0:
# break
# return (winner)
#
#
# print("Winner is: " + str(play_game()))
Comments
Post a Comment