我正在为学校做一个应用程序,它包括用战略模式模拟建筑物中电梯的工作。
所以我有一个班级大楼,它有一个ArrayList的楼层和另一个电梯。每层楼都有一个按钮呼叫电梯,有4部电梯和16层楼。
我需要做的是应用战略模式,以决定哪个电梯应该移动到哪一层。
有什么办法吗?
我试图为每一层建立一个观察者,所以当按下按钮时,会通知观察者,但我仍然不知道如何制定选择电梯的策略。
如果您需要代码--我将尝试翻译它--我犯了一个错误,就是在我的母语上编写变量,这不是您可以看到的英语。
发布于 2013-12-07 14:13:58
您可能需要查看这方面的现有代码。
这里的关键是使用计时器来模拟实际的时间传递。你需要找到所有按下按钮的楼层(一个列表或数组左右)。每个按下的按钮都需要知道它的楼层和方向(向上、向下或任何方向)。如果从电梯里按下,你会得到“任何”,如果按在外面,你会得到“向上”或“向下”。根据目标楼层的列表,您可以根据电梯当前的楼层和当前方向,在每一刻或每一站之后决定下一层的位置,并输出“向上”或“向下”到目标楼层。
请注意,为了避免饥饿,电梯不能总是瞄准“下一层”。想想看。
https://stackoverflow.com/questions/20442248
复制相似问题