Реализуйте небольшой движок пиксельного экрана.
Экран — это сетка height x width. Изначально каждая ячейка чёрная и при выводе обозначается как ..
Команды бывают такими:
{"type": "set", "row": r, "col": c, "color": color};{"type": "line", "start": [r1, c1], "end": [r2, c2], "color": color};{"type": "triangle", "points": [[r1, c1], [r2, c2], [r3, c3]], "color": color}.Цвета: "black", "blue" и "yellow". При выводе они превращаются в ., B и Y.
Линию рисуйте как связную дискретную линию между концами. Треугольник рисует только три ребра, без заливки. Пиксели за границами экрана игнорируйте.
Верните итоговый экран как список строк.
def render_pixel_screen(height: int, width: int, commands: list[dict]) -> list[str]:height = 3width = 4commands = [{"type":"set","row":1,"col":2,"color":"blue"},{"type":"line","start":[0,0],"end":[2,2],"color":"yellow"}]["Y...",".YB.","..Y."]Установить один пиксель и нарисовать простую диагональ
height = 5width = 5commands = [{"type":"triangle","points":[[0,0],[0,3],[3,0]],"color":"blue"}]["BBBB.","B.B..","BB...","B....","....."]Треугольник рисует только рёбра
height = 5width = 4commands = [{"type":"line","start":[0,0],"end":[4,1],"color":"yellow"}]["Y...","Y...","Y...",".Y..",".Y.."]Крутая линия с неединичным наклоном