1+ def sum (a , b , c ):
2+ return a + b + c
3+
4+ def printBoard (xState , zState ):
5+ zero = 'X' if xState [0 ] else ('O' if zState [0 ] else 0 )
6+ one = 'X' if xState [1 ] else ('O' if zState [1 ] else 1 )
7+ two = 'X' if xState [2 ] else ('O' if zState [2 ] else 2 )
8+ three = 'X' if xState [3 ] else ('O' if zState [3 ] else 3 )
9+ four = 'X' if xState [4 ] else ('O' if zState [4 ] else 4 )
10+ five = 'X' if xState [5 ] else ('O' if zState [5 ] else 5 )
11+ six = 'X' if xState [6 ] else ('O' if zState [6 ] else 6 )
12+ seven = 'X' if xState [7 ] else ('O' if zState [7 ] else 7 )
13+ eight = 'X' if xState [8 ] else ('O' if zState [8 ] else 8 )
14+ print (f"{ zero } | { one } | { two } " )
15+ print (f"--|---|---" )
16+ print (f"{ three } | { four } | { five } " )
17+ print (f"--|---|---" )
18+ print (f"{ six } | { seven } | { eight } " )
19+
20+ def checkWin (xState , zState ):
21+ wins = [[0 , 1 , 2 ], [3 , 4 , 5 ], [6 , 7 , 8 ], [0 , 3 , 6 ], [1 , 4 , 7 ], [2 , 5 , 8 ], [0 , 4 , 8 ], [2 , 4 , 6 ]]
22+ for win in wins :
23+ if (sum (xState [win [0 ]], xState [win [1 ]], xState [win [2 ]]) == 3 ):
24+ print ("X Won the match" )
25+ return 1
26+ if (sum (zState [win [0 ]], zState [win [1 ]], zState [win [2 ]]) == 3 ):
27+ print ("O Won the match" )
28+ return 0
29+ return - 1
30+
31+ if __name__ == "__main__" :
32+ xState = [0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ]
33+ zState = [0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ]
34+ turn = 1 # 1 for X and 0 for O
35+ print ("Welcome to Tic Tac Toe" )
36+ while (True ):
37+ printBoard (xState , zState )
38+ if (turn == 1 ):
39+ print ("X's Chance" )
40+ value = int (input ("Please enter a value: " ))
41+ xState [value ] = 1
42+ else :
43+ print ("O's Chance" )
44+ value = int (input ("Please enter a value: " ))
45+ zState [value ] = 1
46+ cwin = checkWin (xState , zState )
47+ if (cwin != - 1 ):
48+ print ("Match over" )
49+ break
50+
51+ turn = 1 - turn
0 commit comments