【2017级面向对象程序设计】作业三

gtihub

实现方法

  • 代码构成:主函数,加上类电梯,加上结构体乘客,加上lua脚本3个。
  • 基本思路:
    • 运行前:
      • 输入数据。
      • 启动lua虚拟机。
    • 运行时:
      • 检查请求:检查有没有新的请求,有则放入总请求向量中。
      • 同步:将新的请求同步到每个电梯的请求向量中,并判断是否可以前往该请求楼层,标记不能前往的乘客。
      • 判断进出:判断乘客是否可以、愿意进出电梯,并标记这些乘客。
      • 同步:将乘客状态与其他电梯同步。
      • 输出:输出电梯停靠楼层。
      • 调用:调用脚本函数对下一步移动方向进行处理。
      • 移动:电梯移动。
      • 完成判定:判断是否完成。
    • 运行后:
      • 关闭lua虚拟机。
      • 将输出分文件。
  • 难点:在完成作业的时候遇到了以下难点。
    • c++调用lua函数。
    • 将输出分文件。
    • 乘客请求的收集。
  • bug:
    • auto用于for循环里只是便利,容器的一个镜像,不会改变容器的值。
    • lua语法一直错误。
    • 结束运行条件出现错误。

c的实现

  • 我觉得把我的电梯类改成结构体,自己写一个向量,然后改一下输出就是c的实现了。
posted @ 2018-05-13 08:53  纪华裕  阅读(131)  评论(0编辑  收藏  举报