def change_num_btn(self, n1): if n1 == -1: if self.number > self.rng[0]: self.number -= 1 elif n1 == 1: if self.number < self.rng[1]: self.number += 1 color1 = self.temp2col(self.number) hsv_col = ex.rgb_to_hsv(color1[0], color1[1], color1[2]) bd_color1 = ex.hsv_to_rgb(hsv_col[0], 187, 200) self.thermometer.update_colors(color1, bd_color1) self.nm1.set_value(str(self.number)+"°C") self.thermometer.update_values(self.number) self.ther_canvas.painting = self.thermometer.get_canvas().copy() self.ther_canvas.update_me = True for each in self.board.ships: each.set_tint_color(bd_color1) each.update_me = True self.nm1.font_color = bd_color1 self.nm1.update_me = True self.mainloop.redraw_needed[0] = True
def __init__(self, kbrd, data_list, init_color, highlight_color): # data_list = [x, y, w, h, top_left, bottom_left, middle, letter, right_top, right_bottom,color_group] pygame.sprite.Sprite.__init__(self) self.kbrd = kbrd self.id = len(kbrd.keys) kbrd_w = self.kbrd.kbrd_w-10 self.x = (kbrd_w * data_list[0] // 445)+5 self.y = (kbrd_w * data_list[1] // 445)+5 self.w = (kbrd_w * data_list[2] // 445) self.h = (kbrd_w * data_list[3] // 445) self.data_list = data_list self.labels = [data_list[4], data_list[5], data_list[6],data_list[7],data_list[8],data_list[9]] self.color = init_color self.init_color = init_color self.highlight_color = highlight_color hsv = ex.rgb_to_hsv(highlight_color[0],highlight_color[1],highlight_color[2]) self.outline_color = ex.hsv_to_rgb(hsv[0],hsv[1],hsv[2]-50) self.font_1 = self.kbrd.kbrd_font[0] self.font_2 = self.kbrd.kbrd_font[1] self.image = pygame.Surface([self.w, self.h]) self.rect = self.image.get_rect() self.rect.topleft = [self.x,self.y] self.draw_key()
def __init__(self, kbrd, data_list, init_color, highlight_color): # data_list = [x, y, w, h, top_left, bottom_left, middle, letter, right_top, right_bottom,color_group] pygame.sprite.Sprite.__init__(self) self.kbrd = kbrd self.id = len(kbrd.keys) kbrd_w = self.kbrd.kbrd_w - 10 self.x = (kbrd_w * data_list[0] // 445) + 5 self.y = (kbrd_w * data_list[1] // 445) + 5 self.w = (kbrd_w * data_list[2] // 445) self.h = (kbrd_w * data_list[3] // 445) self.data_list = data_list self.labels = [ data_list[4], data_list[5], data_list[6], data_list[7], data_list[8], data_list[9] ] self.color = init_color self.init_color = init_color self.highlight_color = highlight_color hsv = ex.rgb_to_hsv(highlight_color[0], highlight_color[1], highlight_color[2]) self.outline_color = ex.hsv_to_rgb(hsv[0], hsv[1], hsv[2] - 50) self.font_1 = self.kbrd.kbrd_font[0] self.font_2 = self.kbrd.kbrd_font[1] self.image = pygame.Surface([self.w, self.h]) self.rect = self.image.get_rect() self.rect.topleft = [self.x, self.y] self.draw_key()
def create_game_objects(self, level=1): self.max_size = 99 self.board.draw_grid = False # self.rng = (random.randrange(-30, -5, 5), random.randrange(5, 30, 5)) self.rng = [-30, 30] self.number = random.randint(self.rng[0], self.rng[1]) if self.mainloop.scheme is not None: white = self.mainloop.scheme.u_color h1 = 170 color1 = ex.hsv_to_rgb(h1, 255, 255) bd_color1 = ex.hsv_to_rgb(h1, 127, 155) else: white = (255, 255, 255) color1 = self.temp2col(self.number) hsv_col = ex.rgb_to_hsv(color1[0], color1[1], color1[2]) bd_color1 = ex.hsv_to_rgb(hsv_col[0], 187, 200) transp = (0, 0, 0, 0) data = [7, 10] self.data = data self.vis_buttons = [0, 0, 0, 0, 1, 1, 1, 0, 0] self.mainloop.info.hide_buttonsa(self.vis_buttons) self.layout.update_layout(data[0], data[1]) scale = self.layout.scale self.board.level_start(data[0], data[1], scale) self.board.board_bg.update_me = True self.board.board_bg.line_color = (20, 20, 20) self.points = int(round((self.board.scale * 72 / 96) * 1.2, 0)) self.t_font = pygame.font.Font(os.path.join('res', 'fonts', 'FreeSans', 'FreeSans.ttf'), (int(self.points / (self.board.scale / (60 * self.board.scale * 3 / 500.0))))) self.board.add_unit(0, 0, 3, data[1], classes.board.Label, "", white, "", 0) self.ther_canvas = self.board.units[-1] self.thermometer = classes.drw.thermometer.Thermometer(self, 3, self.data[1], self.board.scale, color1, bd_color1, self.rng, self.number, 5) self.ther_canvas.painting = self.thermometer.get_canvas().copy() self.board.add_unit(4, 6, 2, 2, classes.board.ImgCenteredShip, "", transp, img_src='nav_d_mts.png', alpha=True) self.board.ships[-1].set_tint_color(bd_color1) self.board.add_unit(3, 4, 4, 2, classes.board.Label, str(self.number)+"°C", white, "", 31) self.nm1 = self.board.units[-1] self.board.units[-1].font_color = bd_color1 self.board.add_unit(4, 2, 2, 2, classes.board.ImgCenteredShip, "", transp, img_src='nav_u_mts.png', alpha=True) self.board.ships[-1].set_tint_color(bd_color1) for each in self.board.ships: each.readable = False each.immobilize()
def set_outline(self, color=[255, 0, 0], width=2): 'enables the draw_outline and sets line color and width' self.perm_outline = True if color == 0 and hasattr(self, "door_outline") is False: # if color is 0 calculate colour from base colour # convert to hsv c = self.color h, s, v = ex.rgb_to_hsv(c[0], c[1], c[2]) outline_color = ex.hsv_to_rgb(h, s + 50, v - 50) self.perm_outline_color = outline_color elif color == 1: c = self.color h, s, v = ex.rgb_to_hsv(c[0], c[1], c[2]) outline_color = ex.hsv_to_rgb(h, s + 20, v - 20) self.perm_outline_color = outline_color elif hasattr(self, "door_outline") is False: self.perm_outline_color = color else: pass self.perm_outline_width = width self.init_pow = width