コード例 #1
0
ファイル: worldMap.py プロジェクト: Lemmily/py-shopRL
    def generate_land(self,hm):
        
        print hm.w, hm.h
        #self.noise = perlin_noise.PerlinNoiseGenerator()
        #self.noise.generate_noise(self.w, self.h, 1, 16)
        #print str(self.noise.noise[1][1])
        self.noise = libtcod.noise_new(2, libtcod.NOISE_DEFAULT_HURST, libtcod.NOISE_DEFAULT_LACUNARITY)
        libtcod.heightmap_add_fbm(hm, self.noise, 1, 1, 0, 0, 8, 0.5, 0.8)
        print "scale", str(libtcod.heightmap_get_value(hm, 1, 1))
        self.noise = libtcod.noise_new(2, libtcod.NOISE_DEFAULT_HURST, libtcod.NOISE_DEFAULT_LACUNARITY)
        libtcod.noise_set_type(self.noise, libtcod.NOISE_PERLIN)
        libtcod.heightmap_scale_fbm(hm, self.noise, 1, 1, 0, 0, 8, 0.5, 0.8)
        
#        self.noise = libtcod.noise_new(2, libtcod.NOISE_DEFAULT_HURST, libtcod.NOISE_DEFAULT_LACUNARITY)
#        libtcod.heightmap_add_fbm(hm, self.noise, 1, 1, 0, 0, 8, 0.8, 0.5)
#        
        libtcod.heightmap_normalize(hm, 0, 255)
        print "normalized", str(libtcod.heightmap_get_value(hm, 1, 1))
        
        return hm
コード例 #2
0
def test_heightmap():
    hmap = libtcodpy.heightmap_new(16, 16)
    repr(hmap)
    noise = libtcodpy.noise_new(2)

    # basic operations
    libtcodpy.heightmap_set_value(hmap, 0, 0, 1)
    libtcodpy.heightmap_add(hmap, 1)
    libtcodpy.heightmap_scale(hmap, 1)
    libtcodpy.heightmap_clear(hmap)
    libtcodpy.heightmap_clamp(hmap, 0, 0)
    libtcodpy.heightmap_copy(hmap, hmap)
    libtcodpy.heightmap_normalize(hmap)
    libtcodpy.heightmap_lerp_hm(hmap, hmap, hmap, 0)
    libtcodpy.heightmap_add_hm(hmap, hmap, hmap)
    libtcodpy.heightmap_multiply_hm(hmap, hmap, hmap)

    # modifying the heightmap
    libtcodpy.heightmap_add_hill(hmap, 0, 0, 4, 1)
    libtcodpy.heightmap_dig_hill(hmap, 0, 0, 4, 1)
    libtcodpy.heightmap_rain_erosion(hmap, 1, 1, 1)
    libtcodpy.heightmap_kernel_transform(hmap, 3, [-1, 1, 0], [0, 0, 0],
                                         [.33, .33, .33], 0, 1)
    libtcodpy.heightmap_add_voronoi(hmap, 10, 3, [1, 3, 5])
    libtcodpy.heightmap_add_fbm(hmap, noise, 1, 1, 1, 1, 4, 1, 1)
    libtcodpy.heightmap_scale_fbm(hmap, noise, 1, 1, 1, 1, 4, 1, 1)
    libtcodpy.heightmap_dig_bezier(hmap, [0, 16, 16, 0], [0, 0, 16, 16], 1, 1,
                                   1, 1)

    # read data
    libtcodpy.heightmap_get_value(hmap, 0, 0)
    libtcodpy.heightmap_get_interpolated_value(hmap, 0, 0)

    libtcodpy.heightmap_get_slope(hmap, 0, 0)
    libtcodpy.heightmap_get_normal(hmap, 0, 0, 0)
    libtcodpy.heightmap_count_cells(hmap, 0, 0)
    libtcodpy.heightmap_has_land_on_border(hmap, 0)
    libtcodpy.heightmap_get_minmax(hmap)

    libtcodpy.noise_delete(noise)
    libtcodpy.heightmap_delete(hmap)
コード例 #3
0
    def generate_land(self, hm):

        print hm.w, hm.h
        #self.noise = perlin_noise.PerlinNoiseGenerator()
        #self.noise.generate_noise(self.w, self.h, 1, 16)
        #print str(self.noise.noise[1][1])
        self.noise = libtcod.noise_new(2, libtcod.NOISE_DEFAULT_HURST,
                                       libtcod.NOISE_DEFAULT_LACUNARITY)
        libtcod.heightmap_add_fbm(hm, self.noise, 1, 1, 0, 0, 8, 0.5, 0.8)
        print "scale", str(libtcod.heightmap_get_value(hm, 1, 1))
        self.noise = libtcod.noise_new(2, libtcod.NOISE_DEFAULT_HURST,
                                       libtcod.NOISE_DEFAULT_LACUNARITY)
        libtcod.noise_set_type(self.noise, libtcod.NOISE_PERLIN)
        libtcod.heightmap_scale_fbm(hm, self.noise, 1, 1, 0, 0, 8, 0.5, 0.8)

        #        self.noise = libtcod.noise_new(2, libtcod.NOISE_DEFAULT_HURST, libtcod.NOISE_DEFAULT_LACUNARITY)
        #        libtcod.heightmap_add_fbm(hm, self.noise, 1, 1, 0, 0, 8, 0.8, 0.5)
        #
        libtcod.heightmap_normalize(hm, 0, 255)
        print "normalized", str(libtcod.heightmap_get_value(hm, 1, 1))

        return hm
コード例 #4
0
 def multiply_noise(self):
     self.noise = libtcod.noise_new(2, libtcod.NOISE_DEFAULT_HURST,
                                    libtcod.NOISE_DEFAULT_LACUNARITY)
     libtcod.noise_set_type(self.noise, libtcod.NOISE_PERLIN)
     libtcod.heightmap_scale_fbm(self.hm, self.noise, 1, 1, 1, 1, 16, 0.5,
                                 0.5)
コード例 #5
0
ファイル: worldMap.py プロジェクト: Lemmily/py-shopRL
 def multiply_noise(self):
     self.noise = libtcod.noise_new(2, libtcod.NOISE_DEFAULT_HURST, libtcod.NOISE_DEFAULT_LACUNARITY)
     libtcod.noise_set_type(self.noise, libtcod.NOISE_PERLIN)
     libtcod.heightmap_scale_fbm(self.hm, self.noise, 1, 1, 1, 1, 16, 0.5, 0.5)