#22 développement du pourcentage de contamination

This commit is contained in:
2025-08-19 09:44:59 +02:00
parent f5be43767a
commit b0efeff809
15 changed files with 101 additions and 97 deletions

View File

@@ -2,12 +2,12 @@ extends Resource
class_name TerrainData
const TERRAIN_IMAGE_GAME_FACTOR = 50
const DEFAULT_CONTAMINATION_CENTRAL_ZONE_MAX_SIZE = 1000
const DEFAULT_CONTAMINATION_CENTRAL_ZONE_MIN_SIZE = 200
const DEFAULT_CONTAMINATION_CENTRAL_ZONE_MAX_SIZE = 500
const DEFAULT_CONTAMINATION_CENTRAL_ZONE_MIN_SIZE = 100
signal terrain_updated
@export var terrainSize : Vector2 = Vector2(2000,2000)
@export var terrainSize : Vector2 = Vector2(1500,1500)
@export var contamination : Image = null
@@ -67,4 +67,7 @@ func get_contamination(point : Vector2) -> float:
return contamination.get_pixel(
int(round(pixel_point.x)),
int(round(pixel_point.y))
).r
).r
func get_decontamination_coverage() -> float:
return ImageTools.get_color_coverage(contamination)

View File

@@ -1,6 +1,6 @@
[gd_resource type="Resource" script_class="SeedItem" load_steps=3 format=3 uid="uid://lrl2okkhyxmx"]
[ext_resource type="Texture2D" uid="uid://dcgnamu7sb3ov" path="res://gui/player_info/assets/icons/bolt.svg" id="1_dy25s"]
[ext_resource type="Texture2D" uid="uid://dcgnamu7sb3ov" path="res://gui/assets/icons/bolt.svg" id="1_dy25s"]
[ext_resource type="Script" uid="uid://bypjcvlc15gsm" path="res://common/inventory/scripts/items/seed_item.gd" id="2_mgcdi"]
[resource]

View File

@@ -1,5 +1,14 @@
class_name ImageTools
static func get_color_coverage(image: Image, color: Color = Color.WHITE):
var pixel_color_count = 0.
for x in range(image.get_width()):
for y in range(image.get_height()):
if image.get_pixel(x, y) == color:
pixel_color_count += 1.
return pixel_color_count/(image.get_width()*image.get_height())
static func draw_circle(image: Image, center: Vector2i, length: int, color: Color = Color.WHITE):
for x in range(image.get_width()):
for y in range(image.get_height()):