elevator  0.7
Симулятор пассажирского лифта
Файл Elevator.h

Заголовочный файл с описанием класса Elevator и сопутствующих структур Подробнее...

#include <string>
#include <vector>
#include "Passenger.h"
Граф включаемых заголовочных файлов для Elevator.h:
Граф файлов, в которые включается этот файл:

См. исходные тексты.

Классы

class  Elevator
 Класс — кабина лифта Подробнее...
 

Перечисления

enum  ElevatorIndicator { ElevatorIndicator::both, ElevatorIndicator::up, ElevatorIndicator::down }
 Состояния лампочки (индикатора направления движения) кабины лифта Подробнее...
 
enum  ElevatorStatus { ElevatorStatus::staying, ElevatorStatus::movingUp, ElevatorStatus::movingDn }
 
enum  ElevatorAcceleration { ElevatorAcceleration::breaking, ElevatorAcceleration::accelerating, ElevatorAcceleration::uniform }
 Ускорение лифта (не может быть использовано напрямую в системе управления, внутренний параметр) Подробнее...
 
enum  ElevatorDoorsStatus {
  ElevatorDoorsStatus::opening, ElevatorDoorsStatus::openedUnloading, ElevatorDoorsStatus::openedLoading, ElevatorDoorsStatus::closing,
  ElevatorDoorsStatus::closed, ElevatorDoorsStatus::waiting
}
 Состояние дверей кабины лифта (не может быть использовано напрямую в системе управления, внутренний параметр) Подробнее...
 

Подробное описание

Заголовочный файл с описанием класса Elevator и сопутствующих структур

Автор
Марчевский Илья Константинович
Версия
0.7
Дата
20 февраля 2022 г.

См. определение в файле Elevator.h

Перечисления

enum ElevatorAcceleration
strong

Ускорение лифта (не может быть использовано напрямую в системе управления, внутренний параметр)

Элементы перечислений
breaking 

замедляется (тормозит)

accelerating 

ускоряется (разгоняется)

uniform 

движется равномерно или стоит

См. определение в файле Elevator.h строка 56

56  {
57  breaking,
58  accelerating,
59  uniform,
60 };
движется равномерно или стоит
замедляется (тормозит)
ускоряется (разгоняется)
enum ElevatorDoorsStatus
strong

Состояние дверей кабины лифта (не может быть использовано напрямую в системе управления, внутренний параметр)

Элементы перечислений
opening 

открываются

openedUnloading 

открыты (идет высадка пассажиров)

openedLoading 

открыты (идет посадка пассажиров)

closing 

закрываются

closed 

закрыты

waiting 

открыты (лифт ожидает отправления)

См. определение в файле Elevator.h строка 66

66  {
67  opening,
70  closing,
71  closed,
72  waiting,
73 };
открыты (идет посадка пассажиров)
открыты (лифт ожидает отправления)
открыты (идет высадка пассажиров)
открываются
закрываются
enum ElevatorIndicator
strong

Состояния лампочки (индикатора направления движения) кабины лифта

Состояние лифта (не может быть использовано напрямую в системе управления, внутренний параметр)

Индикатор (лампочка со стрелочкой) "зажигается" Вами при помощи системы управления. Пассажиры в кабину садятся только те, которые едут в указанном стрелочкой (или двумя стрелочками, если зажечь состояние "both") направлении.

Хотя бывают пассажиры, которые не смотрят на стрелочки и садятся в лифт, едущий не туда (в симуляции тоже такие будут встречаться, причем вероятность их появления повышается с увеличением времени ожидания на этаже!)

Если индикатор лифта "горит" в состоянии both (он пустой или нет - не важно), и в лифт входит пассажир, то индикатор автоматически переключается в то направление, какую кнопку он нажал, входя в лифт.

Если ваша система управления работает "криво", то возможна ситуация, что стрелочка будет гореть вверх, а реально лифт поедет вниз. Едущие вниз при этом в него не сядут.

Элементы перечислений
both 

стрелочки в обоих направлениях

up 

стрелочка вверх

down 

стрелочка вниз

См. определение в файле Elevator.h строка 36

36  {
37  both,
38  up,
39  down,
40 };
стрелочки в обоих направлениях
стрелочка вверх
стрелочка вниз
enum ElevatorStatus
strong
Элементы перечислений
staying 

стоит (не движется)

movingUp 

движется вверх

movingDn 

движется вниз

См. определение в файле Elevator.h строка 46

46  {
47  staying,
48  movingUp,
49  movingDn,
50 };
движется вниз
движется вверх
стоит (не движется)