요약
이 과제의 목표는 프랑스어로 taquin 이라고도 하는 15 퍼즐 / 슬라이딩 퍼즐 의 실행 취소 된 이미지 버전을 만드는 것 입니다.
세부:
다음과 같이 구성된 입력이 제공됩니다.
- 이미지,
- 정수
n
, - 타 정수
r
,
프로그램 또는 기능 또는 기타 적합한 것은 입력과 동일한 이미지 ( 예 : 동일한 크기 및 형식)를 출력해야 하지만 다음과 같은 프로세스를 거쳤습니다.
- 이미지를
n²
사각형 으로 나누고 - 그 직사각형 중 하나를 무작위로 제거하십시오.
- 점 (2.)의 영향을받는 선 / 열 에서 임의의 수의 인접한 직사각형을 이동하여 생성 된 구멍이 채워지고이 선 / 열에서 다른 구멍이 생성됩니다.
0
블랭크가 모서리 또는 모서리에있는 경우이 숫자가 될 수 있습니다 .
(3) r
번 반복하십시오 .
설명 :
- 3 단계에서 선에서 사각형을 이동 한 경우 다음 반복에서 열의 사각형을 이동해야합니다.
- 직사각형을 한 단계 씩 왼쪽에서 오른쪽으로 이동 한 경우 다음 행 단계에서 오른쪽에서 왼쪽으로 이동해야합니다 (열과 관련하여 위에서 아래로, 아래에서 위로).
n
사진 측면의 길이를 나누도록 선택되어 있다고 가정 할 수 있습니다 .
마지막 요점 :
.gif
전체 과정을 보여주는 애니메이션 은 매우 환영합니다.
다음 그림 ( 1024x768
)을 모델 과 함께 사용 n=16
하고 r=100
모델로 사용 하는 것이 좋습니다. 물론 관련성이 있고 SE의 규칙을 준수 하는 한 다른 그림을 사용할 수 있습니다 .
하는 것으로 표준 허점 정책이 적용됩니다.
이것은 code-golf 이므로 짧은 제출이 승리합니다!
일례가 요청되었으므로, 여기에, "손"만든 하나 n=4
및r=1
1 단계와 2 단계
3 단계 : 왼쪽 방향으로 두 개의 직사각형
move a random number of contiguous rectangles
직사각형이 될 수 있습니까? (블랭크가 가장자리 / 코너에있을 때 프로그램 변경 동작을 만드는 것은 고통 스러울 것입니다)