From 16497d70e2d4f9e7568d56e5bc791fcd0a625a4f Mon Sep 17 00:00:00 2001 From: Jack Vehmeier Date: Tue, 27 Apr 2021 23:08:41 -0500 Subject: alphabeta is closer --- python/GameState.py | 4 +++- python/agent_AB.py | 2 +- python/alphaBeta.py | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/python/GameState.py b/python/GameState.py index 8957f7c..6047f8d 100644 --- a/python/GameState.py +++ b/python/GameState.py @@ -38,9 +38,11 @@ class DotsAndBoxesState(GameState): self.board = rows self.score = {1: 0, 2: 0} self.player = player - print("Player: ", player) + #print("Player: ", player) @property + def get_cur(self): + return DotsAndBoxesState(self.nb_rows, self.nb_cols, self.player) def game_result(self): def game_decided(nb_cols, nb_rows, scoreP, scoreO): # the game is decided if the winner is already known even before the game is ended diff --git a/python/agent_AB.py b/python/agent_AB.py index 4107156..2357d45 100644 --- a/python/agent_AB.py +++ b/python/agent_AB.py @@ -27,7 +27,7 @@ class Agent(dba.DotsAndBoxesAgent): self.game_state.play_move(move) def next_action(self): - r, c, o = self.controller.miniMax(self.game_state, 3) + r, c, o = self.controller.miniMax(self.game_state, 4) return r, c, o def end_game(self): diff --git a/python/alphaBeta.py b/python/alphaBeta.py index fb89ab0..5d7b932 100644 --- a/python/alphaBeta.py +++ b/python/alphaBeta.py @@ -26,7 +26,7 @@ class ABNode(object): # A class for Node related operations self.CurrentScore = self.Current.score[2]-self.Current.score[1] def Make(self, r,c,o): # Function for generating a child node - self.children[(r,c,o)] = ABNode(self.Current) + self.children[(r,c,o)] = ABNode(self.Current.get_cur) move=(r,c,o) self.children[(r,c,o)].Current.play_move(move) self.children[(r,c,o)].update_score() -- cgit v1.2.3