Table of contents

Car Simulator System — Page 21

const newGear = msg.payload; const oldGear = flow.get("gear") || "gear1"; const currentSpeed = flow.get("speed") || 0; flow.set("gear", newGear); if (oldGear === "gear2" && newGear === "gear1" && currentSpeed > 30) { const interval = setInterval(() => { let speed = flow.get("speed") || 0; speed -= 5; if (speed <= 30) { speed = 30; clearInterval(interval); } flow.set("speed", speed); node.send({ payload: speed }); }, 500); return null; } else { return { payload: flow.get("speed") }; }
let gear = flow.get("gear") || "none"; let speed = flow.get("speed") || 0; let maxSpeed = gear === "gear1" ? 30 : (gear === "gear2" ? 60 : 0); if (speed >= maxSpeed) { return null; } let interval = 200; let increase = () => { speed = flow.get("speed") || 0; if (speed < maxSpeed) { speed += 1; flow.set("speed", speed); node.send({ payload: speed }); setTimeout(increase, interval); } }; increase(); return null;
let speed = flow.get("speed") || 0; let decelerate = () => { speed = flow.get("speed") || 0; if (speed > 0) { speed -= 1; if (speed < 0) speed = 0; flow.set("speed", speed); node.send({ payload: speed }); setTimeout(decelerate, 200); } }; decelerate(); return null;