}
private void make(long seed) {
rng.setSeed(seed);
map = new boolean[world.height][world.width];
Vec start = world.midpoint;
int steps = world.width * world.height / (4 * 6);
int baseScore = 10;
int noRepeatScore = 10000;
int noBackTrackScore = -5;
int noTurnScore = 20;
int radius = world.width / 2 - 2;
randomWalk(start, Dir.East, steps, baseScore, noRepeatScore, noBackTrackScore, noTurnScore);
for (Dir d : Dir.dirs) {
Vec startPoint = world.midpoint.InDirection(d, d == Dir.North ? radius + 2 : radius);
randomWalk(startPoint, Dir.East, steps, baseScore, noRepeatScore, noBackTrackScore, noTurnScore);
}
}