Maze solving: Difference between revisions

Content added Content deleted
Line 1,110: Line 1,110:
'f# = 100 / 'n
'f# = 100 / 'n
'f2# = 'f# / 2
'f2# = 'f# / 2
func square pos . .
func draw_square pos . .
if pos = 'startpos
color 900
else
color 777
.
x = pos mod 'n
x = pos mod 'n
y = pos / 'n
y = pos / 'n
Line 1,130: Line 1,125:
len m[] 'n * 'n
len m[] 'n * 'n
#
#
func make_fence . .
func show_maze . .
color 000
rect 100 100
color 777
for i range len m[]
if m[i] = 'free
call draw_square i
.
.
color 900
call draw_square 'startpos
.
func make_outside . .
for i range 'n
for i range 'n
m[i] = 'visited
m[i] = 'visited
Line 1,155: Line 1,162:
m[pos + offs[dir]] = 'free
m[pos + offs[dir]] = 'free
call make_maze posn
call make_maze posn
.
.
.
func show_maze . .
color 000
rect 100 100
for i range len m[]
if m[i] = 'free
call square i
.
.
.
.
Line 1,186: Line 1,184:
.
.
.
.
call make_fence
call make_outside
call make_maze 'startpos
call make_maze 'startpos
m['endpos] = 'free
m['endpos] = 'free