-
Notifications
You must be signed in to change notification settings - Fork 0
/
algo.py
79 lines (66 loc) · 2.35 KB
/
algo.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
class TicTacToe:
def __init__(self,n):
self.n=n
self.board=[]
for i in range(n):
ele=[]
for j in range(n):
ele.append(" ")
self.board.append(ele)
self.turn=0
self.player=0
def print_board(self):
#n is dimensions
#self.board is the data matrix
for i in range(self.n):
for j in range(self.n):
if j!=self.n-1:
print(self.board[i][j],"|",end="")
else:
print(self.board[i][j])
if i==self.n-1:
pass
else:
for i in range(self.n):
print("-",end=" ")
print()
def empty(self):
lst=[]
for i in range(self.n):
for j in range(self.n):
if self.board[i][j]==" ":
lst.append([i,j])
return lst
def turns(self):
if self.turn%2==0:
self.player=1
self.marker="X"
print("it is player1's turn")
else:
self.player=2
self.marker="O"
print("it is player2's turn")
self.turn+=1
def inputboard(self):
print("user enter row and colum to deploy move")
#space seperated integer input
x,y=map(int,input().split())
self.board[x][y]=self.marker
def checkwin(self):
self.win=False
#horizontal wins
for i in range(self.n):
#horizontal wins
if self.board[i][0]==self.board[i][1] and self.board[i][0]==self.board[i][2] and self.board[i][0]!=" " :
self.win=True
#vertical wins
if self.board[0][i]==self.board[1][i] and self.board[0][i]==self.board[2][i] and self.board[0][i]!=" " :
self.win=True
#diagonal wins
if self.board[0][0]==self.board[1][1] and self.board[0][0]==self.board[2][2]and self.board[0][0]!=" " :
self.win=True
if self.board[0][2]==self.board[1][1] and self.board[0][2]==self.board[2][0]and self.board[2][0]!=" " :
self.win=True
else:
pass
return self.win