def get_game(self, hid, room, table): key = str(room) + '-' + str(table) game = self.games.get(key) if not game: game = GomokuGame() game.set_bplayer(hid) opponent = self.get_opponent(hid) game.set_wplayer(opponent) self.games[key] = game return game
class GomokuApp(App): def __init__(self, **kwargs): super(GomokuApp, self).__init__(**kwargs) self.game = GomokuGame(GuiPlayer, GuiPlayer) self.layout = BoardLayout() # self.game = GomokuGame(GuiTestPlayer, GuiTestPlayer) # self.game = GomokuGame(ReinforceAIPlayer, ReinforceRandomPlayer) # self.game = GomokuGame(RandomAIPlayer, RandomAIPlayer) def build(self): self.game.set_event_callback(self.callback) return self.layout def on_start(self): Thread(target=self.game.start, daemon=True).start() @mainthread def callback(self, event): if isinstance(event, MoveEvent): self.layout.board_grid.update_stone(event) elif isinstance(event, BoardUpdateEvent): self.layout.board_grid.board_value_listener(event) elif isinstance(event, GameOverEvent): self.stop()
class GomokuApp(App): def __init__(self, **kwargs): super(GomokuApp, self).__init__(**kwargs) self.layout = BoardLayout() # self.game = GomokuGame(GuiPlayer, GuiPlayer) # self.game = GomokuGame(GuiTestPlayer, GuiTestPlayer) self.game = GomokuGame(ReinforceAIPlayer, ReinforceAIPlayer) # self.game = GomokuGame(RandomAIPlayer, RandomAIPlayer) def build(self): self.game.set_event_callback(self.callback) return self.layout def on_start(self): Thread(target=self.game.start, daemon=True).start() @mainthread def callback(self, event): if isinstance(event, MoveEvent): self.layout.board_grid.update_stone(event) elif isinstance(event, BoardUpdateEvent): self.layout.board_grid.board_value_listener(event) elif isinstance(event, GameOverEvent): self.stop()
def evaluation_function(individual): # start_time = time.time() weights = individual[0:p.NEEDED_WEIGHTS] biases = individual[p.NEEDED_WEIGHTS:(p.NEEDED_WEIGHTS + p.NEEDED_BIASES)] splitted_weights = new_ann.convert_weights_to_arrays(p.LAYER_SIZES, weights) splitted_biases = new_ann.convert_biases_to_arrays(p.LAYER_SIZES, biases) # ann = new_ann.neuralnetwork(splitted_weights, splitted_biases, LAYER_SIZES, activation=[nnet.sigmoid, nnet.sigmoid, nnet.sigmoid, nnet.sigmoid]) ann = new_ann.neuralnetwork(splitted_weights, splitted_biases, p.LAYER_SIZES, activation=[new_ann.relu, new_ann.relu, new_ann.relu, new_ann.relu]) reg_ai_player = Player_fast(None, random_start=p.RANDOM_START) ann_player = ANN_Player(None, ann) game = GomokuGame.playToTheEnd(reg_ai_player, ann_player) fit = len(game.moves) if game.winner == ann_player.color: fit += 10000.0 elif game.winner == game.DRAW: fit += 5000.0 # print("Moves:", len(game.moves)) return len(game.moves),
def __init__(self, **kwargs): super(GomokuApp, self).__init__(**kwargs) self.game = GomokuGame(GuiPlayer, GuiPlayer) self.layout = BoardLayout()
def __init__(self, **kwargs): super(GomokuApp, self).__init__(**kwargs) self.layout = BoardLayout() # self.game = GomokuGame(GuiPlayer, GuiPlayer) # self.game = GomokuGame(GuiTestPlayer, GuiTestPlayer) self.game = GomokuGame(ReinforceAIPlayer, ReinforceAIPlayer)
from game import GomokuGame from player import GuiPlayer, RandomAIPlayer, ReinforceAIPlayer, GuiTestPlayer game = GomokuGame(ReinforceAIPlayer, ReinforceAIPlayer) game.start()