annotate trunk/aid/maze/generate.d @ 0:4b2e8e8a633e

Repository setup.
author revcompgeek
date Mon, 03 Mar 2008 19:28:10 -0700
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
4b2e8e8a633e Repository setup.
revcompgeek
parents:
diff changeset
1 module ai.maze.generate;
4b2e8e8a633e Repository setup.
revcompgeek
parents:
diff changeset
2
4b2e8e8a633e Repository setup.
revcompgeek
parents:
diff changeset
3 import tango.math.Random;
4b2e8e8a633e Repository setup.
revcompgeek
parents:
diff changeset
4
4b2e8e8a633e Repository setup.
revcompgeek
parents:
diff changeset
5 class MazeGenerator {
4b2e8e8a633e Repository setup.
revcompgeek
parents:
diff changeset
6 public:
4b2e8e8a633e Repository setup.
revcompgeek
parents:
diff changeset
7 MazeCell[][] generate(uint w, uint h){
4b2e8e8a633e Repository setup.
revcompgeek
parents:
diff changeset
8 Random r = Random.shared;
4b2e8e8a633e Repository setup.
revcompgeek
parents:
diff changeset
9 MazeCell[][] maze = new MazeCell[w][h];
4b2e8e8a633e Repository setup.
revcompgeek
parents:
diff changeset
10 uint x = r.next(w);
4b2e8e8a633e Repository setup.
revcompgeek
parents:
diff changeset
11 uint y = r.next(h);
4b2e8e8a633e Repository setup.
revcompgeek
parents:
diff changeset
12
4b2e8e8a633e Repository setup.
revcompgeek
parents:
diff changeset
13 }
4b2e8e8a633e Repository setup.
revcompgeek
parents:
diff changeset
14 }
4b2e8e8a633e Repository setup.
revcompgeek
parents:
diff changeset
15
4b2e8e8a633e Repository setup.
revcompgeek
parents:
diff changeset
16 struct MazeCell {
4b2e8e8a633e Repository setup.
revcompgeek
parents:
diff changeset
17 bool n=true,w=true,s=true,e=true,visited=false;
4b2e8e8a633e Repository setup.
revcompgeek
parents:
diff changeset
18 }