-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMinimax
29 lines (29 loc) · 865 Bytes
/
Minimax
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
def minimax(current_board,isMaximize):
global winner
winner = 'None'
who_won(current_board)
if winner == 'O':
return 1
if winner == 'X':
return -1
if winner == 'Tie':
return 0
score = 0
if isMaximize:
best_score = -10000
for i in range(9):
if board[i] == '-':
current_board[i] = 'O'
score = minimax(current_board,False)
current_board[i] = '-'
best_score = max(best_score, score)
return best_score
else:
best_score = 10000
for i in range(9):
if board[i] == '-':
current_board[i] = 'X'
score = minimax(current_board,True)
current_board[i] = '-'
best_score = min(best_score, score)
return best_score