コード例 #1
0
ファイル: power_points.py プロジェクト: pavetok/the-tale
def _point_circle_wetness(obj, power, normalizer, power_percent):
    return power_points.CircleAreaPoint(layer_type=layers.LAYER_TYPE.WETNESS,
                                        name='wetness_' + obj.uid,
                                        x=obj.x,
                                        y=obj.y,
                                        radius=obj.r,
                                        power=power * power_percent,
                                        normalizer=normalizer)
コード例 #2
0
ファイル: power_points.py プロジェクト: pavetok/the-tale
def _point_circle_temperature(obj, power, normalizer, power_percent):
    return power_points.CircleAreaPoint(
        layer_type=layers.LAYER_TYPE.TEMPERATURE,
        name='temperature_' + obj.uid,
        x=obj.x,
        y=obj.y,
        radius=obj.r,
        power=power * power_percent,
        normalizer=normalizer)
コード例 #3
0
ファイル: power_points.py プロジェクト: pavetok/the-tale
def _point_circle_soil(obj, power, normalizer, power_percent):
    return power_points.CircleAreaPoint(layer_type=layers.LAYER_TYPE.SOIL,
                                        name='soil_' + obj.uid,
                                        x=obj.x,
                                        y=obj.y,
                                        radius=obj.r,
                                        power=power * power_percent,
                                        default_power=0.0,
                                        normalizer=normalizer)
コード例 #4
0
ファイル: power_points.py プロジェクト: pavetok/the-tale
def _point_circle_height(obj, borders, normalizer, power_percent):
    return power_points.CircleAreaPoint(layer_type=layers.LAYER_TYPE.HEIGHT,
                                        name='height_circle_' + obj.uid,
                                        x=obj.x,
                                        y=obj.y,
                                        radius=obj.r,
                                        power=get_height_power_function(
                                            borders, power_percent),
                                        default_power=(0.0, 0.0),
                                        normalizer=normalizer)
コード例 #5
0
ファイル: power_points.py プロジェクト: pavetok/the-tale
def _default_soil_points(delta=0.0):
    return power_points.CircleAreaPoint(
        layer_type=layers.LAYER_TYPE.SOIL,
        name='default_soil',
        x=map_settings.WIDTH / 2,
        y=map_settings.HEIGHT / 2,
        power=0.3 + delta,
        radius=int(math.hypot(map_settings.WIDTH, map_settings.HEIGHT) / 2) +
        1,
        normalizer=normalizers.equal)
コード例 #6
0
ファイル: power_points.py プロジェクト: pavetok/the-tale
def _default_temperature_points(delta=0.0):
    return power_points.CircleAreaPoint(
        layer_type=layers.LAYER_TYPE.TEMPERATURE,
        name='default_temperature',
        x=map_settings.WIDTH / 2,
        y=map_settings.HEIGHT / 2,
        power=0.5 + delta,
        radius=int(math.hypot(map_settings.WIDTH, map_settings.HEIGHT) / 2) +
        1,
        normalizer=normalizers.equal)
コード例 #7
0
ファイル: power_points.py プロジェクト: pavetok/the-tale
def _point_circle_vegetation(obj, power, normalizer, power_percent):
    return power_points.CircleAreaPoint(
        layer_type=layers.LAYER_TYPE.VEGETATION,
        name='vegetation_' + obj.uid,
        x=obj.x,
        y=obj.y,
        radius=obj.r,
        power=(power[0] * power_percent, power[1] * power_percent),
        default_power=(0.0, 0.0),
        normalizer=normalizer)
コード例 #8
0
def _default_wetness_points(delta=0.0):
    return power_points.CircleAreaPoint(
        layer_type=layers.LAYER_TYPE.WETNESS,
        name='default_wetness',
        x=map_settings.WIDTH // 2,
        y=map_settings.HEIGHT // 2,
        power=0.6 + delta,
        radius=int(math.hypot(map_settings.WIDTH, map_settings.HEIGHT) / 2) +
        1,
        normalizer=normalizers.equal)
コード例 #9
0
ファイル: power_points.py プロジェクト: pavetok/the-tale
def _default_vegetation_points():
    return power_points.CircleAreaPoint(
        layer_type=layers.LAYER_TYPE.VEGETATION,
        name='default_vegetation',
        x=map_settings.WIDTH / 2,
        y=map_settings.HEIGHT / 2,
        power=(0.25, 0.25),
        default_power=(0.0, 0.0),
        radius=int(math.hypot(map_settings.WIDTH, map_settings.HEIGHT) / 2) +
        1,
        normalizer=normalizers.equal)
コード例 #10
0
        if height < optimal:
            return (0.0, math.fabs(borders[0] - height) / 2 * power_percent)
        if height > optimal:
            return (math.fabs(borders[1] - height) / 2 * power_percent, 0.0)

        return (0.0, 0.0)

    return power_function


world.add_power_point(
    power_points.CircleAreaPoint(
        layer_type=LAYER_TYPE.HEIGHT,
        name='circular_point_1',
        x=25,
        y=25,
        power=get_height_power_function(borders=(-0.5, 0.5)),
        default_power=(0, 0),
        radius=15,
        normalizer=normalizers.linear_2))

world.add_power_point(
    power_points.CircleAreaPoint(
        layer_type=LAYER_TYPE.HEIGHT,
        name='circular_point_2',
        x=35,
        y=45,
        power=get_height_power_function(borders=(0.25, 0.75)),
        default_power=(0, 0),
        radius=15,
        normalizer=normalizers.linear_2))