Skip to content
Snippets Groups Projects
shapes.py 1.01 KiB
Newer Older
c = {"p": [[1]],  # 1

     "s": [[1, 1]],  # 2

     "l": [[1, 1, 1]],  # 3
     "c": [[1, 1], [1, 0]],

     "O": [[1, 1], [1, 1]],  # 4
     "J": [[1, 1, 1], [1, 0, 0]],
     "i": [[1, 1, 1, 1]],
     "z": [[1, 1, 0], [0, 1, 1]],
     "t": [[1, 1, 1], [0, 1, 0]],

     "L": [[1, 1, 1, 1], [1, 0, 0, 0]],  # 5
     "T": [[1, 0, 0], [1, 1, 1], [1, 0, 0]],
     "N": [[0, 1, 1, 1], [1, 1, 0, 0]],
     "Z": [[0, 0, 1], [1, 1, 1], [1, 0, 0]],
     "I": [[1, 1, 1, 1, 1]],
     "P": [[1, 1, 1], [1, 1, 0]],
     "W": [[1, 1, 0], [0, 1, 1], [0, 0, 1]],
     "F": [[0, 1, 0], [1, 1, 1], [0, 0, 1]],
     "X": [[0, 1, 0], [1, 1, 1], [0, 1, 0]],
     "Y": [[1, 1, 1, 1], [0, 1, 0, 0]]}


def select(name):
    na = name[0]
    ro = int(name[1])
    re = int(name[2])
    ans = c[na]
    for i in range(ro):
        ans = rotate(ans)
    for i in range(re):
        ans = reflect(ans)
    return ans


def rotate(m):
    return [[m[len(m) - j - 1][i] for j in range(len(m))] for i in range(len(m[0]))]


def reflect(m):
    return m[::-1]