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.