Conway's Game of Life: Difference between revisions

Content added Content deleted
imported>Maxima enthusiast
Line 5,364: Line 5,364:
=={{header|EasyLang}}==
=={{header|EasyLang}}==


[https://easylang.online/apps/game-of-life.html Run it]
[https://easylang.dev/apps/game-of-life.html Run it]


<syntaxhighlight lang="text">
<syntaxhighlight lang="text">
# Game of life
#
n = 70
n = 70
n += 1
time = 0.1
#
nx = n + 1
subr init
subr init
for r = 1 to n - 1
for r = 1 to n
for c = 1 to n - 1
for c = 1 to n
i = r * n + c + 1
i = r * nx + c
if randomf < 0.3
if randomf < 0.3
f[i] = 1
f[i] = 1
.
.
.
.
.
.
.
.
f = 100 / (n - 1)
f = 100 / n
subr show
subr show
clear
clear
for r = 1 to n - 1
for r = 1 to n
for c = 1 to n - 1
for c = 1 to n
if f[r * n + c + 1] = 1
if f[r * nx + c] = 1
move (c - 1) * f (r - 1) * f
move c * f - f r * f - f
rect f * 0.9 f * 0.9
rect f * 0.9 f * 0.9
.
.
.
.
.
.
.
.
subr update
subr update
swap f[] p[]
swap f[] p[]
for r = 1 to n - 1
for r = 1 to n
sm = 0
sm = 0
i = r * n + 1
i = r * nx + 1
sr = p[i - n + 1] + p[i + 1] + p[i + n + 1]
sr = p[i - nx] + p[i] + p[i + nx]
for c = 1 to n - 1
for c = 1 to n
i += 1
sl = sm
sl = sm
sm = sr
sm = sr
in = i + 1
sr = p[i - n + 1] + p[i + 1] + p[i + n + 1]
sr = p[in - nx] + p[in] + p[in + nx]
s = sl + sm + sr
s = sl + sm + sr
if s = 3 or s = 4 and p[i] = 1
if s = 3 or s = 4 and p[i] = 1
f[i] = 1
f[i] = 1
else
else
f[i] = 0
f[i] = 0
.
i = in
.
.
.
.
.
.
.
on timer
on timer
call update
update
call show
show
timer 0.2
timer time
.
.
on mouse_down
on mouse_down
c = mouse_x div f
c = mouse_x div f + 1
r = mouse_y div f
r = mouse_y div f + 1
i = r * n + c + n + 2
i = r * nx + c
f[i] = 1 - f[i]
f[i] = 1 - f[i]
call show
show
timer 3
timer 3
.
.
len f[] n * n + n + 1
len f[] nx * nx + nx
len p[] n * n + n + 1
len p[] nx * nx + nx
call init
init
timer 0
timer 0
</syntaxhighlight>
</syntaxhighlight>