Создать модель автомобиля. Он предназначен для водителя плюс ещё 3 пассажира (4 человека). Водитель всегда считается первым в машине. Машина это объект car = {}
.
color
- цвет,doors
- количество дверей,speed
- текущая скорость,defaultSpeed
- скорость по умолчанию,maxSpeed
- максимальная скорость,seats
- количество мест,passengers[]
- пассажиры. Массив из любых значений.
put()
для посадки пассажиров. Добавяляет одного пассажира вpassengers[]
;land()
для высадки пассажиров. Удаляет одного пассажира изpassengers[]
;drive(newSpeed)
для езды. Аргумент - скорость езды. Увеличивает скоростьspeed
.
Например, чтобы посадить двух пассажиров
car.put();
car.put();
//пассажиры `car.passengers` стали
[true, true]
После этого высадить одного пассажира
car.land();
//пассажиры `car.passengers` стали
[true]
Чтобы машина поехала
car.drive(80);
//скорость car.speed стала
80
color
равно "white",doors
равно 4,speed
равно 0,defaultSpeed
равно 60,maxSpeed
равно 100,seats
равно 4,passengers[]
пустой массив.
- В машину не могут влезть больше человек чем предназначено. Пассажиров не может быть больше чем количество, указанное в
seats
. - Первый пассажир всегда водитель. Водитель садится первым и высаживается последним.
- В качестве пассажиров массив
passengers[]
нужно наполнять любыми однороднными значениями. Для этого может подойти значениеtrue
. - При движении машины можно задавать параметр скорости движения. Это изменит свойство
speed
машины. Но если не задать, то применится скорость движения по умолчанию из `defaultSpeed. - Машина не может двигаться быстрее чем её максимальная скорость. Скорость
speed
не может быть выше, чемmaxSpeed
. - Машина не может ездить, если в ней нет водителя, когда
passengers[]
пустой. Скоростьspeed
будет 0. - Свойства
color
иdoors
ни на что не влияют. - Если высадить всех пассажиров на ходу, машина должна остановиться. Скорость
speed
должна стать 0.
Всё должно быть запрограммировано в виде одного модуля. Путь к модулю должен быть строго таким "/src/js/car.js", иначе автоматические тесты не смогут найти его. Этот модуль должен экспортировать объект машины.
- JavaScript object notation;
- роль
this
в JavaScript; - добавление и удалание элементов массива;
- присвоение значений по умолчанию;
- ES6 модули.
Информация по настройке проекта находится в файле HELP.md