bot2 = int(bot2) with open(f"saved_weights/epoch{epoch1}.json") as f: weights1 = json.load(f)[bot1] with open(f"saved_weights/epoch{epoch2}.json") as f: weights2 = json.load(f)[bot2] r1 = Robot("test1", weights1) r2 = Robot("test2", weights2) c1 = CodeContainer.from_directory(r1.bot_directory) c2 = CodeContainer.from_directory(r2.bot_directory) game = Game([c1, c2], board_size=16, max_rounds=MAX_ROUNDS, random_pieces=0, debug=True, seed=None) start = time.time() while game.running: print('.', end='', flush=True) game.turn() print() end = time.time() print(f"Winner is {game.winner}") print(f"Time taken = {end - start}") viewer = FancyViewer(game.board_size, game.board_states, window_size=800) viewer.play(delay=0.04)
## if len(sys.argv) >= 2: ## epoch = sys.argv[1] ## else: ## epoch = 0 ## while os.path.isfile(f"saved_weights/epoch{epoch}.json"): ## epoch += 1 ## epoch -= 1 ## print(f"Using epoch {epoch}") ## ## with open(f"saved_weights/epoch{epoch}.json") as f: ## weights = json.load(f)[0] ## ## r1 = Robot("test1", weights) ## c1 = CodeContainer.from_directory(r1.bot_directory) c1 = CodeContainer.from_directory("testbot") c2 = CodeContainer.from_directory("examplefuncsplayer") w = 0 l = 0 for test in range(10): game = Game([c1, c2], board_size=16, max_rounds=250, debug=False, seed=None) while game.running: game.turn() if game.winner == Team.WHITE: w += 1 else: l += 1 print(round(w/(w+l)*100, 2)) viewer = FancyViewer(game.board_size, game.board_states, window_size=800) viewer.play(delay=0.5)
bot2 = int(bot2) with open(f"saved_weights/epoch{epoch1}.json") as f: weights1 = json.load(f)[bot1] with open(f"saved_weights/epoch{epoch2}.json") as f: weights2 = json.load(f)[bot2] r1 = Robot("test1", weights1) r2 = Robot("test2", weights2) c1 = CodeContainer.from_directory(r1.bot_directory) c2 = CodeContainer.from_directory(r2.bot_directory) game = Game([c1, c2], board_size=16, max_rounds=MAX_ROUNDS, debug=True, seed=None, random_pieces=10) start = time.time() while game.running: print('.', end='', flush=True) game.turn() print() end = time.time() print(f"Winner is {game.winner}") print(f"Time taken = {end - start}") viewer = FancyViewer(game.board_size, game.board_states, window_size=800) viewer.play(delay=0.2)
if __name__ == "__main__": import os, sys, json, time from fancyviewer import FancyViewer from robot import Robot MAX_ROUNDS = 250 p1 = sys.argv[1] p2 = sys.argv[2] c1 = CodeContainer.from_directory(p1) c2 = CodeContainer.from_directory(p2) game = Game([c1, c2], board_size=16, max_rounds=MAX_ROUNDS, debug=True, seed=None) start = time.time() while game.running: print('.', end='', flush=True) game.turn() print() end = time.time() print(f"Winner is {game.winner}") print(f"Time taken = {end - start}") viewer = FancyViewer(game.board_size, game.board_states, window_size=800) viewer.play(delay=0.1)
if __name__ == "__main__": import os, sys, json, time from fancyviewer import FancyViewer from robot import Robot MAX_ROUNDS = 500 p1 = sys.argv[1] p2 = sys.argv[2] if len(sys.argv) > 3: MAX_ROUNDS = int(sys.argv[3]) c1 = CodeContainer.from_directory(p1) c2 = CodeContainer.from_directory(p2) game = Game([c1, c2], board_size=16, max_rounds=MAX_ROUNDS, debug=False, seed=None) start = time.time() while game.running: print('.', end='', flush=True) game.turn() print() end = time.time() print(f"Winner is {game.winner}") print(f"Time taken = {end - start}") viewer = FancyViewer(game.board_size, game.board_states, window_size=800) viewer.play(delay=0.02)