def get_leela_final_score(self): self.write("final_score") answer = self.readline().strip() try: return answer.split(" ")[1] except: raise GtpException("GtpException in Get_leela_final_score()")
def get_gnugo_estimate_score(self): self.write("estimate_score") answer = self.readline().strip() try: return answer[2:] except: raise GtpException("GtpException in get_gnugo_estimate_score()")
def get_leela_zero_final_score(self): self.write("final_score") answer = self.readline() try: return " ".join(answer.split(" ")[1:]) except: raise GtpException("GtpException in Get_leela_zero_final_score()")
def play_white(self): self.write("genmove white") answer=self.readline().strip() try: move=answer.split(" ")[1] if move.lower()!="resign": self.history.append(["w",move]) return move except Exception, e: raise GtpException("GtpException in genmove_white()\nanswer='"+answer+"'\n"+str(e))
def gnugo_top_moves_white(self): self.write("top_moves_white") answer = self.readline()[:-1] try: answer = answer.split(" ")[1:-1] except: raise GtpException("GtpException in get_gnugo_top_moves_white()") answers_list = [] for value in answer: try: float(value) except: answers_list.append(value) return answers_list
def undo(self): self.write("clear_board") answer = self.readline() try: if answer[0] != "=": return False self.history.pop() history = self.history[:] self.history = [] for color, move in history: if color == "b": if not self.place_black(move): return False else: if not self.place_white(move): return False return True except Exception as e: raise GtpException("GtpException in undo()\n" + str(e))