zoukankan      html  css  js  c++  java
  • 电梯调度的设计与实现过程(李帅 张硕)

    实现整个调度算法花了好多时间,不过总算完成了,虽然代码不是很规范,因为没有进行类的封装,将所有的代码写在了一个文件之中。原来以为实现这个调度并不算困难,写不了多少行代码,结果越写越多,又不想从头封装类再写,只能不断在原来基础上添加,代码比较繁长,冗余。不过我想整个思路还是有可取之处吧。

    整个电梯调度可以说分为三大部分,第一部分是电梯的选择,可以算是外部调度,当有楼层发出请求后,选择最快到达的电梯到达发出请求的楼层。如图所示这里除了

    底层和顶层外分别设定了两个按键发出上楼或者下楼的请求。这四十个按键几乎是相同的操作。

    private void button25_Click(object sender, EventArgs e)
    {
        obj = 0;
        flag[obj] = 1;
        button_Click();
    }

    obj代表发出请求的楼层数;

    flag[obj]表示发出的请求是上楼还是下楼(1代表上楼,-1代表下楼);

    button_Click();表示调度函数开始进程ele,用来实例化线程ele的start函数是进行电梯的选择的;

    public void button_Click()
    {
                
        ele = new Thread(new ThreadStart(start));
        ele.Start();
    
    }

    现在说说整个start函数

      1 public void start()
      2         {
      3             
      4             int min = 22, d;
      5             int select = -1;
      6            
      7             if (floor_num[0, obj] == -1 && floor_num[1, obj] == -1 && floor_num[2, obj] == -1 && floor_num[3, obj] == -1)          //发出请求的楼层未在等待中
      8             {
      9                  for (int i = 0; i < 4; i++)
     10                  {
     11                      ele_flag1[i] = ele_flag[i];
     12                     if (ele_flag[i] == 0)   //电梯停靠
     13                     {
     14 
     15                         d = Math.Abs(obj - num[i]);               //电梯与发出请求的楼层的距离
     16                         //找出最短距离的电梯,将距离最近的电梯号赋给select
     17                         if (min > d)
     18                         {
     19                             min = d;
     20                             select = i;
     21                             if (obj < num[i])
     22                             {
     23                                 ele_flag[i] = -1;
     24                             }
     25                             if (obj > num[i])
     26                             {
     27 
     28                                 ele_flag[i] = 1;
     29                             }
     30                             if (obj == num[i])
     31                             {
     32 
     33                                 ele_flag[i] = 0;
     34                             }
     35                         }
     36 
     37                     }
     38                     if (ele_flag[i] == 1 && flag[obj] == 1)   //电梯向上运行与请求同向
     39                     {
     40                         flag[obj] = 0;
     41                         if (obj >= num[i])
     42                         {
     43                             d = Math.Abs(obj - num[i]);               //电梯与发出请求的楼层的距离
     44                             //找出最短距离的电梯,将距离最近的电梯号赋给select
     45                             if (min > d)
     46                             {
     47 
     48                                 min = d;
     49                                 select = i;
     50                                 ele_flag[i] = 1;
     51                             }
     52                         }
     53                         if (obj < num[i] && min == 22&&i==3)
     54                         {
     55                             Thread.Sleep(1);
     56                             button_Click();
     57                         }
     58 
     59                     }
     60                     if (ele_flag[i] == -1 && flag[obj] == -1)      //电梯下降
     61                     {
     62                         flag[obj] = 0;
     63                         if (obj <= num[i])
     64                         {
     65                             d = Math.Abs(obj - num[i]);               //电梯与发出请求的楼层的距离
     66 
     67                             //找出最短距离的电梯,将距离最近的电梯号赋给select
     68                             if (min > d)
     69                             {
     70                                 min = d;
     71                                 select = i;
     72                                 ele_flag[i] = -1;
     73 
     74                             }
     75                         }
     76                         if (obj > num[i] && min == 22 && i == 3)
     77                         {
     78                             Thread.Sleep(1);
     79                             button_Click();
     80                         }
     81                     }
     82                     if (ele_flag[3] == -flag[3]&&min == 22)
     83                     {
     84                         Thread.Sleep(1);
     85                         button_Click();
     86                     }
     87 
     88                 }
     89                  for (int i = 0; i < 4; i++)
     90                  {
     91                      if (i != select)
     92                      {
     93                          ele_flag[i] = ele_flag1[i];
     94                      }
     95                  } 
     96             }
     97             
     98             if (select == 0)
     99             {
    100                 select = -1;
    101                 obj_num[0]++;
    102                 floor_num[0, obj] = obj;
    103                 peopleflag[0, obj] = 1;
    104                 if (obj > floortop[0])
    105                 {
    106                     floortop[0] = obj;
    107                 }
    108                 if (obj < floorbase[0])
    109                 {
    110                     floortop[0] = obj;
    111                 }
    112                     
    113                 if (obj_num[0] == 1)
    114                 {
    115                     elet[0] = new Thread(new ThreadStart(run1));
    116                     elet[0].Start();
    117                 }
    118             }
    119             if (select == 1)
    120             {
    121                 select = -1;
    122                 obj_num[1]++;
    123                 floor_num[1,obj] = obj;
    124                 peopleflag[1, obj] = 1;
    125 
    126                 if (obj > floortop[1])
    127                 {
    128                     floortop[1] = obj;
    129                 }
    130                 if (obj < floorbase[0])
    131                 {
    132                     floortop[1] = obj;
    133                 }
    134                 if (obj_num[1] == 1)
    135                 {
    136                     elet[1] = new Thread(new ThreadStart(run2));
    137                     elet[1].Start();
    138                 }
    139             }
    140             if (select == 2)
    141             {
    142                 select = -1;
    143                 obj_num[2]++;
    144                 floor_num[2, obj] = obj;
    145                 peopleflag[2, obj] = 1;
    146                 if (obj > floortop[2])
    147                 {
    148                     floortop[2] = obj;
    149                 }
    150                 if (obj < floorbase[2])
    151                 {
    152                     floortop[2] = obj;
    153                 }
    154                 if (obj_num[2] == 1)
    155                 {
    156                     elet[2] = new Thread(new ThreadStart(run3));
    157                     elet[2].Start();
    158                 }
    159             }
    160             if (select == 3)
    161             {
    162                 select = -1;
    163                 obj_num[3]++;
    164                 floor_num[3, obj] = obj;
    165                 peopleflag[3, obj] = 1;
    166                 if (obj > floortop[3])
    167                 {
    168                     floortop[3] = obj;
    169                 }
    170                 if (obj < floorbase[3])
    171                 {
    172                     floortop[3] = obj;
    173                 }
    174                 if (obj_num[3] == 1)
    175                 {
    176                     elet[3] = new Thread(new ThreadStart(run4));
    177                     elet[3].Start();
    178                 }
    179             }
    180 
    181           
    182         }
    start

    这是利用循环进行比较,每一次循环大体比较三次,第一次比较停靠电梯,第二三次比较方向相同的,如果循环完成都没有则沉睡1毫秒再次循环寻找。找到合适的电梯后进行调用。首先解决的的问题是如何比较,低一些的算法少比较了好多情况,经过讨论确定这种算法情况比较全面。但依然出了问题其中会出现电梯位置与请求位置的比较,造成电梯运行方向的不同。解决了这些问题才有了现在的算法。

    然后就是电梯的运行移动了代码如下:

     1  public void run1()
     2         {
     3 
     4 
     5             int x = 0;
     6             int y = ele_flag[0] * 2550;
     7             int i = num[0];
     8            
     9             while (obj_num[0] > 0 && ele_flag[0] != 0&&i<21)
    10             {
    11                
    12 
    13                 i = i + ele_flag[0];
    14                 num[0] = i;
    15                 lab[0].BackColor = Color.Green;
    16                 Thread.Sleep(1000);
    17 
    18                 lab[0].Text = fnum[i];
    19                 lab[0].Location = new Point(lab[0].Location.X + x / 100, lab[0].Location.Y - y / 100);
    20 
    21                 label1.Refresh();
    22                 
    23                 if (floor_num[0,i] == i&&(peopleflag[0, i]+peopleflag1[0]) != 2)
    24                 {
    25                     num[0] = i;
    26                     lab[0].BackColor = Color.Red;
    27                     floor_num[0,i] = -1;
    28                     obj_num[0]--;
    29 
    30 
    31                     if (obj_num[0] != 0)
    32                     {
    33                         Thread.Sleep(5000);
    34                     }
    35                   
    36 
    37                 }
    38                 if ((i == floortop[0] || i == floorbase[0]||i==20||i==0) && obj_num[0] != 0)
    39                 {
    40                     ele_flag[0] = -ele_flag[0];
    41                     y = ele_flag[0] * 2550;
    42 
    43                 }
    44                 if (obj_num[0] == 0)
    45                 {
    46                     ele_flag[0] = 0;
    47                     elet[0].Abort();
    48                 }
    49             }
    50 
    51 
    52         }
    run1

    这里面遇到的问题是最多的,首先就是电梯会有上下移动,方向不同,一开始用两个循环分别进行上和下的运行,这样太过繁琐,然后行到了可以利用取反来使用一个循环。解决这个问题之后又出现了新的问题

    ,因为刚开始写的是一个run函数大家共同调用它,结果发现无动态,利用百度添加委托事件之后,虽然试验能移动,但移动的却只有一部电梯,并且是将两部的动态显示在一部之上,查看函数发现在移动时是用编号对变量赋值,这样在上一个运行的线程中变量值同样被改变,不得已对四部电梯分别写了四个相同的函数,然后在start中选择调用。问题接踵而来,在运行时会有数组超过界限问题,经过调试发现是没有运行终点的原因,所以添加了floorbase[]和floortop[]两个变量,赋予电梯所要到达的最低和最高楼层。电梯调度才顺利实行。这花去了很多的时间,但这是最主要的调度,只要完成距离完全实现也就不远了

    然后两人分别写了电梯的内部调度和重量人数的主要算法

    内部调度 同样是一个button事件来进行调度,完成两点就行,一是将发出请求的楼层标记,二是与要到达的最低最高楼层比较

     1 public void inside_start()
     2         {
     3             if (floor_num[floor, floory] < floorbase[floor] && floor_num[floor, floory] >= 0)
     4             {
     5                 floorbase[floor] = floor_num[floor, floory];
     6             }
     7             if (floortop[floor] < floor_num[floor, floory])
     8             {
     9                 floortop[floor] = floor_num[floor, floory];
    10             }
    11             if (floor_num[floor, floory] > num[floor] && ele_flag[floor] == 0)
    12             {
    13                 ele_flag[floor] = 1;
    14             }
    15             if (floor_num[floor, floory] < num[floor]&&ele_flag[floor] == 0)
    16             {
    17                 ele_flag[floor] = -1;
    18             }
    19             if (floor_num[floor, floory] == num[floor]&&ele_flag[floor] == 0)
    20             {
    21                 ele_flag[floor] = 0;
    22             }
    23             if (floor == 0 && obj_num[0] == 1)
    24             {
    25                 elet[0] = new Thread(new ThreadStart(run1));
    26                 elet[0].Start();
    27             }
    28             if (floor == 1 && obj_num[1] == 1)
    29             {
    30                 elet[1] = new Thread(new ThreadStart(run2));
    31                 elet[1].Start();
    32             }
    33             if (floor == 2&&obj_num[2]==1)
    34             {
    35                 elet[2] = new Thread(new ThreadStart(run3));
    36                 elet[2].Start();
    37             }
    38             if (floor == 3 && obj_num[3]==1)
    39             {
    40                 elet[3] = new Thread(new ThreadStart(run4));
    41                 elet[3].Start();
    42             }
    43            
    44         }
    inside_start

    关于重量和人数的限制也不是很困难,完成加减法,未解决的问题就是如何在输入一次后清空输入,能实现的是初始化为0,利用backspace会出现输入错误

     1 private void button68_Click(object sender, EventArgs e)
     2         {
     3             peoplenow[3] = double.Parse(textBox20.Text) + peoplein[3] - peopleout[3];
     4             textBox20.Text = peoplenow[3] + "";
     5             weightnow[3] = double.Parse(textBox14.Text) + weightadd[3]-weightdel[3];
     6             textBox14.Text = weightnow[3] + "";
     7             if (peoplenow[3] >= 20 || weightnow[3] >= 1600)
     8             {
     9                 peopleflag1[3] = 1;
    10                 textBox14.Text = 1600 + "";
    11                 textBox20.Text = 20 + "";
    12             }
    13             else
    14             {
    15                 peopleflag1[3] = 0;
    16                
    17 
    18             }
    19             textBox12.Text = 0+"";
    20             textBox13.Text =0+ "";
    21             textBox15.Text = 0+"";
    22             textBox24.Text = 0 + "";
    23         }
    people

    最后一点问题就是,如何使在人数重量超过限制之后不在外部的请求下停下,这是整合时要注意的,同样想到的是标志,利用内外标志,内部请求的标为0,外部的标为1,当超过限制时同样设一个标志为1,在同为1的情况下电梯不停下。当然遇到许多其它问题,就不多提了

    下面附带代码和部分截图:

    来5人400kg,在四楼按电梯

       1 using System;
       2 using System.Collections.Generic;
       3 using System.ComponentModel;
       4 using System.Data;
       5 using System.Drawing;
       6 using System.Linq;
       7 using System.Text;
       8 using System.Threading.Tasks;
       9 using System.Windows.Forms;
      10 using System.Threading;
      11 using System.Windows;
      12 namespace lift2
      13 {
      14     public partial class lift : Form
      15     {
      16         Label[] lab = new Label[4];
      17        
      18         int[] flag = new int[21]{0,0,0,0,0,                  //请求上下楼的标志  初始:0  上楼:1   下楼:-1  
      19                                0,0,0,0,0,
      20                                0,0,0,0,0,
      21                                0,0,0,0,0,0};
      22         int[] ele_flag = new int[4] { 0, 0, 0, 0 };          //电梯运行标志  初始:0  向上:1   向下:-1
      23         int[] ele_flag1 = new int[4] { 0, 0, 0, 0 }; 
      24         int floor=0,floory=0;                                     
      25         int[] num = new int[4] { 0, 0, 0, 0 };               //电梯所在楼层
      26         int[] floortop = new int[4] { -1,-1,-1,-1};  //要到达的最高楼层
      27         int[] floorbase = new int[4] { -1,-1,-1,-1};  //要到达的最低楼层
      28         int obj;                                        //中间变量发出请求的楼层
      29         int[] obj_num = new int[4] { 0, 0, 0, 0 };                       //发出请求的楼层个数
      30         int[ ,] floor_num = new int[4,21];                  //电梯所要到达的楼层
      31         int[ ,] peopleflag=new int[4,21];
      32         int[] peopleflag1 = new int[4]{0,0,0,0};
      33         Thread[] elet=new Thread[4];                     //四部电梯运行的线程实例
      34         Thread ele,eleinside;                                     //外部调度的现成实例
      35         string[] fnum = new string[21]{
      36                                 "第0层","第1层","第2层","第3层","第4层","第5层",
      37                                 "第6层","第7层","第8层","第9层","第10层","第11层",
      38                                 "第12层","第13层","第14层","第15层","第16层","第17层",
      39                                 "第18层","第19层","第20层"};
      40         double[]weightnow=new double[4]{0,0,0,0};
      41         double[] weightadd = new double[4] { 0, 0, 0, 0 };
      42         double[] peoplein = new double[4] { 0, 0, 0, 0 };
      43         double[] peopleout = new double[4] { 0, 0, 0, 0 };
      44         double[] peoplenow = new double[4] { 0, 0, 0, 0 };
      45         double[] weightdel = new double[4] { 0, 0, 0, 0 };
      46         public lift()
      47         {
      48             InitializeComponent();
      49             Control.CheckForIllegalCrossThreadCalls = false;
      50             lab[0] = label49;
      51             lab[1] = label50;
      52             lab[2] = label51;
      53             lab[3] = label52;
      54             button69.BackColor = Color.Blue;
      55             textBox1.Text = 0 + "";
      56             textBox2.Text = 0 + "";
      57             textBox3.Text = 0 + "";
      58             textBox4.Text = 0 + "";
      59             textBox5.Text = 0 + "";
      60             textBox6.Text = 0 + "";
      61             textBox7.Text = 0 + "";
      62             textBox8.Text = 0 + "";
      63             textBox9.Text = 0 + "";
      64             textBox10.Text = 0 + "";
      65             textBox11.Text = 0 + "";
      66             textBox12.Text = 0 + "";
      67             textBox13.Text = 0 + "";
      68             textBox14.Text = 0 + "";
      69             textBox15.Text = 0 + "";
      70             textBox16.Text = 0 + "";
      71             textBox17.Text = 0 + "";
      72             textBox18.Text = 0 + "";
      73             textBox19.Text = 0 + "";
      74             textBox20.Text = 0 + "";
      75             textBox21.Text = 0 + "";
      76             textBox22.Text = 0 + "";
      77             textBox23.Text = 0 + "";
      78             textBox24.Text = 0 + "";
      79             
      80      
      81             for (int i = 0; i < 4; i++)
      82             {
      83                 lab[i].Text = fnum[num[i]];      //初始化显示电梯所在的层数
      84 
      85                 lab[i].BackColor = Color.Red;
      86             }
      87             for (int i = 0; i < 4; i++)
      88                 for (int j=0; j < 21;j++ )//将要到达的所有楼层初始化为-1,代表没有要达到的楼层
      89                 {
      90                     floor_num[i,j] = -1;
      91                     peopleflag[i, j] = 0;
      92 
      93                 }
      94         }
      95         //  委托事件及各个线程
      96         private delegate void setText();
      97         private delegate void setText1();
      98         private delegate void setText2();
      99         private delegate void setText3();
     100         private delegate void setText4();
     101         private delegate void setText5();
     102         private delegate void setText6();
     103         private delegate void setText7();
     104         public void Threadp()
     105         {
     106             setText d = new setText(start);
     107             this.Invoke(d);
     108 
     109         }
     110         public void inside_start()
     111         {
     112             if (floor_num[floor, floory] < floorbase[floor] && floor_num[floor, floory] >= 0)
     113             {
     114                 floorbase[floor] = floor_num[floor, floory];
     115             }
     116             if (floortop[floor] < floor_num[floor, floory])
     117             {
     118                 floortop[floor] = floor_num[floor, floory];
     119             }
     120             if (floor_num[floor, floory] > num[floor] && ele_flag[floor] == 0)
     121             {
     122                 ele_flag[floor] = 1;
     123             }
     124             if (floor_num[floor, floory] < num[floor]&&ele_flag[floor] == 0)
     125             {
     126                 ele_flag[floor] = -1;
     127             }
     128             if (floor_num[floor, floory] == num[floor]&&ele_flag[floor] == 0)
     129             {
     130                 ele_flag[floor] = 0;
     131             }
     132             if (floor == 0 && obj_num[0] == 1)
     133             {
     134                 elet[0] = new Thread(new ThreadStart(run1));
     135                 elet[0].Start();
     136             }
     137             if (floor == 1 && obj_num[1] == 1)
     138             {
     139                 elet[1] = new Thread(new ThreadStart(run2));
     140                 elet[1].Start();
     141             }
     142             if (floor == 2&&obj_num[2]==1)
     143             {
     144                 elet[2] = new Thread(new ThreadStart(run3));
     145                 elet[2].Start();
     146             }
     147             if (floor == 3 && obj_num[3]==1)
     148             {
     149                 elet[3] = new Thread(new ThreadStart(run4));
     150                 elet[3].Start();
     151             }
     152            
     153         }
     154         public void start()
     155         {
     156             
     157             int min = 22, d;
     158             int select = -1;
     159            
     160             if (floor_num[0, obj] == -1 && floor_num[1, obj] == -1 && floor_num[2, obj] == -1 && floor_num[3, obj] == -1)          //发出请求的楼层未在等待中
     161             {
     162                  for (int i = 0; i < 4; i++)
     163                  {
     164                      ele_flag1[i] = ele_flag[i];
     165                     if (ele_flag[i] == 0)   //电梯停靠
     166                     {
     167 
     168                         d = Math.Abs(obj - num[i]);               //电梯与发出请求的楼层的距离
     169                         //找出最短距离的电梯,将距离最近的电梯号赋给select
     170                         if (min > d)
     171                         {
     172                             min = d;
     173                             select = i;
     174                             if (obj < num[i])
     175                             {
     176                                 ele_flag[i] = -1;
     177                             }
     178                             if (obj > num[i])
     179                             {
     180 
     181                                 ele_flag[i] = 1;
     182                             }
     183                             if (obj == num[i])
     184                             {
     185 
     186                                 ele_flag[i] = 0;
     187                             }
     188                         }
     189 
     190                     }
     191                     if (ele_flag[i] == 1 && flag[obj] == 1)   //电梯向上运行与请求同向
     192                     {
     193                         flag[obj] = 0;
     194                         if (obj >= num[i])
     195                         {
     196                             d = Math.Abs(obj - num[i]);               //电梯与发出请求的楼层的距离
     197                             //找出最短距离的电梯,将距离最近的电梯号赋给select
     198                             if (min > d)
     199                             {
     200 
     201                                 min = d;
     202                                 select = i;
     203                                 ele_flag[i] = 1;
     204                             }
     205                         }
     206                         if (obj < num[i] && min == 22&&i==3)
     207                         {
     208                             Thread.Sleep(1);
     209                             button_Click();
     210                         }
     211 
     212                     }
     213                     if (ele_flag[i] == -1 && flag[obj] == -1)      //电梯下降
     214                     {
     215                         flag[obj] = 0;
     216                         if (obj <= num[i])
     217                         {
     218                             d = Math.Abs(obj - num[i]);               //电梯与发出请求的楼层的距离
     219 
     220                             //找出最短距离的电梯,将距离最近的电梯号赋给select
     221                             if (min > d)
     222                             {
     223                                 min = d;
     224                                 select = i;
     225                                 ele_flag[i] = -1;
     226 
     227                             }
     228                         }
     229                         if (obj > num[i] && min == 22 && i == 3)
     230                         {
     231                             Thread.Sleep(1);
     232                             button_Click();
     233                         }
     234                     }
     235                     if (ele_flag[3] == -flag[3]&&min == 22)
     236                     {
     237                         Thread.Sleep(1);
     238                         button_Click();
     239                     }
     240 
     241                 }
     242                  for (int i = 0; i < 4; i++)
     243                  {
     244                      if (i != select)
     245                      {
     246                          ele_flag[i] = ele_flag1[i];
     247                      }
     248                  } 
     249             }
     250             
     251             if (select == 0)
     252             {
     253                 select = -1;
     254                 obj_num[0]++;
     255                 floor_num[0, obj] = obj;
     256                 peopleflag[0, obj] = 1;
     257                 if (obj > floortop[0])
     258                 {
     259                     floortop[0] = obj;
     260                 }
     261                 if (obj < floorbase[0])
     262                 {
     263                     floortop[0] = obj;
     264                 }
     265                     
     266                 if (obj_num[0] == 1)
     267                 {
     268                     elet[0] = new Thread(new ThreadStart(run1));
     269                     elet[0].Start();
     270                 }
     271             }
     272             if (select == 1)
     273             {
     274                 select = -1;
     275                 obj_num[1]++;
     276                 floor_num[1,obj] = obj;
     277                 peopleflag[1, obj] = 1;
     278 
     279                 if (obj > floortop[1])
     280                 {
     281                     floortop[1] = obj;
     282                 }
     283                 if (obj < floorbase[1])
     284                 {
     285                     floortop[1] = obj;
     286                 }
     287                 if (obj_num[1] == 1)
     288                 {
     289                     elet[1] = new Thread(new ThreadStart(run2));
     290                     elet[1].Start();
     291                 }
     292             }
     293             if (select == 2)
     294             {
     295                 select = -1;
     296                 obj_num[2]++;
     297                 floor_num[2, obj] = obj;
     298                 peopleflag[2, obj] = 1;
     299                 if (obj > floortop[2])
     300                 {
     301                     floortop[2] = obj;
     302                 }
     303                 if (obj < floorbase[2])
     304                 {
     305                     floortop[2] = obj;
     306                 }
     307                 if (obj_num[2] == 1)
     308                 {
     309                     elet[2] = new Thread(new ThreadStart(run3));
     310                     elet[2].Start();
     311                 }
     312             }
     313             if (select == 3)
     314             {
     315                 select = -1;
     316                 obj_num[3]++;
     317                 floor_num[3, obj] = obj;
     318                 peopleflag[3, obj] = 1;
     319                 if (obj > floortop[3])
     320                 {
     321                     floortop[3] = obj;
     322                 }
     323                 if (obj < floorbase[3])
     324                 {
     325                     floortop[3] = obj;
     326                 }
     327                 if (obj_num[3] == 1)
     328                 {
     329                     elet[3] = new Thread(new ThreadStart(run4));
     330                     elet[3].Start();
     331                 }
     332             }
     333 
     334           
     335         }
     336         public void Threadp1()
     337         {
     338             setText1 d = new setText1(run1);
     339             this.Invoke(d);
     340 
     341         }
     342         public void run1()
     343         {
     344 
     345 
     346             int x = 0;
     347             int y = ele_flag[0] * 2550;
     348             int i = num[0];
     349            
     350             while (obj_num[0] > 0 && ele_flag[0] != 0&&i<21)
     351             {
     352                
     353 
     354                 i = i + ele_flag[0];
     355                 num[0] = i;
     356                 lab[0].BackColor = Color.Green;
     357                 Thread.Sleep(1000);
     358 
     359                 lab[0].Text = fnum[i];
     360                 lab[0].Location = new Point(lab[0].Location.X + x / 100, lab[0].Location.Y - y / 100);
     361 
     362                 label1.Refresh();
     363                 
     364                 if (floor_num[0,i] == i&&(peopleflag[0, i]+peopleflag1[0]) != 2)
     365                 {
     366                     num[0] = i;
     367                     lab[0].BackColor = Color.Red;
     368                     floor_num[0,i] = -1;
     369                     obj_num[0]--;
     370 
     371 
     372                     if (obj_num[0] != 0)
     373                     {
     374                         Thread.Sleep(5000);
     375                     }
     376                   
     377 
     378                 }
     379                 if ((i == floortop[0] || i == floorbase[0]||i==20||i==0) && obj_num[0] != 0)
     380                 {
     381                     ele_flag[0] = -ele_flag[0];
     382                     y = ele_flag[0] * 2550;
     383 
     384                 }
     385                 if (obj_num[0] == 0)
     386                 {
     387                     ele_flag[0] = 0;
     388                     elet[0].Abort();
     389                 }
     390             }
     391 
     392 
     393         }
     394         public void Threadp2()
     395         {
     396             setText2 d = new setText2(run2);
     397             this.Invoke(d);
     398 
     399         }
     400 
     401         public void run2()
     402         {
     403 
     404             int x = 0;
     405             int y = ele_flag[1] * 2550;
     406             int i = num[1];
     407           
     408             while (obj_num[1] > 0 && ele_flag[1] != 0)
     409             {
     410 
     411                 i = i + ele_flag[1];
     412                 num[1] = i;
     413                 lab[1].BackColor = Color.Green;
     414 
     415                 Thread.Sleep(1000);
     416                 lab[1].Text = fnum[i];
     417                 lab[1].Location = new Point(lab[1].Location.X + x / 100, lab[1].Location.Y - y / 100);
     418 
     419                 label2.Refresh();
     420 
     421                 if (floor_num[1, i] == i && (peopleflag[1, i] + peopleflag1[1]) != 2)
     422                 {
     423 
     424                     lab[1].BackColor = Color.Red;
     425                     floor_num[1,i] = -1;
     426                     obj_num[1]--;
     427                     if (obj_num[01] != 0)
     428                     {
     429                         Thread.Sleep(5000);
     430                     }
     431                     
     432                    
     433 
     434                 }
     435                 if ((i == floortop[1] || i == floorbase[1]) && obj_num[1] != 0)
     436                 {
     437                     ele_flag[1] = -ele_flag[1];
     438                     y = ele_flag[1] * 2550;
     439 
     440                 }
     441                 if (obj_num[1] == 0)
     442                 {
     443                     ele_flag[1] = 0;
     444                     elet[1].Abort();
     445                 }
     446 
     447             }
     448 
     449 
     450         }
     451         public void Threadp3()
     452         {
     453             setText3 f = new setText3(run3);
     454             this.Invoke(f);
     455 
     456         }
     457 
     458         public void run3()
     459         {
     460 
     461 
     462             int x = 0;
     463             int y = ele_flag[2] * 2550;
     464             int i = num[2];
     465             
     466             while (obj_num[2] > 0 && ele_flag[2] != 0)
     467             {
     468 
     469                 i = i + ele_flag[2];
     470                 num[2] = i;
     471                 lab[2].BackColor = Color.Green;
     472 
     473                 Thread.Sleep(1000);
     474                 lab[2].Text = fnum[i];
     475                 lab[2].Location = new Point(lab[2].Location.X + x / 100, lab[2].Location.Y - y / 100);
     476 
     477                 label3.Refresh();
     478 
     479                 if (floor_num[2, i] == i&&(peopleflag[2, i] + peopleflag1[2]) != 2)
     480                 {
     481 
     482                     lab[2].BackColor = Color.Red;
     483                     floor_num[2,i] = -1;
     484                     obj_num[2]--;
     485                     if (obj_num[2] != 0)
     486                     {
     487                         Thread.Sleep(5000);
     488                     }
     489                     
     490 
     491                 }
     492                 if ((i == floortop[2] || i == floorbase[2]) && obj_num[2] != 0)
     493                 {
     494                     ele_flag[2] = -ele_flag[2];
     495                     y = ele_flag[2] * 2550;
     496 
     497                 }
     498                 if (obj_num[2] == 0)
     499                 {
     500                     ele_flag[2] = 0;
     501                     elet[2].Abort();
     502                 }
     503 
     504             }
     505 
     506 
     507         }
     508         public void Threadp4()
     509         {
     510             setText4 d = new setText4(run4);
     511             this.Invoke(d);
     512 
     513         }
     514 
     515         public void run4()
     516         {
     517 
     518 
     519             int x = 0;
     520             int y = ele_flag[3] * 2550;
     521             int i = num[3];
     522             
     523             while (obj_num[3] > 0 && ele_flag[3] != 0)
     524             {
     525 
     526                 i = i + ele_flag[3];
     527                 num[3] = i;
     528                 lab[3].BackColor = Color.Green;
     529 
     530                 Thread.Sleep(1000);
     531                 lab[3].Text = fnum[i];
     532                 lab[3].Location = new Point(lab[3].Location.X + x / 100, lab[3].Location.Y - y / 100);
     533 
     534                 label4.Refresh();
     535 
     536                 if (floor_num[3, i] == i && (peopleflag[3,i] + peopleflag1[3]) != 2)
     537                 {
     538 
     539                     lab[3].BackColor = Color.Red;
     540                     floor_num[3,i] = -1;
     541                     obj_num[3]--;
     542                     if (obj_num[3] != 0)
     543                     {
     544                         Thread.Sleep(5000);
     545                     }
     546                    
     547                     
     548 
     549                 }
     550                 if ((i == floortop[3] || i == floorbase[3]) && obj_num[3] != 0)
     551                 {
     552                     ele_flag[3] = -ele_flag[3];
     553                     y = ele_flag[3] * 2550;
     554 
     555                 }
     556                 if (obj_num[3] == 0)
     557                 {
     558                     ele_flag[3] = 0;
     559                     elet[3].Abort();
     560 
     561                 }
     562 
     563             }
     564 
     565 
     566         }
     567         public void Threadp5()
     568         {
     569             setText d = new setText(button_Click);
     570             this.Invoke(d);
     571 
     572         }
     573         public void Threadp6()
     574         {
     575             setText d = new setText(button_inside);
     576             this.Invoke(d);
     577 
     578         }
     579         public void button_Click()
     580         {
     581             
     582             ele = new Thread(new ThreadStart(start));
     583             ele.Start();
     584 
     585         }
     586         public void Threadp7()
     587         {
     588             setText d = new setText(inside_start);
     589             this.Invoke(d);
     590 
     591         }
     592         public void button_inside()
     593         {
     594             eleinside = new Thread(new ThreadStart(inside_start));
     595             eleinside.Start();
     596         }
     597 
     598         private void button1_Click(object sender, EventArgs e)
     599         {
     600 
     601         }
     602 
     603         private void button2_Click(object sender, EventArgs e)
     604         {
     605 
     606         }
     607 
     608         private void button3_Click(object sender, EventArgs e)
     609         {
     610 
     611         }
     612 
     613         private void button4_Click(object sender, EventArgs e)
     614         {
     615             if (floor_num[floor, 0] == -1)
     616             {
     617                 floory = floor_num[floor, 0] = 0;
     618                 peopleflag[floor, 0] = 0;
     619                 obj_num[floor]++;
     620                 button_inside();
     621             }
     622             else
     623             {
     624                 peopleflag[floor, 0] = 0;
     625             }
     626         }
     627 
     628         private void button5_Click(object sender, EventArgs e)
     629         {
     630             if (floor_num[floor, 1] == -1)
     631             {
     632                 floory = floor_num[floor, 1] = 1;
     633                 peopleflag[floor, 1] = 0;
     634                 obj_num[floor]++;
     635                 button_inside();
     636             }
     637             else
     638             {
     639                 peopleflag[floor, 1] = 0;
     640             }
     641         }
     642 
     643         private void button6_Click(object sender, EventArgs e)
     644         {
     645             if (floor_num[floor, 2] == -1)
     646             {
     647                 floory = floor_num[floor, 2] = 2;
     648                 peopleflag[floor, 2] = 0;
     649                 obj_num[floor]++;
     650                 button_inside();
     651             }
     652             else
     653             {
     654                 peopleflag[floor, 2] = 0;
     655             }
     656         }
     657 
     658         private void button7_Click(object sender, EventArgs e)
     659         {
     660             if (floor_num[floor, 3] == -1)
     661             {
     662                 floory = floor_num[floor, 3] = 3;
     663                 peopleflag[floor, 3] = 0;
     664                 obj_num[floor]++;
     665                 button_inside();
     666             }
     667             else
     668             {
     669                 peopleflag[floor, 3] = 0;
     670             }
     671         }
     672 
     673         private void button8_Click(object sender, EventArgs e)
     674         {
     675             if (floor_num[floor, 4] == -1)
     676             {
     677                 floory = floor_num[floor, 4] = 4;
     678                 peopleflag[floor, 4] = 0;
     679                 obj_num[floor]++;
     680                 button_inside();
     681             }
     682             else
     683             {
     684                 peopleflag[floor, 4] = 0;
     685             }
     686         }
     687 
     688         private void button9_Click(object sender, EventArgs e)
     689         {
     690             if (floor_num[floor, 5] == -1)
     691             {
     692                 floory = floor_num[floor, 5] = 5;
     693                 peopleflag[floor, 5] = 0;
     694                 obj_num[floor]++;
     695                 button_inside();
     696             }
     697             else
     698             {
     699                 peopleflag[floor, 5] = 0;
     700             }
     701         }
     702 
     703         private void button10_Click(object sender, EventArgs e)
     704         {
     705             if (floor_num[floor, 6] == -1)
     706             {
     707                 floory = floor_num[floor, 6] = 6;
     708                 peopleflag[floor, 6] = 0;
     709                 obj_num[floor]++;
     710                 button_inside();
     711             }
     712             else
     713             {
     714                 peopleflag[floor, 6] = 0;
     715             }
     716         }
     717 
     718         private void button11_Click(object sender, EventArgs e)
     719         {
     720             if (floor_num[floor, 7] == -1)
     721             {
     722                 floory = floor_num[floor, 7] = 7;
     723                 peopleflag[floor, 7] = 0;
     724                 obj_num[floor]++;
     725                 button_inside();
     726             }
     727             else
     728             {
     729                 peopleflag[floor, 7] = 0;
     730             }
     731         }
     732 
     733         private void button12_Click(object sender, EventArgs e)
     734         {
     735             if (floor_num[floor, 8] == -1)
     736             {
     737                 floory = floor_num[floor, 8] = 8;
     738                 peopleflag[floor, 8] = 0;
     739                 obj_num[floor]++;
     740                 button_inside();
     741             }
     742             else
     743             {
     744                 peopleflag[floor, 8] = 0;
     745             }
     746         }
     747 
     748         private void button13_Click(object sender, EventArgs e)
     749         {
     750             if (floor_num[floor, 9] == -1)
     751             {
     752                 floory = floor_num[floor, 9] = 9;
     753                 peopleflag[floor, 9] = 0;
     754                 obj_num[floor]++;
     755                 button_inside();
     756             }
     757             else
     758             {
     759                 peopleflag[floor, 9] = 0;
     760             }
     761         }
     762 
     763         private void button14_Click(object sender, EventArgs e)
     764         {
     765             if (floor_num[floor, 10] == -1)
     766             {
     767                 floory = floor_num[floor, 10] = 10;
     768                 peopleflag[floor, 10] = 0;
     769                 obj_num[floor]++;
     770                 button_inside();
     771             }
     772             else
     773             {
     774                 peopleflag[floor, 10] = 0;
     775             }
     776         }
     777 
     778         private void button15_Click(object sender, EventArgs e)
     779         {
     780             if (floor_num[floor, 11] == -1)
     781             {
     782                 floory = floor_num[floor, 11] = 11;
     783                 peopleflag[floor, 11] = 0;
     784                 obj_num[floor]++;
     785                 button_inside();
     786             }
     787             else
     788             {
     789                 peopleflag[floor, 11] = 0;
     790             }
     791         }
     792 
     793         private void button16_Click(object sender, EventArgs e)
     794         {
     795             if (floor_num[floor, 12] == -1)
     796             {
     797                 floory = floor_num[floor, 12] = 12;
     798                 peopleflag[floor, 12] = 0;
     799                 obj_num[floor]++;
     800                 button_inside();
     801             }
     802             else
     803             {
     804                 peopleflag[floor, 12] = 0;
     805             }
     806         }
     807 
     808         private void button17_Click(object sender, EventArgs e)
     809         {
     810             if (floor_num[floor, 13] == -1)
     811             {
     812                 floory = floor_num[floor, 13] = 13;
     813                 peopleflag[floor, 13] = 0;
     814                 obj_num[floor]++;
     815                 button_inside();
     816             }
     817             else
     818             {
     819                 peopleflag[floor, 13] = 0;
     820             }
     821         }
     822 
     823         private void button18_Click(object sender, EventArgs e)
     824         {
     825             if (floor_num[floor, 14] == -1)
     826             {
     827                 floory = floor_num[floor, 14] = 14;
     828                 peopleflag[floor, 14] = 0;
     829                 obj_num[floor]++;
     830                 button_inside();
     831             }
     832             else
     833             {
     834                 peopleflag[floor, 14] = 0;
     835             }
     836         }
     837 
     838         private void button19_Click(object sender, EventArgs e)
     839         {
     840             if (floor_num[floor, 15] == -1)
     841             {
     842                 floory = floor_num[floor, 15] = 15;
     843                 peopleflag[floor, 15] = 0;
     844                 obj_num[floor]++;
     845                 button_inside();
     846             }
     847             else
     848             {
     849                 peopleflag[floor, 15] = 0;
     850             }
     851 
     852         }
     853         private void button20_Click(object sender, EventArgs e)
     854         {
     855             if (floor_num[floor, 16] == -1)
     856             {
     857                 floory = floor_num[floor, 16] = 16;
     858                 peopleflag[floor, 16] = 0;
     859                 obj_num[floor]++;
     860                 button_inside();
     861             }
     862             else
     863             {
     864                 peopleflag[floor, 16] = 0;
     865             }
     866         }
     867       
     868         private void button21_Click(object sender, EventArgs e)
     869         {
     870             if (floor_num[floor, 17] == -1)
     871             {
     872                 floory = floor_num[floor, 17] = 17;
     873                 peopleflag[floor, 17] = 0;
     874                 obj_num[floor]++;
     875                 button_inside();
     876             }
     877             else
     878             {
     879                 peopleflag[floor, 17] = 0;
     880             }
     881         }
     882 
     883         private void button22_Click(object sender, EventArgs e)
     884         {
     885             if (floor_num[floor, 18] == -1)
     886             {
     887                 floory = floor_num[floor, 18] = 18;
     888                 peopleflag[floor, 18] = 0;
     889                 obj_num[floor]++;
     890                 button_inside();
     891             }
     892             else
     893             {
     894                 peopleflag[floor, 18] = 0;
     895             }
     896         }
     897 
     898         private void button23_Click(object sender, EventArgs e)
     899         {
     900             if (floor_num[floor, 19] == -1)
     901             {
     902                 floory = floor_num[floor, 19] = 19;
     903                 peopleflag[floor, 19] = 0;
     904                 obj_num[floor]++;
     905                 button_inside();
     906             }
     907             else
     908             {
     909                 peopleflag[floor, 19] = 0;
     910             }
     911         }
     912 
     913         private void button24_Click(object sender, EventArgs e)
     914         {
     915             if (floor_num[floor, 20] == -1)
     916             {
     917                 floory = floor_num[floor, 20] = 20;
     918                 peopleflag[floor, 20] = 0;
     919                 obj_num[floor]++;
     920                 button_inside();
     921             }
     922             else
     923             {
     924                 peopleflag[floor, 20] = 0;
     925             }
     926         }
     927 
     928         private void button25_Click(object sender, EventArgs e)
     929         {
     930             obj = 0;
     931             flag[obj] = 1;
     932             button_Click();
     933         }
     934 
     935         private void button26_Click(object sender, EventArgs e)
     936         {
     937             obj = 1;
     938             flag[obj] = 1;
     939             button_Click();
     940         }
     941 
     942         private void button27_Click(object sender, EventArgs e)
     943         {
     944             obj = 2;
     945             flag[obj] = 1;
     946             button_Click();
     947         }
     948 
     949         private void button28_Click(object sender, EventArgs e)
     950         {
     951             obj = 3;
     952             flag[obj] = 1;
     953             button_Click();
     954         }
     955 
     956         private void button29_Click(object sender, EventArgs e)
     957         {
     958             obj = 4;
     959             flag[obj] = 1;
     960             button_Click();
     961         }
     962 
     963         private void button30_Click(object sender, EventArgs e)
     964         {
     965             obj = 5;
     966             flag[obj] = 1;
     967             button_Click();
     968         }
     969 
     970         private void button31_Click(object sender, EventArgs e)
     971         {
     972             obj = 6;
     973             flag[obj] = 1;
     974             button_Click();
     975         }
     976 
     977         private void button32_Click(object sender, EventArgs e)
     978         {
     979             obj = 7;
     980             flag[obj] = 1;
     981             button_Click();
     982         }
     983 
     984         private void button33_Click(object sender, EventArgs e)
     985         {
     986             obj = 8;
     987             flag[obj] = 1;
     988             button_Click();
     989         }
     990 
     991         private void button34_Click(object sender, EventArgs e)
     992         {
     993             obj = 9;
     994             flag[obj] = 1;
     995             button_Click();
     996         }
     997 
     998         private void button35_Click(object sender, EventArgs e)
     999         {
    1000             obj = 10;
    1001             flag[obj] = 1;
    1002             button_Click();
    1003         }
    1004 
    1005         private void button36_Click(object sender, EventArgs e)
    1006         {
    1007             obj = 11;
    1008             flag[obj] = 1;
    1009             button_Click();
    1010 
    1011         }
    1012 
    1013         private void button37_Click(object sender, EventArgs e)
    1014         {
    1015             obj = 12;
    1016             flag[obj] = 1;
    1017             button_Click();
    1018         }
    1019 
    1020         private void button38_Click(object sender, EventArgs e)
    1021         {
    1022             obj = 13;
    1023             flag[obj] = 1;
    1024             button_Click();
    1025         }
    1026 
    1027         private void button39_Click(object sender, EventArgs e)
    1028         {
    1029             obj = 14;
    1030             flag[obj] = 1;
    1031             button_Click();
    1032         }
    1033 
    1034         private void button40_Click(object sender, EventArgs e)
    1035         {
    1036             obj = 15;
    1037             flag[obj] = 1;
    1038             button_Click();
    1039         }
    1040 
    1041         private void button41_Click(object sender, EventArgs e)
    1042         {
    1043             obj = 16;
    1044             flag[obj] = 1;
    1045             button_Click();
    1046         }
    1047 
    1048         private void button42_Click(object sender, EventArgs e)
    1049         {
    1050             obj = 17;
    1051             flag[obj] = 1;
    1052             button_Click();
    1053         }
    1054 
    1055         private void button43_Click(object sender, EventArgs e)
    1056         {
    1057             obj = 18;
    1058             flag[obj] = 1;
    1059             button_Click();
    1060         }
    1061 
    1062         private void button44_Click(object sender, EventArgs e)
    1063         {
    1064             obj = 19;
    1065             flag[obj] = 1;
    1066             button_Click();
    1067         }
    1068 
    1069         private void button45_Click(object sender, EventArgs e)
    1070         {
    1071             obj = 20;
    1072             flag[obj] = -1;
    1073             button_Click();
    1074         }
    1075 
    1076         private void button46_Click(object sender, EventArgs e)
    1077         {
    1078             obj = 19;
    1079             flag[obj] = -1;
    1080             button_Click();
    1081         }
    1082 
    1083         private void button47_Click(object sender, EventArgs e)
    1084         {
    1085             obj = 18;
    1086             flag[obj] = -1;
    1087             button_Click();
    1088         }
    1089 
    1090         private void button48_Click(object sender, EventArgs e)
    1091         {
    1092             obj = 17;
    1093             flag[obj] = -1;
    1094             button_Click();
    1095         }
    1096 
    1097         private void button49_Click(object sender, EventArgs e)
    1098         {
    1099             obj = 16;
    1100             flag[obj] = -1;
    1101             button_Click();
    1102         }
    1103 
    1104         private void button50_Click(object sender, EventArgs e)
    1105         {
    1106             obj = 15;
    1107             flag[obj] = -1;
    1108             button_Click();
    1109         }
    1110 
    1111         private void button51_Click(object sender, EventArgs e)
    1112         {
    1113             obj = 14;
    1114             flag[obj] = -1;
    1115             button_Click();
    1116         }
    1117 
    1118         private void button52_Click(object sender, EventArgs e)
    1119         {
    1120             obj = 13;
    1121             flag[obj] = -1;
    1122             button_Click();
    1123         }
    1124 
    1125         private void button53_Click(object sender, EventArgs e)
    1126         {
    1127             obj = 12;
    1128             flag[obj] = -1;
    1129             button_Click();
    1130         }
    1131 
    1132         private void button54_Click(object sender, EventArgs e)
    1133         {
    1134             obj = 11;
    1135             flag[obj] = -1;
    1136             button_Click();
    1137 
    1138         }
    1139 
    1140         private void button55_Click(object sender, EventArgs e)
    1141         {
    1142             obj = 10;
    1143             flag[obj] = -1;
    1144             button_Click();
    1145 
    1146         }
    1147 
    1148         private void button56_Click(object sender, EventArgs e)
    1149         {
    1150             obj = 9;
    1151             flag[obj] = -1;
    1152             button_Click();
    1153 
    1154         }
    1155 
    1156         private void button57_Click(object sender, EventArgs e)
    1157         {
    1158             obj = 8;
    1159             flag[obj] = -1;
    1160             button_Click();
    1161 
    1162         }
    1163 
    1164         private void button58_Click(object sender, EventArgs e)
    1165         {
    1166             obj = 7;
    1167             flag[obj] = -1;
    1168             button_Click();
    1169 
    1170         }
    1171 
    1172         private void button59_Click(object sender, EventArgs e)
    1173         {
    1174             obj = 6;
    1175             flag[obj] = -1;
    1176             button_Click();
    1177 
    1178         }
    1179 
    1180         private void button60_Click(object sender, EventArgs e)
    1181         {
    1182             obj = 5;
    1183             flag[obj] = -1;
    1184             button_Click();
    1185 
    1186         }
    1187 
    1188         private void button61_Click(object sender, EventArgs e)
    1189         {
    1190             obj = 4;
    1191             flag[obj] = -1;
    1192             button_Click();
    1193 
    1194         }
    1195 
    1196         private void button62_Click(object sender, EventArgs e)
    1197         {
    1198             obj = 3;
    1199             flag[obj] = -1;
    1200             button_Click();
    1201 
    1202         }
    1203 
    1204         private void button63_Click(object sender, EventArgs e)
    1205         {
    1206             obj = 2;
    1207             flag[obj] = -1;
    1208             button_Click();
    1209 
    1210         }
    1211 
    1212         private void button64_Click(object sender, EventArgs e)
    1213         {
    1214             obj = 1;
    1215             flag[obj] = -1;
    1216             button_Click();
    1217 
    1218         }
    1219 
    1220         private void label2_Click(object sender, EventArgs e)
    1221         {
    1222 
    1223         }
    1224 
    1225        
    1226 
    1227         private void button69_Click(object sender, EventArgs e)
    1228         {
    1229             button69.BackColor = Color.Blue;
    1230             button70.BackColor = Color.Pink;
    1231             button71.BackColor = Color.Pink;
    1232             button72.BackColor = Color.Pink;
    1233             floor = 0;
    1234             
    1235         }
    1236         private void button70_Click(object sender, EventArgs e)
    1237         {
    1238 
    1239             button69.BackColor = Color.Pink;
    1240             button70.BackColor = Color.Blue;
    1241             button71.BackColor = Color.Pink;
    1242             button72.BackColor = Color.Pink;
    1243             floor = 1;
    1244             
    1245 
    1246         }
    1247        
    1248 
    1249         private void button71_Click(object sender, EventArgs e)
    1250         {
    1251             button69.BackColor = Color.Pink;
    1252             button70.BackColor = Color.Pink;
    1253             button71.BackColor = Color.Blue;
    1254             button72.BackColor = Color.Pink;
    1255             floor = 2;
    1256             
    1257         }
    1258 
    1259         private void button72_Click(object sender, EventArgs e)
    1260         {
    1261             button69.BackColor = Color.Pink;
    1262             button70.BackColor = Color.Pink;
    1263             button71.BackColor = Color.Pink;
    1264             button72.BackColor = Color.Blue;
    1265             floor = 3;
    1266             
    1267         }
    1268 
    1269         private void textBox1_TextChanged(object sender, EventArgs e)
    1270         {
    1271             peoplein[0] = double.Parse(textBox1.Text.ToString());
    1272 
    1273         }
    1274 
    1275         private void textBox2_TextChanged(object sender, EventArgs e)
    1276         {
    1277             peopleout[0] = double.Parse(textBox2.Text);
    1278         }
    1279 
    1280         private void textBox5_TextChanged(object sender, EventArgs e)
    1281         {
    1282             peoplein[1] = double.Parse(textBox5.Text);
    1283         }
    1284 
    1285         private void textBox9_TextChanged(object sender, EventArgs e)
    1286         {
    1287             peoplein[2] = double.Parse(textBox9.Text);
    1288         }
    1289 
    1290         private void textBox16_TextChanged(object sender, EventArgs e)
    1291         {
    1292             peoplein[3] = double.Parse(textBox16.Text);
    1293         }
    1294 
    1295         private void textBox6_TextChanged(object sender, EventArgs e)
    1296         {
    1297             peopleout[1] = double.Parse(textBox6.Text);
    1298         }
    1299 
    1300         private void textBox10_TextChanged(object sender, EventArgs e)
    1301         {
    1302             peopleout[2] = double.Parse(textBox10.Text);
    1303         }
    1304 
    1305         private void textBox15_TextChanged(object sender, EventArgs e)
    1306         {
    1307             peopleout[3] = double.Parse(textBox15.Text);
    1308         }
    1309 
    1310         private void textBox4_TextChanged(object sender, EventArgs e)
    1311         {
    1312             weightdel[0] = double.Parse(textBox4.Text);
    1313         }
    1314 
    1315         private void textBox8_TextChanged(object sender, EventArgs e)
    1316         {
    1317             weightdel[1] = double.Parse(textBox8.Text);
    1318         }
    1319 
    1320         private void textBox12_TextChanged(object sender, EventArgs e)
    1321         {
    1322             weightdel[2] = double.Parse(textBox12.Text);
    1323         }
    1324 
    1325         private void textBox13_TextChanged(object sender, EventArgs e)
    1326         {
    1327             weightdel[3] = double.Parse(textBox13.Text);
    1328         }
    1329 
    1330         private void button65_Click(object sender, EventArgs e)
    1331         {
    1332             peoplenow[0] = double.Parse(textBox17.Text)+peoplein[0]-peopleout[0];
    1333             textBox17.Text = peoplenow[0] + "";
    1334             weightnow[0] = double.Parse(textBox3.Text) + weightadd[0]-weightdel[0];
    1335             textBox3.Text = weightnow[0] + "";
    1336             if (peoplenow[0] >= 10 || weightnow[0] >= 800)
    1337             {
    1338                 peopleflag1[0] = 1;
    1339                 textBox3.Text = 800 + "";
    1340                 textBox17.Text = 10 + "";
    1341             }
    1342             else
    1343             {
    1344                 peopleflag1[0] = 0;
    1345                 
    1346 
    1347             }
    1348 
    1349             textBox1.Text = 0 + "";
    1350             textBox2.Text = 0+"";
    1351             textBox4.Text = 0+"";
    1352             textBox21.Text = 0 + "";
    1353 
    1354 
    1355 
    1356                
    1357            
    1358         }
    1359 
    1360         private void button66_Click(object sender, EventArgs e)
    1361         {
    1362             peoplenow[1] = double.Parse(textBox18.Text) + peoplein[1] - peopleout[1];
    1363             textBox18.Text = peoplenow[1] + "";
    1364             weightnow[1] = double.Parse(textBox7.Text) + weightadd[1]-weightdel[1];
    1365             textBox7.Text = weightnow[1] + "";
    1366             if (peoplenow[1] >= 10 || weightnow[1] >= 800)
    1367             {
    1368                 peopleflag1[1] = 1;
    1369                 textBox7.Text = 800 + "";
    1370                 textBox18.Text = 10 + "";
    1371             }
    1372             else
    1373             {
    1374                 peopleflag1[1] = 0;
    1375                 
    1376 
    1377             }
    1378             textBox5.Text = 0+"";
    1379             textBox6.Text = 0+"";
    1380             textBox8.Text = 0+"";
    1381             textBox22.Text = 0 + "";
    1382         }
    1383 
    1384         private void button67_Click(object sender, EventArgs e)
    1385         {
    1386             peoplenow[2] = double.Parse(textBox19.Text) + peoplein[2] - peopleout[2];
    1387             textBox19.Text = peoplenow[2] + "";
    1388             weightnow[2] = double.Parse(textBox11.Text) + weightadd[2]-weightdel[2];
    1389             textBox11.Text = weightnow[2] + "";
    1390             if (peoplenow[2] >= 20 || weightnow[2] >= 1600)
    1391             {
    1392                 peopleflag1[2] = 1;
    1393                 textBox11.Text = 1600 + "";
    1394                 textBox19.Text = 20 + "";
    1395             }
    1396             else
    1397             {
    1398                 peopleflag1[2] = 0;
    1399                 
    1400                     
    1401             }
    1402             textBox9.Text = 0+"";
    1403             textBox10.Text =0+ "";
    1404             textBox11.Text = 0+"";
    1405             textBox23.Text = 0 + "";
    1406             
    1407         }
    1408 
    1409         private void button68_Click(object sender, EventArgs e)
    1410         {
    1411             peoplenow[3] = double.Parse(textBox20.Text) + peoplein[3] - peopleout[3];
    1412             textBox20.Text = peoplenow[3] + "";
    1413             weightnow[3] = double.Parse(textBox14.Text) + weightadd[3]-weightdel[3];
    1414             textBox14.Text = weightnow[3] + "";
    1415             if (peoplenow[3] >= 20 || weightnow[3] >= 1600)
    1416             {
    1417                 peopleflag1[3] = 1;
    1418                 textBox14.Text = 1600 + "";
    1419                 textBox20.Text = 20 + "";
    1420             }
    1421             else
    1422             {
    1423                 peopleflag1[3] = 0;
    1424                
    1425 
    1426             }
    1427             textBox12.Text = 0+"";
    1428             textBox13.Text =0+ "";
    1429             textBox15.Text = 0+"";
    1430             textBox24.Text = 0 + "";
    1431         }
    1432 
    1433         private void textBox3_TextChanged(object sender, EventArgs e)
    1434         {
    1435 
    1436         }
    1437 
    1438        
    1439 
    1440         private void textBox21_TextChanged(object sender, EventArgs e)
    1441         {
    1442             weightadd[0] = double.Parse(textBox21.Text);
    1443         }
    1444 
    1445         private void textBox22_TextChanged(object sender, EventArgs e)
    1446         {
    1447             weightadd[0] = double.Parse(textBox22.Text);
    1448         }
    1449 
    1450         private void textBox23_TextChanged(object sender, EventArgs e)
    1451         {
    1452             weightadd[0] = double.Parse(textBox23.Text);
    1453         }
    1454 
    1455         private void textBox24_TextChanged(object sender, EventArgs e)
    1456         {
    1457             weightadd[0] = double.Parse(textBox24.Text);
    1458         }
    1459 
    1460         
    1461 
    1462         
    1463 
    1464 
    1465 
    1466  
    1467 
    1468         
    1469 
    1470         
    1471         
    1472 
    1473       
    1474 
    1475       
    1476 
    1477 
    1478     }
    1479 }
    lift

    选择上11楼运行中界面

    1 2 同时运行

    时间安排(工作日志

  • 相关阅读:
    global s power in php...
    null is empty
    如何创建spring web 工程
    如何下载spring sts
    使用apache-commons-lang3架构对HTML内容进行编码和反编码
    SQL 查询建表SQL
    kindeditor 在JSP 中上传文件的配置
    在java web工程中jsp页面中使用kindeditor
    实现<base>标签中有绝对路径
    实现多个JSP页面共用一个菜单
  • 原文地址:https://www.cnblogs.com/ls110220/p/3615149.html
Copyright © 2011-2022 走看看