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