codepad
[
create a new paste
]
login
|
about
Language:
C
C++
D
Haskell
Lua
OCaml
PHP
Perl
Plain Text
Python
Ruby
Scheme
Tcl
from random import shuffle def generate(maze, x=1, y=1): dirs = [(-1, 0), (1, 0), (0, -1), (0, 1)] w, h = len(maze[0]), len(maze) maze[y][x] = ' '; shuffle(dirs) for dx, dy in dirs: nx, ny = (x + 2 * dx, y + 2 * dy) if (0 < nx < w-1 and 0 < ny < h-1) and maze[ny][nx] == '#': maze[y + dy][x + dx] = ' ' generate(maze, nx, ny) return maze def makemaze(width, height): maze = [] for y in range(2 * height + 1): row = []; maze.append(row) for x in range(2 * width + 1): row.append('#') maze[-2][-1] = maze[1][0] = '>' return generate(maze) for i in makemaze(25, 15): print ''.join(i)
Private
[
?
]
Run code
Submit