Każda komórka w przypominającym życie automacie komórkowym potrzebuje tylko jednego bitu, aby ją przedstawić, ponieważ może być tylko żywa lub martwa. Oznacza to, że są tylko dwa kolory; strasznie nudne.
Normalne obrazy mają 24 bity na piksel (8 w każdym z RGB). Oznacza to, że na normalnym obrazie z pikselami jako komórkami można jednocześnie symulować 24 realistyczne gry!
Wyzwanie
Twoim zadaniem jest napisanie programu, który zastosuje jedną generację reguł realistycznego automatu komórkowego do obrazu o głębokości 24 bitów (w dowolnym dobrze znanym formacie), i wyśle wynikowy obraz.
Każda z 24 warstw będzie używać tego samego realistycznego zestawu reguł, ściśle w obrębie własnej warstwy. 24 warstwy nie wchodzą ze sobą w interakcje.
Również
- Zera to martwe komórki, a te żywe komórki.
- Warunki brzegowe są okresowe (tworząc torus).
- Wszelkie wymiary obrazu powinny działać.
Wejście wyjście
Twój program musi przyjmować 3 argumenty, poprzez stdin lub wiersz poleceń (lub najbliższy odpowiednik twojego języka):
- Nazwa wejściowego pliku obrazu.
- Ciąg cyfr od 0 do 8 w porządku rosnącym, który oznacza, kiedy rodzą się nowe komórki:
- Jeśli cyfra d jest w ciągu następnie martwe komórki ożywają, gdy mają d życia sąsiadów.
- Przykład:
3
jest normalny Życie - Martwe komórki z dokładnie 3 żywymi sąsiadami ożywają.
- Ciąg cyfr od 0 do 8 w porządku rosnącym, który oznacza, że istniejące komórki przeżyją:
- Jeśli cyfra d jest w ciągu następnie żywe komórki z d żywych sąsiadów przetrwać do następnego pokolenia, w przeciwnym razie umrą.
- Przykład:
23
jest normalny Życie - Tylko komórki z dokładnie 2 lub 3 sąsiadami przeżyją do następnej rundy.
Pamiętaj, że sąsiedztwo Moore jest zawsze używane. Przeczytaj to lub tamto, aby uzyskać więcej informacji na temat tego, co dokładnie definiuje realistyczny automat i wiele interesujących zestawów reguł.
Obraz wyjściowy 1. generacji powinien zostać wyświetlony lub zapisany jako out.png
( bmp
lub cokolwiek).
Uległość
Najkrótszy kod w bajtach wygrywa.
W przypadku niektórych nietrywialnych zestawów reguł wymagane jest dołączenie co najmniej jednego obrazu testowego i jego trzech kolejnych kolejnych generacji. Użyj swojego awatara i normalnych zasad Życia, jeśli nie możesz wymyślić nic lepszego.
Jeśli chcesz, możesz użyć tego pistoletu szybowcowego Gosper, w którym jedyne żywe kawałki znajdują się w zielonej warstwie 128 (z pewnością działa tylko w normalnym życiu):
Zachęcamy do publikowania interesujących sekwencji, a nawet animacji.