第五个神奇的电梯(1)
为什么是第五个?因为我已经写废了四个了。
程序期望:
- 可以在保证基本框架不变的情况下,更方便的拓展,更改核心算法。
程序构想:
-
分为三个部分:乘客,电梯和控制中心,直观的来说:
- 电梯就是在现实中一同的那个电梯。
- 控制中心就是电梯与人交互的媒介,如,选楼层,呼叫电梯,等。
- 乘客,就是乘客没什么特别的啦。
-
电梯不与乘客进行直接数据交流,所有数据交流通过控制中心。
-
控制中心通过额外的核心算法来控制电梯,核心算法独立于控制中心,通过固定的接口与控制中心进行信息交流,以便于算法的更新。
-
整个程序包括有运行前,运行时,运行后三个注册函数,需要将每一个过程,进行注册,统一管理。
-
程序输入,输出采用文件的方式,输入文件input.txt,输出文件output.txt。
基本类:
-
电梯类:
- 包括成员变量:电梯所在楼层,电梯目标楼层,电梯当前运行速度,电梯当前运行方向,电梯门是否处于开启状态。
- 包括成员函数:电梯开门,电梯关门,电梯速度设置,电梯目标设置,电梯运行。
-
请求类:
- 包括成员变量:请求的楼层,与请求的方向。
-
乘客类:
- 包括成员变量:初始楼层,目标楼层,方向,当前楼层,现在状态,请求时间。
- 包括成员函数:三个更改状态的函数。