Слизи - это враги в форме куба в Minecraft, которые при убийстве разбиваются на несколько более мелких версий. Для целей этой задачи мы будем изображать их в виде изображения размером 8 × 8 пикселей с 3 цветами:
Точные цвета RGB:
0, 0, 0
для глаз и рта110, 170, 90
для центрального, темно-зеленый116, 196, 96
для внешнего, светло-зеленый
Вызов
Напишите программу или функцию, которая принимает положительное целое число N и выводит изображение N размеров слизи, упакованных в прямоугольник. Если смотреть слева направо, изображение должно соответствовать схеме:
- Стек из 2 (N-1) 8 × 8 слизей.
- Стек из 2 (N-2) 16 × 16 слизей.
- Стек из 2 (N-3) 32 × 32 слизи.
- И так до тех пор, пока в стеке не останется только одна слизь.
Изображения слизи, большие, чем версия 8 × 8 ( ), генерируются с помощью повышающей дискретизации ближайшего соседа (т.е. просто удваивая все пиксели). Обратите внимание, что вы должны использовать точный дизайн слизи и цвета, приведенные здесь.
Окончательное изображение будет содержать 2 N -1 слизи и иметь ширину 2 (N + 3) -8 пикселей и высоту 2 (N + 2) пикселей.
Изображение может быть выведено в любом общем формате файла изображения, сохранено в файл или напечатано / возвращено в виде потока необработанных данных, или непосредственно отображено во время выполнения.
Самый короткий код в байтах побеждает.
Примеры
Ваша программа должна дать эти точные результаты.
N = 1:
N = 2:
N = 3:
N = 4:
N = 5:
N = 6:
Больший N должен работать так же хорошо.