Files
Toy/scripts/rule110.toy
2022-09-08 05:42:39 +01:00

67 lines
907 B
Plaintext

var size: int const = 100;
var prev = [];
for (var i = 0; i < size; i++) {
prev.push(false);
}
prev.set(size - 1, true);
fn calc(p, i) {
if (p[i-1] && p[i] && p[i+1]) {
return false;
}
if (p[i-1] && p[i] && !p[i+1]) {
return true;
}
if (p[i-1] && !p[i] && p[i+1]) {
return true;
}
if (p[i-1] && !p[i] && !p[i+1]) {
return false;
}
if (!p[i-1] && p[i] && p[i+1]) {
return true;
}
if (!p[i-1] && p[i] && !p[i+1]) {
return true;
}
if (!p[i-1] && !p[i] && p[i+1]) {
return true;
}
if (!p[i-1] && !p[i] && !p[i+1]) {
return false;
}
}
for (var iteration = 0; iteration < 100; iteration++) {
var line = [false];
for (var i = 1; i < size-1; i++) {
line.push(calc(prev, i));
}
line.push(false);
var output = "";
for (var i = 0; i < line.length(); i++) {
if (line[i]) {
output += "*";
}
else {
output += " ";
}
}
print output;
prev = line;
}