3
判断电梯是否
已经到达该楼
层
判断电梯是否
已经逆向到达
楼层
键恢复为未按状
态
Y
N
键 恢 复 为 未 按
状态
Y
Y
N
判断电梯是否
继续向下
x
判断电梯是否
已经到达该楼
层
将电梯的状态改变,即 lift.state!
=0 并且将该按钮键颜色改变
Y
判断电梯是否
继续向下
判断电梯是否
继续向下
x
设置电梯为停止状态即 lift.state=0
设置电梯为向下
状态即
lift.state=1
判断电梯方向
是否是向上
x
电梯向下一层移
动 lift.number--;
判断电梯状态
是否等于 0
x
结束
判断电梯方向
是否向是上
x
电梯向上一层移动
lift.number++;
判断电梯是否
继续向上
判断电梯下方楼
层是否有键被按
下
x
N
Y
N
设置电梯为停止状态即 lift.state=0
设置电梯为向下
状态即
lift.state=2
电梯是否在向上运动,
并且电梯是否已经到达
该楼层
向 上 键 恢
复 为 未 按
状态
Y
N
电梯是否在向上运动,
并且电梯是否已经到达
该楼层
Y
N
向 下 键 恢
复 为 未 按
状态