function update(){ // Gestion des touches if(keys["ArrowUp"]){ car.rpm += 400; // accélération moteur } else { car.rpm -= 250; // décélération } // Limite RPM car.rpm = Math.max(1000, Math.min(car.rpm, car.maxRPM)); // Calcul vitesse réelle car.speed = (car.rpm / car.maxRPM) * car.maxSpeed; // Déplacement horizontal de la voiture if(keys["ArrowLeft"]) car.x -= 5; if(keys["ArrowRight"]) car.x += 5; // Défilement route pour donner la sensation de vitesse roadOffset += car.speed * 1.5; // multiplier pour plus de sensation if(Math.random() < 0.01){ // virages aléatoires targetCurve = (Math.random() - 0.5) * 300; } roadCurve += (targetCurve - roadCurve) * 0.03; car.x += roadCurve * 0.003; // léger mouvement sur la route }