- 19, Oct 2024
- #1
Краткое содержание
Целью этого задания является создание отмененной версии изображения. 15-головоломка / скользящая головоломка также называется такин на французском языке.
Подробности:
Учитывая ввод, состоящий из:
- изображение,
- целое число
r=1
, - другое целое число
n=4
,
ваша программа, функция или что-нибудь еще, что подходит, должно выводить одно и то же изображение (то есть того же размера и формата), что и входные данные, но они подверглись следующему процессу:
- разделить изображение на
r=100
rectangles, - удалите один из этих прямоугольников случайным образом,
- переместить случайное количество смежных прямоугольников из строка/столбец на него влияет точка (2.), поэтому созданное отверстие заполняется, а в этой строке/столбце создается еще одно. Это число может быть
n=16
if the blank is in a corner or an edge.
Повторите (3.) 1024x768
times.
Уточнения:
- Если вы переместили прямоугольники из строки на шаге (3), вам придется переместить прямоугольники из столбца в следующем повторении.
- если вы переместили прямоугольники слева направо на шаге строки, их необходимо переместить справа налево на следующем шаге строки, то же самое для столбцов сверху вниз и снизу вверх,
- вы можете предположить, что
.gif
will be chosen so it divides the lengths of the sides of the picture.
Последний пункт:
Анимированный n
showing the whole process are very welcomed.
Предлагаю использовать следующую картинку (которая r
), with 0
и n²
as a model, you can use любая другая картинка (конечно, если это актуально и соответствует правилам SE).
Обратите внимание, что лазейки в стандартах политика применять.
Это означает, что побеждает более короткое представление!
Раз уж был запрошен пример, то вот один, сделанный "вручную", с r
and n
Шаги 1 и 2
Шаг 3 : построчно, 2 прямоугольника влево
#код-гольф #код-гольф #обработка изображений #раздвижная головоломка