Ogni cellula in un automa cellulare simile alla vita ha bisogno solo di un po 'di rappresentarlo poiché può essere solo viva o morta. Ciò significa che ci sono solo due colori; piuttosto noioso.
Le immagini normali hanno 24 bit per pixel (8 in ciascuno di RGB). Ciò significa che in un'immagine normale con pixel come celle potresti simulare 24 giochi realistici contemporaneamente!
Sfida
Il tuo compito è quello di scrivere un programma che applicherà una generazione delle regole di un automa cellulare realistico a un'immagine di profondità a 24 bit (in qualsiasi formato ben noto che ti piace) e produrre l'immagine risultante.
Ognuno dei 24 layer utilizzerà lo stesso set di regole realistiche, rigorosamente all'interno del proprio layer. I 24 livelli non interagiscono tra loro.
Anche
- Gli zeri sono cellule morte e quelli sono cellule vive.
- Le condizioni al contorno sono periodiche (formano un toro).
- Qualsiasi dimensione dell'immagine dovrebbe funzionare.
Input Output
Il tuo programma deve contenere 3 argomenti, tramite stdin o riga di comando (o l'equivalente più vicino della tua lingua):
- Il nome del file immagine di input.
- Una stringa delle cifre da 0 a 8 in ordine crescente che indica quando nascono nuove celle:
- Se la cifra d è nella stringa allora le cellule morte animarsi quando hanno d vicini viventi.
- Esempio:
3
è vita normale - Le cellule morte con esattamente 3 vicini viventi prendono vita.
- Una stringa delle cifre da 0 a 8 in ordine crescente che indica quando sopravvivono le celle esistenti:
- Se la cifra d è nella stringa allora cellule viventi con d vicini viventi sopravvivono alla generazione successiva, altrimenti muoiono.
- Esempio:
23
è vita normale - Solo le cellule con esattamente 2 o 3 vicini sopravvivono al turno successivo.
Si noti che il quartiere di Moore viene sempre utilizzato. Leggi questo o questo per maggiori informazioni su ciò che definisce con precisione un automa realistico e molti interessanti set di regole.
L'immagine di output di 1 generazione successiva deve essere visualizzata o salvata come out.png
( bmp
o qualsiasi altra cosa).
Presentazione
Vince il codice più breve in byte.
Per alcune serie di regole non banali è necessario includere almeno un'immagine di prova e le sue tre generazioni successive immediate. Usa il tuo avatar e le normali regole di vita se non riesci a pensare a qualcosa di meglio.
Se ti piace, puoi usare questa Gosper Glider Gun in cui gli unici frammenti viventi sono nel livello verde 128 (funzionerà solo nella vita normale):
Pubblicare sequenze interessanti o persino animazioni è fortemente incoraggiato.