def handle_play(self, color, move): if move.lower() == 'pass': self.game_state = self.game_state.apply_move(Move.pass_turn()) elif move.lower() == 'resign': self.game_state = self.game_state.apply_move(Move.resign()) else: self.game_state = self.game_state.apply_move(gtp_position_to_coords(move)) return response.success()
def set_handicap(self): if self.handicap == 0: self.command_and_response("komi 7.5\n") self.sgf.append("KM[7.5]\n") else: stones = self.command_and_response("fixed_handicap {}\n".format(self.handicap)) sgf_handicap = "HA[{}]AB".format(self.handicap) for pos in stones.split(" "): move = gtp_position_to_coords(pos) self.game_state = self.game_state.apply_move(move) sgf_handicap = sgf_handicap + "[" + self.sgf.coordinates(move) + "]" self.sgf.append(sgf_handicap + "\n")
def set_handicap(self): if self.handicap == 0: self.command_and_response('komi 7.5\n') self.sgf.append('KM[7.5]\n') else: stones - self.command_and_response('fixed_handicap {}\n'.format( self.handicap)) sgf_handicap = 'HA[{}]AB'.format(self.handicap) for pos in stones.split(' '): move = gtp_position_to_coords(pos) self.game_state = self.game_state.apply_move(move) sgf_handicap = sgf_handicap + '[' + self.sgf.coordinates( move) + ']' self.sgf.append(sgf_handicap + '\n')
def play_their_move(self): their_name = self.their_color.name their_letter = their_name[0].upper() pos = self.command_and_response("genmove {}\n".format(their_name)) if pos.lower() == 'resign': self.game_state = self.game_state.apply_move(Move.resign()) self._stopped = True elif pos.lower() == 'pass': self.game_state = self.game_state.apply_move(Move.pass_turn()) self.sgf.append(";{}[]\n".format(their_letter)) if self.game_state.last_move.is_pass: self._stopped = True else: move = gtp_position_to_coords(pos) self.game_state = self.game_state.apply_move(move) self.sgf.append(";{}[{}]\n".format(their_letter, self.sgf.coordinates(move)))
def handle_fixed_handicap(self, nstones): nstones = int(nstones) for stone in HANDICAP_STONES[nstones]: self.game_state = self.game_state.apply_move( gtp_position_to_coords(stone)) return response.success()