实际状况
1 电梯共有四部
2 四部电梯是联动的
3 高峰期位于7.-8点12-12.30 1.50-2点 5.30-6.30
4 电梯在8-18楼运行
5 电梯有载重限制,且都不一样
设计思想(初步情况,有待实际考察继续完善)
首先电梯共有四部,且这四部是相互关联的,不能够直上直下,即按1号电梯按钮可能下来的是2号电梯
电梯运行时需要判断电梯哪部离得最近最快能到达,且这部电梯没有往反方向运行载客中考虑情况有以下
1 电梯初始化全部在一楼,此时四部电梯可同时运行往上
2 一般情况,按一部电梯是最近的电梯到达指定楼层
3 若1人在10楼叫电梯,此时离得最近有两部电梯1号(10楼下)和2号(10楼上),因判断另外两部在
10楼上还是下,若全在上,则2号下行到10楼,以此保证若1楼有人叫电梯可以以最快速度到达,保障综
合效率。反之,则1号上。(尽量满足电梯数量均衡)
4 若2人AB,A在16楼B在10楼,AB都要下一楼,则电梯会先到16载客A,再到10载客B同时下行。
5 若一部电梯提示超重后,会有另一部电梯自动到超重楼层继续载客。若4部电梯都在繁忙状态,
则在某一部(最快完成任务)电梯完成载客任务后自动到指定楼层载客
6 电梯高峰期时经常会载重过多,针对于高峰期时人流上下程度不一样,例如上课时期上行人多此时电梯在高峰期之前会主动下行到1楼
方便人流多可以快速运转,下课时期下去人多,则主动停到8楼左右载客
代码设计思想(初步想法)
对电梯进行编号如 A B C D
楼层进行编号1 2 ....18
电梯计算最短距离先判断电梯所在楼层,任何和目标楼层做差,绝对值最小的判断为最近
此时调用函数是相应电梯到达相应楼层
(未完)