Beispiel #1
0
def mountain_gap_test():
    terrain = Terrain()
    terrain.generate_terrain(num_rivers=0)
    z, x = terrain.layers['elevation'].shape
    elevation = np.zeros((z, x))
    elevation[range(0, z//2 - 5), x//2] = 10
    elevation[range(z//2 + 5, z), x//2] = 10
    terrain.layers['elevation'] = elevation

    start_road = (random.randint(0, z-1), 0)
    end_road = (random.randint(0, z-1), x-1)
    terrain.add_road([end_road])
    connect_point(start_road, terrain)

    print('start road', start_road)
    print('end road', end_road)

    plot(terrain, [])
Beispiel #2
0
def river_test():
    terrain = Terrain()
    terrain.generate_terrain(num_rivers=0)

    z, x = terrain.layers['material'].shape
    sp1, ep1 = (0, x//2), (z//2 -5, x//2)
    sp2, ep2 = (z//2 + 5, x//2), (z-1, x//2)
    terrain.add_material_line(terrain.layers['material'], terrain.materials['water'], sp1, ep1, 1)
    terrain.add_material_line(terrain.layers['material'], terrain.materials['water'], sp2, ep2, 1)


    start_road = (random.randint(0, z-1), 0)
    end_road = (random.randint(0, z-1), x-1)
    terrain.add_road([end_road])
    connect_point(start_road, terrain)

    print('start road', start_road)
    print('end road', end_road)

    plot(terrain, [])
Beispiel #3
0
import os
import sys
import numpy as np

sys.path.append(os.getcwd() + '/..')

from terrain import Terrain

t = Terrain()
t.generate_terrain()

assert not np.all(t.layers['material']==0), "No water"

t.layers['water_dist'] = t.init_material_dist(t.materials['water'])

assert not np.all(t.layers['water_dist']==np.inf), "Not initialized correctly"

t.layers['water_dist'] = t.update_material_dist(t.layers['water_dist'], t.materials['water'])

assert np.all(t.layers['water_dist'] != np.inf), "Water distances has infinity"