(board, player)
| 249 | return alpha |
| 250 | |
| 251 | def 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 | |
| 281 | print 'REVERSI/OTHELLO BOARD GAME' |
| 282 | print '0: EvalBoard' |
no test coverage detected