void Erode() {
for( int x = 0; x < map.Width; x++ ) {
for( int y = 0; y < map.Length; y++ ) {
for( int z = map.Height - 1; z > 0; z-- ) {
if( map.GetBlock( x, y, z ) == Block.Dirt && map.GetBlock( x, y, z - 1 ) == Block.Air &&
rand.NextDouble() > .5 ) {
map.SetBlock( x, y, z, Block.Air );
}
}
}
}
}