pyengine-x 0.1.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
pyengine/__init__.py ADDED
@@ -0,0 +1,21 @@
1
+ from .engine import PyEngine
2
+ from .figure import Figure, ShapeType
3
+ from .tilemap import TileMap, TileLayer, TileSet, Tile
4
+ from .scene import Scene
5
+ from .sound import Sound
6
+ from .assets import Assets
7
+
8
+ __all__ = [
9
+ 'PyEngine',
10
+ 'Figure',
11
+ 'ShapeType',
12
+ 'TileMap',
13
+ 'TileLayer',
14
+ 'TileSet',
15
+ 'Tile',
16
+ 'Scene',
17
+ 'Sound',
18
+ 'Assets',
19
+ ]
20
+
21
+ __version__ = "0.1.0"
pyengine/assets.py ADDED
@@ -0,0 +1,65 @@
1
+ import random
2
+
3
+
4
+ # ――――――――――――――――――――――――― assets ―――――――――――――――――――――――――
5
+
6
+
7
+ class Assets:
8
+
9
+ # ――――――――――――――――――――――――― colors ―――――――――――――――――――――――――
10
+
11
+ WHITE = (255, 255, 255)
12
+ BLACK = (0, 0, 0 )
13
+ RED = (255, 0, 0 )
14
+ GREEN = (0, 255, 0 )
15
+ BLUE = (0, 0, 255)
16
+ YELLOW = (255, 255, 0 )
17
+ CYAN = (0, 255, 255)
18
+ MAGENTA = (255, 0, 255)
19
+ GRAY = (128, 128, 128)
20
+ DARK_GRAY = (64, 64, 64 )
21
+ ORANGE = (255, 165, 0 )
22
+ PURPLE = (128, 0, 128)
23
+
24
+ COLORS = {
25
+ 'white': WHITE, 'black': BLACK, 'red': RED, 'green': GREEN,
26
+ 'blue': BLUE, 'yellow': YELLOW, 'cyan': CYAN, 'magenta': MAGENTA,
27
+ 'gray': GRAY, 'dark_gray': DARK_GRAY, 'orange': ORANGE, 'purple': PURPLE,
28
+ }
29
+
30
+ # ――――――――――――――――――――――――― fonts ―――――――――――――――――――――――――
31
+
32
+ FONT_ARIAL = 'Arial'
33
+ FONT_COMIC = 'Comic Sans MS'
34
+ FONT_TIMES = 'Times New Roman'
35
+ FONT_COURIER = 'Courier New'
36
+
37
+ # ――――――――――――――――――――――――― utils ―――――――――――――――――――――――――
38
+
39
+ @staticmethod
40
+ def get_color(name: str) -> tuple:
41
+ """
42
+ Возвращает кортеж цвета (RGB) по его строковому имени (например, 'red'). Если цвет не найден, возвращает черный.
43
+ """
44
+ return Assets.COLORS.get(name.lower(), Assets.BLACK)
45
+
46
+ @staticmethod
47
+ def random_color() -> tuple:
48
+ """
49
+ Генерирует и возвращает случайный цвет в формате RGB.
50
+ """
51
+ return (random.randint(0, 255), random.randint(0, 255), random.randint(0, 255))
52
+
53
+ @staticmethod
54
+ def darken(color: tuple, factor: float = 0.7) -> tuple:
55
+ """
56
+ Затемняет указанный цвет, умножая его RGB-компоненты на заданный коэффициент (по умолчанию 0.7).
57
+ """
58
+ return tuple(int(c * factor) for c in color)
59
+
60
+ @staticmethod
61
+ def lighten(color: tuple, factor: float = 1.3) -> tuple:
62
+ """
63
+ Осветляет указанный цвет, умножая его RGB-компоненты на заданный коэффициент (по умолчанию 1.3).
64
+ """
65
+ return tuple(min(255, int(c * factor)) for c in color)