def shift_hue(colour: libtcod.Color, shift: float) -> libtcod.Color: new_colour = copy.deepcopy(colour) h, s, v = libtcod.color_get_hsv(new_colour) h += shift if h < 0: h += 360 elif h > 360: h -= 360 libtcod.color_set_hsv(new_colour, h, s, v) return new_colour
def dim_color(color, sanity): if sanity < 50: h, s, v = T.color_get_hsv(color) # 1.0 .. 0.2 s *= 0.2 + 0.8*(sanity/50.0) # 1.0 .. 0.75 v *= 0.75 + 0.25*(sanity/50.0) color2 = T.Color(color.r, color.g, color.b) T.color_set_hsv(color2, h, s, v) return color2 else: return color
def HeightGradMap( World, ): # ------------------------------------------------------------ Print Map (Heightmap Gradient) ------------------------------------------------------------------- for x in range(WORLD_WIDTH): for y in range(WORLD_HEIGHT): hm_v = World[x][y].height HeightColor = tcod.Color(255, 255, 255) tcod.color_set_hsv( HeightColor, 0, 0, hm_v ) # Set lightness to hm_v so higher heightmap value -> "whiter" tcod.console_put_char_ex( 0, x, y + SCREEN_HEIGHT / 2 - WORLD_HEIGHT / 2, "\333", HeightColor, tcod.black, ) tcod.console_flush() return
def test_color(): color_a = libtcodpy.Color(0, 1, 2) assert list(color_a) == [0, 1, 2] assert color_a[0] == color_a.r assert color_a[1] == color_a.g assert color_a[2] == color_a.b color_a[1] = 3 color_a['b'] = color_a['b'] assert list(color_a) == [0, 3, 2] assert color_a == color_a color_b = libtcodpy.Color(255, 255, 255) assert color_a != color_b color = libtcodpy.color_lerp(color_a, color_b, 0.5) libtcodpy.color_set_hsv(color, 0, 0, 0) libtcodpy.color_get_hsv(color) libtcodpy.color_scale_HSV(color, 0, 0)