Maze generation: Difference between revisions
m
→{{header|EasyLang}}
Line 1,992:
[https://easylang.online/apps/_r_maze0.html Run it]
<lang>
#
intvars
#
func draw_square pos col . .
x = pos mod
y = pos /
color col
move x *
rect
.
len m[]
#
func show_maze . .
Line 2,021 ⟶ 2,014:
rect 100 100
for i range len m[]
if m[i] =
call draw_square i 777
.
.
call draw_square
.
offs[] = [ 1
func visited pos . r .
r = 0
Line 2,035 ⟶ 2,028:
.
func m_maze pos . .
m[pos] =
repeat
call visited pos res
until res =
dir = random 4
posn = pos + 2 * offs[dir]
if m[posn] <>
m[pos + offs[dir]] =
call m_maze posn
.
Line 2,048 ⟶ 2,041:
.
func make_maze . .
for i range
m[i] =
.
m['n * i] = 'free▼
m[
m[n * i + n - 1] = 0
m[n * (n - 1) + i] = 0
.
call m_maze
m[
.
#
|