Anonymous user
One-dimensional cellular automata: Difference between revisions
One-dimensional cellular automata (view source)
Revision as of 16:55, 10 February 2022
, 2 years agoAdded Red version
(Added solution for Action!) |
(Added Red version) |
||
Line 4,660:
| # # # # |
| # # # # # # # # |
</pre>
=={{header|Red}}==
<lang Rebol>
Red [Purpose: "One-dimensional cellular automata"]
vals: [0 1 0]
kill: [[0 0] [#[none] 0] [0 #[none]]]
evo: function [petri] [
new-petri: copy petri
while [petri/1] [
if all [petri/-1 = 1 petri/2 = 1] [new-petri/1: select vals petri/1]
if find/only kill reduce [petri/-1 petri/2] [new-petri/1: 0]
petri: next petri new-petri: next new-petri
]
petri: head petri new-petri: head new-petri
petri: head clear insert petri new-petri
]
loop 10 [
evo probe [1 1 1 0 1 1 0 1 0 1 0 1 0 1 0 0 1 0]
]
</lang>
{{out}}
<pre>
[1 1 1 0 1 1 0 1 0 1 0 1 0 1 0 0 1 0]
[1 0 1 1 1 1 1 0 1 0 1 0 1 0 0 0 0 0]
[0 1 1 0 0 0 1 1 0 1 0 1 0 0 0 0 0 0]
[0 1 1 0 0 0 1 1 1 0 1 0 0 0 0 0 0 0]
[0 1 1 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0]
[0 1 1 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0]
[0 1 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0]
[0 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0]
[0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
[0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
</pre>
|