public Maze(long paramLong, int paramInt1, int paramInt2)
{
java.util.Random localRandom = new java.util.Random(paramLong);
this.iteration = 0;
this.diagonal = false;
this.n_directions = 4;
this.cde = new Key.Key_comparator();
this.u = new TreeSet(this.cde);
this.size_x = paramInt1;
this.size_y = paramInt2;
this.cells = new Node[paramInt1, paramInt2];
for (int ii = 0; ii < paramInt1; ii++)
{
for (int jj = 0; jj < paramInt2; jj++)
{
this.cells[ii, jj] = new Node(ii, jj);
}
}
int i = (int)(localRandom.nextDouble() * 2147483647.0D) % paramInt1;
int j = (int)(localRandom.nextDouble() * 2147483647.0D) % paramInt2;
this.original_start = (this.robot_cell = this.start = this.cells[i, j]);
do
{
i = (int)(localRandom.nextDouble() * 2147483647.0D) % paramInt1;
j = (int)(localRandom.nextDouble() * 2147483647.0D) % paramInt2;
this.goal = this.cells[i, j];
} while ((this.start.X == this.goal.X) && (this.start.Y == this.goal.Y));
for (i = 0; i < paramInt1; i++)
{
for (j = 0; j < paramInt2; j++)
{
this.cells[i, j].h = (Math.Abs(i - this.goal.X) + Math.Abs(j - this.goal.Y));
this.cells[i, j].iteration = this.iteration;
if ((this.cells[i, j] == this.start) || (this.cells[i, j] == this.goal) ||
(localRandom.nextDouble() > 0.25D))
{
continue;
}
this.cells[i, j].real_type = 1;
}
}
}