1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/sxx1111-elevator_simulation

Клонировать/Скачать
Elevator.h 1.7 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Shixinxin Отправлено 07.01.2019 20:52 9b3613b
#ifndef Elevator_H
#define Elevator_H
#include "Person.h"
#include <set>
#include <vector>
using namespace std;
class Elevator {
private:
bool (*rule) (int); // 电梯规则
int spaceTime; // 在楼层之间的时间
bool isPick; // 表示电梯是否正在上下人
int closeTime; // 关门时间
int state; // 表示电梯状态,-1下降,0停止,1上升
int currentFloor; // 当前楼层
int maxFloor; // 电梯能到最高层
int minFloor; // 电梯能到最底层
vector<bool> iarriveFloor; // 电梯可达层数,电梯内人员设置
vector<bool> oarriveFloor; // 电梯可达层数,电梯外人员设置
set<Person*> personSet; //电梯内的人
public:
// 构造函数
Elevator (bool(*)(int));
// 设置电梯状态
void setState (int);
// 返回电梯状态
int getState ();
// 设置当前层数
void setCurrentFloor ();
// 返回当前层数
int getCurrentFloor ();
// 返回当前人数
int getCurrentPerson ();
// 计算当前重量
int getWeight ();
// 是否超重
bool overLoad ();
// 楼层可达检测
bool canArrive (int);
// 设置内可达层数
void setiArriveFloor (int);
// 设置外可达层数
void setoArriveFloor (int);
// 取消可达层数
void cancelArriveFloor (int);
// 获取可达最高层
int getMaxFloor ();
// 获取可达最低层
int getMinFloor ();
// 设置电梯正在上下人
void setIsPick (bool);
// 电梯是否正在上人
bool getIsPick ();
// 设置电梯关门时间
int setCloseTime ();
// 电梯关门时间减少
void decreaseCloseTime ();
// 返回电梯关门时间
int getCloseTime ();
// 设置电梯在楼层之间的时间
void setSpaceTime ();
// 在楼层之间的时间减1秒
void decreaseSpaceTime ();
// 获取电梯在楼层之间的时间
int getSpaceTime ();
// 电梯上人
void pickUpPerson (Person*);
// 电梯下人
void pickDownPerson (Person*);
// 打印信息
void printSelf ();
};
#endif

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/sxx1111-elevator_simulation.git
git@api.gitlife.ru:oschina-mirror/sxx1111-elevator_simulation.git
oschina-mirror
sxx1111-elevator_simulation
sxx1111-elevator_simulation
master