streszczenie
Celem tego wyzwania jest stworzenie nieopracowanej wersji graficznej 15-łamigłówki / przesuwanej układanki, zwanej także francuskim taquin .
Detale:
Biorąc pod uwagę wkład złożony z:
- obraz,
- liczba całkowita
n, - inna liczba całkowita
r,
Twój program, funkcja lub cokolwiek innego, co pasuje, musi wyświetlać ten sam obraz ( tj. ten sam rozmiar i format) co dane wejściowe, ale który przeszedł następujący proces:
- podziel obraz na
n²prostokąty, - losowo usuń jeden z tych prostokątów,
- przesuń losową liczbę sąsiadujących prostokątów z linii / kolumny, na którą wpływa punkt (2), aby utworzony otwór został wypełniony i w tej linii / kolumnie zostanie wygenerowany kolejny. Ten numer może być,
0jeśli puste miejsce znajduje się w rogu lub na krawędzi.
Powtórz (3.) rrazy.
Wyjaśnienia:
- Jeśli przeniosłeś prostokąty z linii w kroku (3), musisz przenieść prostokąty z kolumny w następnym powtórzeniu,
- jeśli przesunąłeś prostokąty od lewej do prawej w kroku linii, musisz je przesunąć od prawej do lewej w następnym kroku linii, tak samo w przypadku kolumn od góry do dołu i od dołu do góry,
- możesz założyć, że
nzostanie wybrany, aby dzielił długości boków obrazu.
Ostatni punkt:
Animacja .gifpokazująca cały proces jest bardzo mile widziana.
Proponuję użyć następującego obrazu (który jest 1024x768), z modelem n=16i, r=100jako model, możesz użyć dowolnego innego obrazu (o ile jest on odpowiedni i zgodny z zasadami SE), oczywiście.
Pamiętaj, że obowiązują zasady dotyczące luk w standardach .
To jest golf golfowy , więc wygrywa krótsze zgłoszenie!
Ponieważ zażądano przykładu, oto jeden, wykonany „ręcznie” za pomocą n=4ir=1
Kroki 1 i 2
Krok 3 : liniowo, 2 prostokąty po lewej stronie
move a random number of contiguous rectanglesczy może to być 0 prostokątów? (utrudnieniem byłoby zachowanie zmiany programu, gdy puste miejsce jest na krawędzi / rogu)



