Jede Zelle in einem lebensechten Zellularautomaten benötigt nur ein Bit, um sie darzustellen, da sie nur lebendig oder tot sein kann. Das heißt, es gibt nur zwei Farben; ziemlich langweilig.
Normale Bilder haben 24 Bit pro Pixel (jeweils 8 in RGB). Dies bedeutet, dass Sie in einem normalen Bild mit Pixeln als Zellen 24 lebensechte Spiele gleichzeitig simulieren können!
Herausforderung
Ihre Aufgabe ist es, ein Programm zu schreiben, das eine Generation der Regeln eines lebensechten Zellularautomaten auf ein 24-Bit-Tiefenbild (in jedem bekannten Format, das Sie mögen) anwendet, und das resultierende Bild auszugeben.
Jede der 24 Ebenen verwendet denselben lebensechten Regelsatz, ausschließlich innerhalb ihrer eigenen Ebene. Die 24 Schichten interagieren nicht miteinander.
Ebenfalls
- Nullen sind tote Zellen und diejenigen sind lebende Zellen.
- Die Randbedingungen sind periodisch (Bildung eines Torus).
- Alle Bildabmessungen sollten funktionieren.
Input-Output
Ihr Programm muss 3 Argumente über die Standardeingabe oder die Befehlszeile (oder die nächste Entsprechung Ihrer Sprache) aufnehmen:
- Der Name der Eingabebilddatei.
- Eine Zeichenfolge mit den Ziffern 0 bis 8 in aufsteigender Reihenfolge, die angibt, wann neue Zellen geboren werden:
- Wenn die Ziffer d in der Zeichenfolge ist dann kommen toten Zellen am Leben , wenn sie d lebende Nachbarn.
- Beispiel:
3
ist normales Leben - Tote Zellen mit genau 3 lebenden Nachbarn werden lebendig.
- Eine Zeichenfolge mit den Ziffern 0 bis 8 in aufsteigender Reihenfolge, die angibt, wann vorhandene Zellen überleben:
- Befindet sich die Ziffer d in der Zeichenkette, überleben lebende Zellen mit d lebenden Nachbarn bis zur nächsten Generation, andernfalls sterben sie.
- Beispiel:
23
ist normal Leben - Nur Zellen mit genau 2 oder 3 Nachbarn überleben die nächste Runde.
Beachten Sie, dass das Viertel Moore immer verwendet wird. Lesen Sie diese oder diese für weitere Informationen darüber , was genau einen getreuen Automaten definiert und viele interessanten rulesets.
Das Ausgabebild der ersten Generation sollte entweder angezeigt oder als out.png
( bmp
oder was auch immer) gespeichert werden .
Einreichung
Der kürzeste Code in Bytes gewinnt.
Sie sind erforderlich , mindestens ein Testbild und seine drei unmittelbaren nachfolgenden Generationen für einige nicht-triviale ruleset aufzunehmen. Verwenden Sie Ihren Avatar und die normalen Lebensregeln, wenn Sie sich nichts Besseres vorstellen können.
Wenn Sie möchten, können Sie diese Gosper Glider Gun verwenden, bei der sich die einzigen lebenden Teile in der grünen 128-Schicht befinden (dies funktioniert nur im normalen Leben):
Das Posten von interessanten Sequenzen oder sogar Animationen ist ausdrücklich erwünscht.