Script Do Simulador De Lavagem De Pressao -

float nozzle_mod = 1.0 switch active_nozzle: case RED: nozzle_mod = 2.5 // Very high impact, narrow angle case YELLOW: nozzle_mod = 1.8 case GREEN: nozzle_mod = 1.0 case WHITE: nozzle_mod = 0.6 case SOAP: nozzle_mod = 0.2 // Soap doesn't blast, it chemically loosens

function InitializeSimulator(): current_psi = 300.0 // Start with medium pressure current_temp = 20.0 // Cold water active_nozzle = NozzleType.GREEN fuel_level = 100.0 soap_level = 100.0 is_overheated = false combo_timer = 0.0 // Reset all dirt decals on surfaces for each surface in scene_surfaces: surface.dirt_amount = GetInitialDirtByLevel(current_level)

function IsFullyClean(): return GetAverageDirt() < 0.01 To reward continuous cleaning without stopping. Script do Simulador de Lavagem de Pressao

// 5. Thermal buildup UpdateTemperature(delta_time, cleaning_power) function CalculateCleaningPower(): // Base PSI * Nozzle Modifier * Temperature Bonus * Impact distance float base = current_psi

float final_power = base * nozzle_mod * temp_mod float nozzle_mod = 1

// --- UI & Progression --- int player_score = 0 int current_level = 1 float combo_timer = 0.0 // Timer for consecutive cleaning bool is_overheated = false Executed when the level loads or the simulator resets.

// Clamp limits current_temp = Clamp(current_temp, 20.0, 100.0) // Clamp limits current_temp = Clamp(current_temp, 20

if is_overheated and current_temp <= 70.0: is_overheated = false ShowMessage("Machine cooled. Ready to spray.") function RefillResources(): // Called at refill stations fuel_level = 100.0 soap_level = 100.0 current_temp = 40.0 // Reset to warm but not hot PlaySound("refill_click") Each cleanable object (wall, floor, vehicle) follows this interface.