MCPcopy Create free account
hub / github.com/ActiveState/code / BestMove

Function BestMove

recipes/Python/580698_Reversi_Othello/recipe-580698.py:251–279  ·  view source on GitHub ↗
(board, player)

Source from the content-addressed store, hash-verified

249 return alpha
250
251def BestMove(board, player):
252 maxPoints = 0
253 mx = -1; my = -1
254 for y in range(n):
255 for x in range(n):
256 if ValidMove(board, x, y, player):
257 (boardTemp, totctr) = MakeMove(copy.deepcopy(board), x, y, player)
258 if opt == 0:
259 points = EvalBoard(boardTemp, player)
260 elif opt == 1:
261 points = Minimax(boardTemp, player, depth, True)
262 elif opt == 2:
263 points = AlphaBeta(board, player, depth, minEvalBoard, maxEvalBoard, True)
264 elif opt == 3:
265 points = Negamax(boardTemp, player, depth, 1)
266 elif opt == 4:
267 points = NegamaxAB(boardTemp, player, depth, minEvalBoard, maxEvalBoard, 1)
268 elif opt == 5:
269 points = Negascout(boardTemp, player, depth, minEvalBoard, maxEvalBoard, 1)
270 elif opt == 6:
271 points = AlphaBetaSN(board, player, depth, minEvalBoard, maxEvalBoard, True)
272 elif opt == 7:
273 points = NegamaxABSN(boardTemp, player, depth, minEvalBoard, maxEvalBoard, 1)
274 elif opt == 8:
275 points = NegascoutSN(boardTemp, player, depth, minEvalBoard, maxEvalBoard, 1)
276 if points > maxPoints:
277 maxPoints = points
278 mx = x; my = y
279 return (mx, my)
280
281print 'REVERSI/OTHELLO BOARD GAME'
282print '0: EvalBoard'

Callers 1

recipe-580698.pyFile · 0.85

Calls 12

rangeFunction · 0.85
ValidMoveFunction · 0.85
EvalBoardFunction · 0.85
MinimaxFunction · 0.85
AlphaBetaFunction · 0.85
NegamaxFunction · 0.85
NegamaxABFunction · 0.85
NegascoutFunction · 0.85
AlphaBetaSNFunction · 0.85
NegamaxABSNFunction · 0.85
NegascoutSNFunction · 0.85
MakeMoveFunction · 0.70

Tested by

no test coverage detected