随着小游戏的制作的结束,我们迎来了第二个pairproject—编写高效的电梯调度程序。我和Gaoyao同学作为一组,程序已经完成,在这里我们写上对本次pairproject的总结。

 

首先我们完成了邹老师要求的测试接口的编写。我们的测试框架是基于指令触发的,每当有一个乘客(在电梯内或外)按下按钮时,调用一次调度程序。这样的好处是,测试调度程序所需时间只与指令个数有关,不会出现因模拟长时间调度而需大量时间的情况。我们讨论决定了这个框架,最后伪代码由我完成。

 

提交了测试框架的伪代码之后,我们的任务是,根据老师提供的测试框架和接口编写调度程序。老师提供的测试框架是用时间片触发的,据此我们的调度程序分为三种情况:

  1. 触发时电梯正向上运动:搜索电梯上方的有向上指令的最近的可达层,如果有,则下一步到达该层;如果没有,则搜索所有有向下指令的最近的可达层,如果有,则下一步到达该层;如果仍没有,则搜索电梯下方的有向上指令的最近的可达层,如果有,则下一步到达该层;如果仍没有,这是不可能滴。
  2. 触发时电梯正向下运动:调度策略与1中所述相反。
  3. 触发时电梯静止:如果历史方向为向上,则与1中所述相同,如果历史方向为向下,则与1众所诉相反,如果历史方向为静止,则与1中所述相同。

我们的调度算法与实际电梯相似,我们相信在实际情况下会有较好的调度结果。下面奉上照片一张!

pair project2

 

--xiaoming

相关文章:

  • 2021-08-14
  • 2021-07-12
  • 2021-05-20
  • 2021-05-21
  • 2022-02-01
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-10-25
  • 2021-08-13
  • 2021-10-20
  • 2021-06-02
  • 2021-10-08
  • 2021-09-22
  • 2021-12-10
相关资源
相似解决方案