Maze generation: Difference between revisions

→‎{{header|Icon}} and {{header|Unicon}}: + enhanced window parameters, title, simplified wall clearing
(→‎{{header|Icon}} and {{header|Unicon}}: + enhanced window parameters, title, simplified wall clearing)
Line 1,084:
every d := !rd do
case d of { # try all, clearing wall on success
NORTH : maze[r,c] +:= ( GenerateMaze(r-1,c), NORTHd)
EAST : maze[r,c] +:= ( GenerateMaze(r,c+1), EASTd)
SOUTH : maze[r,c] +:= ( GenerateMaze(r+1,c), SOUTHd)
WEST : maze[r,c] +:= ( GenerateMaze(r,c-1), WESTd)
}
return # signal success to caller
Line 1,105:
ww := (cw := (mw := *maze[1]) * CELL) + 2 * BORDER # win, cell, maze width
 
wparms := [ sprintf("Maze %dx%d","g"*maze,"bg=white","canvas=hidden"*maze[1]), # window parameters
"g","bg=white","canvas=hidden",
sprintf("size=%d,%d",ww,wh),
sprintf("dx=%d",BORDER),
Anonymous user