zoukankan      html  css  js  c++  java
  • 电梯调度(续)

    成员:真真 小兰

    3月10日,7:00~9:30 界面设计

    第一天设计出了界面,虽然没有什么技术含量,但,毕竟是个好的开始!!!期待明天的工作。

    3月11日  19:00-21:00

    经过讨论,又重新设计一下界面,把电梯上下楼标志由radioButton改为了一个按钮,由按钮来运动。并且把类和主要的函数构思了一下,初步结果如下(看起来很简单,其实。。。恩):

    乘客类;

    {

      体重;

      乘客当前楼层;

      所要到达楼层;

      选择楼层;

      控制电梯门开关;

      按钮选择上下楼;

    }

    电梯类

    {

       电梯号:

       电梯当前所在楼层;

    电梯状态;

    上下楼;

    }

    只是大概想想思路,具体的就期待明天的19:00—21:00咯偶哈!!!!收工喽!!!!!

    3月12日

    思路改了,没有用类和接口,用的控件和一些算法

    实现了乘客告诉电梯他在哪个楼层,然后电梯到达那个楼层,并且电梯内部的显示屏上显示实时的楼层数。当然还有开关门功能。

    3月13日

    实现了乘客进到电梯里,按下所要到达的楼层键,电梯可以把乘客准确送到。

    还有一个很大的问题就是:当电梯送乘客上楼时,如果有另外的乘客想要上楼,按下这位乘客当前的楼层,电梯就会立即响应这位乘客,而第一位乘客此时还没有到达目的地、、、、

    计划未来三个晚上解决掉这个问题!

    控制上下楼代码:

     1 private void timera_Tick(object sender, EventArgs e)  //电梯上下至乘客所在楼层
     2         {
     3            if (n <= louceeng)   //电梯上至乘客所在楼层
     4             { 
     5                 label33.Location = new Point(510, 460 - a);
     6                 a += 20;
     7                 if (n == louceeng)
     8                 {
     9                     timera.Stop();
    10                     timerkaimrn.Start();
    11                     
    12                 }
    13                 label1.Text = Convert.ToString(n);    //动态显示楼层数
    14                 n++;
    15               
    16             }
    17            else  //电梯下至乘客所在楼层
    18             {
    19                 a -= 20;
    20                 label33.Location = new Point(510, 460 - a);
    21                 
    22                 if (n == louceeng)
    23                 {
    24                     timera.Stop();
    25                    // timerkaimrn.Start();
    26                 }
    27                 label1.Text = Convert.ToString(n-1);
    28                 n--;
    29               
    30             }
    31 
    32         }

    控制电梯开关代码:

     1  private void timerkaimrn_Tick(object sender, EventArgs e)  //电梯开
     2         {
     3             x++;
     4             label34.Width = 54 - x;
     5             label35.Width = 54 - x;
     6             label35.Location = new Point(66+x, 14);
     7             if (x == 44)
     8             {
     9                 timerkaimrn.Stop();
    10                 x = 0;
    11             }
    12         }
    13       
    14         private void timerguanmen_Tick(object sender, EventArgs e) //电梯关
    15         {
    16             x++;
    17             label34.Width = 10 + x;
    18             label35.Width = 10 + x;
    19             label35.Location = new Point(110 - x, 14);
    20             if (x == 44)
    21                 timerguanmen.Stop();
    22         }

    其实,这次电梯做的功能很不完善,也没有用到类,只是用c#来实现对电梯的控制,有待改进。

  • 相关阅读:
    Java实现 LeetCode 461 汉明距离
    在Linux运行期间升级Linux系统(Uboot+kernel+Rootfs)
    AM335x(TQ335x)学习笔记——挂载Ramdisk
    Ramdisk文件系统的制作与调试运行
    u-boot向linux内核传递启动参数(详细)
    uboot环境变量与内核MTD分区关系
    MMU
    INTERRUPT CONTROLLER
    UART
    GPIO
  • 原文地址:https://www.cnblogs.com/fengxiaolan/p/3611935.html
Copyright © 2011-2022 走看看