File size: 1,319 Bytes
a6258d6
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
import numpy as np


LEGO_COLORS_RGB = np.asarray(
    [
        [244, 244, 244],  # White
        [255, 250, 200],  # Light Yellow
        [255, 236, 108],  # Yellow
        [255, 167, 11],  # Orange
        [217, 133, 108],  # Light Salmon
        [207, 96, 36],  # Dark Orange
        [238, 96, 85],  # Red
        [218, 41, 28],  # Dark Red
        [255, 148, 148],  # Pink
        [255, 67, 106],  # Dark Pink
        [205, 98, 152],  # Magenta
        [228, 173, 200],  # Light Purple
        [150, 112, 159],  # Purple
        [17, 90, 150],  # Dark Blue
        [0, 133, 184],  # Blue
        [90, 177, 229],  # Light Blue
        [52, 142, 64],  # Dark Green
        [88, 171, 65],  # Green
        [199, 210, 60],  # Lime
        [183, 215, 213],  # Light Turquoise
        [85, 165, 175],  # Turquoise
        [142, 66, 41],  # Brown
        [124, 92, 69],  # Light Brown
        [108, 110, 104],  # Dark Gray
        [155, 161, 157],  # Gray
        [220, 220, 220],  # Light Gray
        [0, 0, 0],  # Black
    ]
)
# fmt: off
BLOCK_SIZES = [
    [1, 1], [1, 2], [1, 3], [1, 4], [1, 6], [1, 8],[2, 1],[3, 1],[4, 1],[6, 1],[8, 1],
    [2, 2],[2, 3],[2, 4],[2, 6],[2, 8],[3, 2],[4, 2],[6, 2],[8, 2],
]
# fmt: on

# Sort array by area, largest first.
BLOCK_SIZES.sort(key=lambda x: x[0] * x[1], reverse=True)