Skip to content

Commit e43fd47

Browse files
authored
Merge pull request prateekiiest#114 from FinMacDov/testing
ISSUE NUMBER: prateekiiest#106.
2 parents 46a40b4 + eb18f76 commit e43fd47

File tree

1 file changed

+55
-50
lines changed
  • Code-Sleep-Python/tic-tac-toe

1 file changed

+55
-50
lines changed

Code-Sleep-Python/tic-tac-toe/code.py

Lines changed: 55 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,44 @@
11
import numpy as np
2+
import random
3+
import time
4+
import matplotlib.pyplot as plt
5+
6+
27
def create_board():
3-
x = np.zeros((3,3))
8+
x = np.zeros((3, 3))
49
return x
510

611
board = create_board()
712

13+
14+
def place(board, player, position):
15+
if board[position] == 0:
16+
board[position] = player
17+
return board
18+
19+
820
def possibilities(board):
9-
y = np.where(board == 0 ) #it gives the indices wherever there are zeros in the form of 2 seperate arrays in a tuple. (array([0, 0, 1, 1, 1, 2, 2, 2]), array([1, 2, 0, 1, 2, 0, 1, 2]))
10-
y= np.array(y) # convert it into array.
11-
z=list(map(tuple, np.transpose(y))) #transpose it to get [0,1],[0,2],[1,0] ... and so on. Then using map function convert each of them to tuple. And keep it totally as a list.
21+
# it gives the indices wherever there are zeros in the form of 2 seperate
22+
# arrays in a tuple.
23+
# (array([0, 0, 1, 1, 1, 2, 2, 2]), array([1, 2, 0, 1, 2, 0, 1, 2]))
24+
y = np.where(board == 0)
25+
y = np.array(y)
26+
z = list(map(tuple, np.transpose(y)))
27+
# transpose it to get [0,1],[0,2],[1,0]
28+
# ... and so on. Then using map function convert each of them to tuple.
29+
# And keep it totally as a list.
1230
return z
13-
#selection=possibilities(board)
14-
#print (y)
15-
def random_place(board,player):
31+
32+
33+
def random_place(board, player):
1634
position = random.choice(possibilities(board))
17-
#print (position)
35+
# print (position)
1836
return place(board, player, position)
1937

20-
board = random_place(board,2)
38+
board = random_place(board, 2)
2139

22-
# row_win
23-
# write your code here!
2440

25-
def row_win(board,player):
41+
def row_win(board, player):
2642
for i in range(3):
2743
if(player == board[i][0]):
2844
if((player == board[i][1]) and (player == board[i][2])):
@@ -31,15 +47,11 @@ def row_win(board,player):
3147
print("False")
3248
else:
3349
print("False")
34-
35-
row_win(board,1)
36-
37-
# ccol_win
38-
# write your code here!
50+
51+
row_win(board, 1)
3952

40-
# write your code here!
4153

42-
def col_win(board,player):
54+
def col_win(board, player):
4355
for i in range(3):
4456
if(player == board[0][i]):
4557
if((player == board[1][i]) and (player == board[2][i])):
@@ -48,15 +60,11 @@ def col_win(board,player):
4860
print("False")
4961
else:
5062
print("False")
51-
52-
col_win(board,1)
63+
64+
col_win(board, 1)
5365

54-
#diag_win
55-
# write your code here!
56-
# write your code here!
57-
# write your code here!
5866

59-
def diag_win(board,player):
67+
def diag_win(board, player):
6068
z = 0
6169
for i in range(3):
6270
if(player == board[i][i]):
@@ -65,51 +73,49 @@ def diag_win(board,player):
6573
print("True")
6674
else:
6775
print("False")
68-
69-
diag_win(board,1)
76+
77+
diag_win(board, 1)
7078

71-
## Evaluate
7279

80+
# Evaluate
7381
def evaluate(board):
7482
winner = 0
7583
for player in [1, 2]:
76-
# Check if `row_win`, `col_win`, or `diag_win` apply. if so, store `player` as `winner`.
77-
if(row_win(board,player)== True or col_win(board,player)== True):
84+
# Check if `row_win`, `col_win`, or `diag_win` apply.
85+
# if so, store `player` as `winner`.
86+
if (row_win(board, player) is True or col_win(board, player) is True):
7887
winner = player
79-
if(diag_win(board,player)== True):
88+
if(diag_win(board, player) is True):
8089
winner = player
8190
if np.all(board != 0) and winner == 0:
8291
winner = -1
8392
return winner
8493

85-
# add your code here.
8694
evaluate(board)
8795

88-
## play_game()
8996

97+
# play_game()
9098
def play_game():
91-
board= create_board()
99+
100+
board = create_board()
92101
if(0 in board):
93102
player = 1
94-
random_place(board,player)
103+
random_place(board, player)
95104
z = evaluate(board)
96105
player = 2
97-
98106
return z
99-
100-
# plot
101-
import time
102-
import matplotlib.pyplot as plt
103107

108+
109+
# plot
104110
R = 1000
105111
ty = []
106112
r = []
107113
s = time.time()
108114
for i in range(R):
109115
z = play_game()
110116
r.append(z)
111-
112-
e = time.time()
117+
118+
e = time.time()
113119
c = e-s
114120
print(c)
115121

@@ -120,30 +126,29 @@ def play_game():
120126
# play strategic
121127
def play_strategic_game():
122128
board, winner = create_board(), 0
123-
board[1,1] = 1
129+
board[1, 1] = 1
124130
while winner == 0:
125-
for player in [2,1]:
131+
for player in [2, 1]:
126132
# use `random_place` to play a game, and store as `board`.
127-
board =random_place(board,player)
133+
board = random_place(board, player)
128134
# use `evaluate(board)`, and store as `winner`.
129135
winner = evaluate(board)
130136
if winner != 0:
131137
break
132138
return winner
133139

134-
play_strategic_game()
140+
play_strategic_game()
141+
135142

136143
# plotting play-strategic-game
137144
# write your code here!
138-
import time
139-
140145
R = 1000
141146
s = time.time()
142147
z = []
143148
for i in range(R):
144149
k = play_strategic_game()
145150
z.append(k)
146-
151+
147152
e = time.time()
148153

149154
x = [z[j] for j in range(R)]

0 commit comments

Comments
 (0)