Anonymous user
Elementary cellular automaton: Difference between revisions
m
updated to use generality
m (updated to use generality) |
|||
Line 1,542:
=={{header|Prolog}}==
<lang prolog>play :-
play(0, _) :- !.▼
play(N, I) :- ▼
maplist(writ, I), nl,
apply_rules(I, Next),
succ(N1, N),
r(0,0,0,0).
Line 1,560 ⟶ 1,562:
r(1,1,1,0).
apply_rules(
apply1st(In, First),
Out = [First|_],
apply(In, First, First, Out).
writ(0) :- write('.').▼
writ(1) :- write(1).▼
apply1st([A,B|T], A1) :- last([A,B|T], Last), r(Last,A,B,A1).
▲initial([0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0]).</lang>
apply([A,B], Prev, First, [Prev, This]) :- r(A,B,First,This).
apply([A,B,C|T], Prev, First, [Prev,This|Rest]) :- r(A,B,C,This), apply([B,C|T], This, First, [This|Rest]).
▲writ(0) :- write('.').
▲writ(1) :- write(1).</lang>
=={{header|Python}}==
|