SKGreyHound

05.Assembly Line

Jan 20th, 2021
441
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.65 KB | None | 0 0
  1. function createAssemblyLine(car) {
  2.  
  3. car.hasClima = () => {
  4. car.temp = 21,
  5. car.tempSettings = 21,
  6. car.adjustTemp = () => {
  7. if (car.temp < car.tempSettings) {
  8. car.temp++;
  9. } else if (car.temp > car.tempSettings) {
  10. car.temp--;
  11. }
  12.  
  13. }
  14. }
  15. car.hasAudio = (name, artist) => {
  16. car.currentTrack = { name, artist },
  17. car.nowPlaying = () => {
  18. if (car.currentTrack !== null) {
  19. console.log(`Now playing '${car.currentTrack.name}' by ${car.currentTrack.artist}`);
  20. }
  21. }
  22. }
  23. car.hasParktronic = () => {
  24. car.checkDistance = (distance) => {
  25. if (distance < 0.1) {
  26. console.log("Beep! Beep! Beep!");
  27. } else if (distance >= 0.1 && distance < 0.25) {
  28. console.log("Beep! Beep!");
  29. } else if (distance >= 0.25 && distance < 0.5) {
  30. console.log("Beep!");
  31. } else {
  32. console.log('');
  33. }
  34. }
  35. }
  36.  
  37. return car;
  38. }
  39.  
  40. const myCar = {
  41. make: 'Toyota',
  42. model: 'Avensis'
  43. };
  44.  
  45. const assemblyLine = createAssemblyLine(myCar);
  46.  
  47. assemblyLine.hasClima(myCar);
  48. console.log(myCar.temp);
  49. myCar.tempSettings = 18;
  50. myCar.adjustTemp();
  51. console.log(myCar.temp);
  52. assemblyLine.hasAudio(myCar);
  53. myCar.currentTrack = {
  54. name: 'Never Gonna Give You Up',
  55. artist: 'Rick Astley'
  56. };
  57. myCar.nowPlaying();
  58. assemblyLine.hasParktronic(myCar);
  59. myCar.checkDistance(0.4);
  60. myCar.checkDistance(0.2);
  61. console.log(myCar);
Advertisement
Add Comment
Please, Sign In to add comment