队员:
11061187 高小洲
11061189 陈睿翊
附加题4的改进意见:
如果要实现如现实生活当中的电梯锁上层数不同的情况,可分为以下几种可能性:
1.有些楼层由于人流过少,仅有1或2个电梯可到达,此时对应的解决方案是考虑修改LeaveElevator方法和EnterElevator方法中添加判断将去往特殊楼层的乘客添加标记并在schedule类里面的相应添加请求的时候进行筛选;
2.有电梯仅仅控制停靠奇数层或偶数层,此时的解决方法与刚刚类似,只不过在schedule类里面还要进行一个对奇数偶数的判断;
3.电梯的承受重量不同,这个不同要注意修改对应的elev.FreeCapability属性,此时不同的电梯拥有不同的初始值,要使用不同的初始化定义;
4.电梯的速度可能会出现不同,实现这个问题会产生较大的麻烦,因为行动较快的电梯,就应该指派更多有较长距离的乘客,而较慢的电梯就要接纳更多的短途的乘客,这样可以在执行schedule类的时候添加一个概率判断,当距离大于一定数值的时候进如某一个电梯,这个方法暂时还没有想出很好的解决方法。