def IJK(player1, player2, deterministic, timeout=60, max_moves=30000): game = initialGame(6, '+', deterministic) game.printGame() ## p1 = 0 p2 = 0 moves = [] while not game.state() != 0 and len(moves) < max_moves: start = time.time() move = None for result in player1(copy.deepcopy(game)): end = time.time() if end - start > timeout: break else: move = result if not move: print('player + forfeits the game') break else: print("%s played: %s" % (game.getCurrentPlayer(), move)) moves.append((game.getCurrentPlayer(), move)) game = game.makeMove(move) game.printGame() p1 = p1 + 1 start = time.time() move = None for result in player2(copy.deepcopy(game)): end = time.time() if end - start > timeout: break else: move = result if not move: print('player - forfeits the game') break else: print("%s played: %s" % (game.getCurrentPlayer(), move)) moves.append((game.getCurrentPlayer(), move)) game = game.makeMove(move) game.printGame() p2 = p2 + 1 print('Winner was: ', game.state()) print(p1, p2) return moves
def IJK(player1, player2, deterministic, timeout=120000, max_moves=1000): game = initialGame(4, '+', deterministic) game.printGame() moves = [] while not game.state() != 0 and len(moves) < max_moves: start = time.time() move = None for result in player1(copy.deepcopy(game)): end = time.time() if end - start > timeout: break else: move = result if not move: print('player + forfeits the game') break else: print("%s played: %s" % (game.getCurrentPlayer(), move)) moves.append((game.getCurrentPlayer(), move)) game = game.makeMove(move) game.printGame() start = time.time() move = None for result in player2(copy.deepcopy(game)): end = time.time() if end - start > timeout: break else: move = result if not move: print('player - forfeits the game') break else: print("%s played: %s" % (game.getCurrentPlayer(), move)) moves.append((game.getCurrentPlayer(), move)) game = game.makeMove(move) game.printGame() return moves
def IJK(player1, player2, deterministic, timeout=60, max_moves=30000): game = initialGame(6, "+", deterministic) game.printGame() moves = [] while not game.state() != 0 and len(moves) < max_moves: start = time.time() move = [ result for result in player1(copy.deepcopy(game)) if time.time() - start <= timeout ][-1] if move: print("%s played: %s" % (game.getCurrentPlayer(), move)) moves.append((game.getCurrentPlayer(), move)) game = game.makeMove(move) game.printGame() else: print("player + forfeits the game") break start = time.time() move = None for result in player2(copy.deepcopy(game)): end = time.time() if end - start > timeout: break else: move = result if not move: print("player - forfeits the game") break else: print("%s played: %s" % (game.getCurrentPlayer(), move)) moves.append((game.getCurrentPlayer(), move)) game = game.makeMove(move) game.printGame() print("Winner was: ", game.state()) return moves