一 :任务要求
本次的程序任务和要求如上图所示,需要有4部电梯同时运行,每部电梯都有自己的限制且被同一控制器所控制,希望有图形显示效果,本次的任务我们组已经完成,关于编程的历程与总结现在就一一道来。
二:初步构想阶段
我们先尝试解决最核心的问题,即电梯的调度算法问题,初步构思是这样的,电梯根据当前控制器内所要到的楼层信息判断是向下运行或向上运行,并向上或向下运行至控制器内楼层的最大或最小值,期间出现的所有楼层信息都加入到控制器内,若有比最值更大或更小的信息不予理会,只是加入控制器中,每到一楼层就判断控制器内是否有该楼层,有则在该层停留,并移除控制器内该层信息,无则继续运行,运行至最值处,重新从控制器内找出最值,并判断向上或向下运行,如此循环。当控制器内没有信息后,电梯等待一段时间后会回到初值处。
代码如下:
1 public void down()//定义一个下降函数 便于复用
2 {3 for(;cout>=con.getmin();cout--)4 {5 vie.map.get(new Point(250-50*panmode,500-cout*20)).setBackground(Color.black);6 if(con.getlist(this.mode).contains(cout))7 {8 con.remove(cout)