def draw_stone(self, row, col): """Draw a stone (with a circle on it to denote latest move) on a given intersection. Specify the color of the stone depending on the turn. Args: row, col (i.e. coord of an intersection) """ inner_start_x = (row + 1) * 30 - 4 inner_start_y = (col + 1) * 30 - 4 inner_end_x = (row + 1) * 30 + 4 inner_end_y = (col + 1) * 30 + 4 outer_start_x = (row + 1) * 30 - 6 outer_start_y = (col + 1) * 30 - 6 outer_end_x = (row + 1) * 30 + 6 outer_end_y = (col + 1) * 30 + 6 start_pixel_x = (row + 1) * 30 - 10 start_pixel_y = (col + 1) * 30 - 10 end_pixel_x = (row + 1) * 30 + 10 end_pixel_y = (col + 1) * 30 + 10 self.create_oval(start_pixel_x, start_pixel_y, end_pixel_x, end_pixel_y, fill=GoBoardUtil.color_string(self.turn)) self.create_oval(outer_start_x, outer_start_y, outer_end_x, outer_end_y, fill=GoBoardUtil.color_string(GoBoardUtil.opponent(self.turn))) self.create_oval(inner_start_x, inner_start_y, inner_end_x, inner_end_y, fill=GoBoardUtil.color_string(self.turn))
def draw_plain_stone(self, row, col): """Draw the plain stone with single color. Specify the color of the stone depending on the turn. Args: row, col (i.e. coord of an intersection) """ start_pixel_x = (row + 1) * 30 - 10 start_pixel_y = (col + 1) * 30 - 10 end_pixel_x = (row + 1) * 30 + 10 end_pixel_y = (col + 1) * 30 + 10 self.create_oval(start_pixel_x, start_pixel_y, end_pixel_x, end_pixel_y, fill=GoBoardUtil.color_string(self.turn))
def draw_star(self, row, col): """Draw a "star" on a given intersection Args: row, col (i.e. coord of an intersection) """ start_pixel_x = (row + 1) * 30 - 2 start_pixel_y = (col + 1) * 30 - 2 end_pixel_x = (row + 1) * 30 + 2 end_pixel_y = (col + 1) * 30 + 2 self.create_oval(start_pixel_x, start_pixel_y, end_pixel_x, end_pixel_y, fill=GoBoardUtil.color_string(BLACK))
def check_win(self): """If the user wins the game, end the game and unbind.""" end, winner = self.board.game_end() if end: if winner != -1: message = GoBoardUtil.color_string(self.turn).upper() + " WINS" print("{} WINS".format(self.players[winner])) self.create_text(150, 320, text=message) else: print("DRAW") self.create_text(150, 320, text='DRAW') self.unbind(LEFTBUTTON) return end, winner