题目:电梯调度
成员:李小超,马国彬
需求分析:
1,电梯一共有4部电梯(分为1,2,3,4),电梯共有21层,包含地下车库(0,1,2。。。20),
2,乘客体重最轻为45公斤,最重为120公斤,平均为70公斤,
3,电梯1,2的承载能力为:10人,800kg;电梯3的承载能力为:20人,1600kg;电梯4的承载能力为:20人,2000kg,
4,乘客大多数都会在一楼和地下车库,所以电梯空闲状态时应该停留在第0层,
5,上下班高峰期,注意电梯调度。
6,电梯的开门时间均衡,电梯具有开门关门的按钮
7,电梯应该具有应急处理的措施
8,我们调研春晖楼电梯,从1楼到10,大概23秒。
9,画面良好具有与用户良好的沟通能力。
方案设计:
1,我们选择的语言为:c#,编译环境为:Visual Studio 2010
2,我们form窗体设计,建立一个大的form里面在嵌入一些控件
3,在form分层为电梯的内部和外部两层(groupbox),电梯内部建立23个按钮,其中2个开关电梯的按钮,21个楼层的按钮,电梯外部建立上下两个按钮,其中外部层用tab页分层21个
4,设立电梯的时间,方便乘客观看,
5,我们模拟电梯的运行,当电梯在一层的时候我们可以通过改变按钮的颜色,移动按钮的颜色,从而达到电梯的模拟运行,
6,我们可以显示电梯的状态,电梯在那一层数,方便乘客的乘坐,
7,我们在模拟电梯的时候先预先知道乘客的数量,体重,如果超载我们会显示超载的提示!
8,我们模拟电梯时候还要想着乘客到哪一层下去,或者上来的人数,体重等都要记录和输入。
9,我们采用队列的形式,乘客都去上的话,我们按照楼层低的下电梯;乘客都去下的话我们按照路过那个楼层下去电梯,
10,我们设计一个帮助的选项方便用户的操作,
项目进度:
时间 | 进度 | 领航者 |
3月7日晚上8点到8点半 | 对题目进行探讨,分析每一点要求 | 共同 |
3月8日晚上7点到8点 | 进行了详细的需求分析 | 共同 |
3月10日中午12点半 | 去春晖楼进行实地调研 | 共同 |
3月12日晚上7点到9点 | 开始初步代码的编写 | 马国彬 |
3月13日晚上7点到9点 | 完成界面的初步设置以及一些基本代码个功能的实现 | 李小超 |
3月14日晚上8点到10点 | 开始对电梯的控制代码进行编写 | 马国彬 |
3月15日晚上7点到10点 | 基本完成电梯的控制 | 李小超 |
3月16日晚上7点到8点 | 完善界面,以及调度功能 | 李小超 |
3娿17日晚上7点到9点 | 对程序进行检验,以及查漏 | 马国彬 |
项目分工:
需求分析 | 李小超,马国彬 |
思路设计 | 李小超,马国彬 |
实地调研 | 李小超 |
界面编写 | 李小超 |
审查界面 | 马国彬 |
编写控制代码 | 马国彬 |
审查控制代码 | 李小超 |
完善整体代码 | 马国彬 |
整体代码以及布局的审查 | 李小超 |
整体规划:
首先,我们要设置一个可视化的电梯,即能够实现人机交互,比如,电梯现在在2楼,2楼的标志就是亮的,按一下7楼,7楼就亮了,然后从2楼道7楼依次变量,然后变暗。就像真实的电梯一样。
然后就是要实现电梯的控制,我们通过加入button按钮,通过它的click事件,来响应鼠标的点击。当同时有向上和向下的按钮同时按下,则应该保持原来的方向继续行进,直到最高的被按下的按钮处再往相反方向行进。当电梯所在楼层的上下层都有按钮被按下,也是继续执行当前的方向。
设置电梯的承重量,设置每个人的体重为45kg,每上一个人,就加45kg,当超过总重量超过称重量时,电梯应发出警报,提示超重。
为了实现电梯的模拟,应加入timer控件,来实现对时间的控制。
设置电梯外和电梯内两个界面,都能够实现对电梯的控制,电梯外只有上下按钮以及所在楼层的选择,电梯内是所有楼层的按钮,如果在电梯内,想去哪层楼,就按那层,而如果在电梯外,需要先选择当前所在楼层数,然后再选择上下。
当电梯闲置时,赢让电梯置于一楼,因为大多数人都出入一层和负一层。这样能够更快的让人们坐上电梯,避免高峰时段效率低下。
显示楼层的标志用button来显示。
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.IO; using System.Threading; namespace 电梯调度 { public partial class Form1 : Form { public Form1() { InitializeComponent(); timerjinru.Start(); timer1.Start(); timer1lou.Start(); timer2lou.Start(); timershuxing.Start(); timerdongtaishuchu.Start();//dongtai huan yin timerkongxian.Start(); timerzidong1.Start(); timerzidong2.Start(); timerhelp.Start(); } //开门 private void timer1kaimen_Tick(object sender, EventArgs e) { timer1guanmen.Stop(); if (labelzuo1.Size.Width >= 5) { labelzuo1.Size = new Size(shuju.zuowith, 84); shuju.zuowith--; } if (labelyou1.Size.Width >= 5) { labelyou1.Size = new Size(shuju.youwith, 84); shuju.youwith--; } if (shuju.youweizhi <= 96) labelyou1.Location = new Point(shuju.youweizhi++, 8); if (labelzuo1.Size.Width == 5) { //显示隐藏按钮 if (shuju.louceng1 == 20) { button1lou0.Enabled = true; button1lou1.Enabled = true; button1lou2.Enabled = true; button1lou3.Enabled = true; button1lou4.Enabled = true; button1lou5.Enabled = true; button1lou6.Enabled = true; button1lou7.Enabled = true; button1lou8.Enabled = true; button1lou9.Enabled = true; button1lou10.Enabled = true; button1lou11.Enabled = true; button1lou12.Enabled = true; button1lou13.Enabled = true; button1lou14.Enabled = true; button1lou15.Enabled = true; button1lou16.Enabled = true; button1lou17.Enabled = true; button1lou18.Enabled = true; button1lou19.Enabled = true; button1lou20.Enabled = false; button1loukai.Enabled = true; button1louguan.Enabled = true;// B de } if (shuju.louceng1 == 1) { button1lou0.Enabled = true; button1lou1.Enabled = false; button1lou2.Enabled = false; button1lou3.Enabled = false; button1lou4.Enabled = false; button1lou5.Enabled = false; button1lou6.Enabled = false; button1lou7.Enabled = false; button1lou8.Enabled = false; button1lou9.Enabled = false; button1lou10.Enabled = false; button1lou11.Enabled = false; button1lou12.Enabled = false; button1lou13.Enabled = false; button1lou14.Enabled = false; button1lou15.Enabled = false; button1lou16.Enabled = false; button1lou17.Enabled = false; button1lou18.Enabled = false; button1lou19.Enabled = false; button1lou20.Enabled = false; button1loukai.Enabled = true; button1louguan.Enabled = true;// B de } if (shuju.louceng1 == 19) { button1lou0.Enabled = true; button1lou1.Enabled = true; button1lou2.Enabled = true; button1lou3.Enabled = true; button1lou4.Enabled = true; button1lou5.Enabled = true; button1lou6.Enabled = true; button1lou7.Enabled = true; button1lou8.Enabled = true; button1lou9.Enabled = true; button1lou10.Enabled = true; button1lou11.Enabled = true; button1lou12.Enabled = true; button1lou13.Enabled = true; button1lou14.Enabled = true; button1lou15.Enabled = true; button1lou16.Enabled = true; button1lou17.Enabled = true; button1lou18.Enabled = true; button1lou19.Enabled = false; button1lou20.Enabled = false; button1loukai.Enabled = true; button1louguan.Enabled = true;// B de } if (shuju.louceng1 == 18) { button1lou0.Enabled = true; button1lou1.Enabled = true; button1lou2.Enabled = true; button1lou3.Enabled = true; button1lou4.Enabled = true; button1lou5.Enabled = true; button1lou6.Enabled = true; button1lou7.Enabled = true; button1lou8.Enabled = true; button1lou9.Enabled = true; button1lou10.Enabled = true; button1lou11.Enabled = true; button1lou12.Enabled = true; button1lou13.Enabled = true; button1lou14.Enabled = true; button1lou15.Enabled = true; button1lou16.Enabled = true; button1lou17.Enabled = true; button1lou18.Enabled = false; button1lou19.Enabled = false; button1lou20.Enabled = false; button1loukai.Enabled = true; button1louguan.Enabled = true;// B de } if (shuju.louceng1 == 17) { button1lou0.Enabled = true; button1lou1.Enabled = true; button1lou2.Enabled = true; button1lou3.Enabled = true; button1lou4.Enabled = true; button1lou5.Enabled = true; button1lou6.Enabled = true; button1lou7.Enabled = true; button1lou8.Enabled = true; button1lou9.Enabled = true; button1lou10.Enabled = true; button1lou11.Enabled = true; button1lou12.Enabled = true; button1lou13.Enabled = true; button1lou14.Enabled = true; button1lou15.Enabled = true; button1lou16.Enabled = true; button1lou17.Enabled = false; button1lou18.Enabled = false; button1lou19.Enabled = false; button1lou20.Enabled = false; button1loukai.Enabled = true; button1louguan.Enabled = true;// B de } if (shuju.louceng1 == 16) { button1lou0.Enabled = true; button1lou1.Enabled = true; button1lou2.Enabled = true; button1lou3.Enabled = true; button1lou4.Enabled = true; button1lou5.Enabled = true; button1lou6.Enabled = true; button1lou7.Enabled = true; button1lou8.Enabled = true; button1lou9.Enabled = true; button1lou10.Enabled = true; button1lou11.Enabled = true; button1lou12.Enabled = true; button1lou13.Enabled = true; button1lou14.Enabled = true; button1lou15.Enabled = true; button1lou16.Enabled =false; button1lou17.Enabled = false; button1lou18.Enabled = false; button1lou19.Enabled = false; button1lou20.Enabled = false; button1loukai.Enabled = true; button1louguan.Enabled = true;// B de } if (shuju.louceng1 == 15) { button1lou0.Enabled = true; button1lou1.Enabled = true; button1lou2.Enabled = true; button1lou3.Enabled = true; button1lou4.Enabled = true; button1lou5.Enabled = true; button1lou6.Enabled = true; button1lou7.Enabled = true; button1lou8.Enabled = true; button1lou9.Enabled = true; button1lou10.Enabled = true; button1lou11.Enabled = true; button1lou12.Enabled = true; button1lou13.Enabled = true; button1lou14.Enabled = true; button1lou15.Enabled = false; button1lou16.Enabled = false; button1lou17.Enabled = false; button1lou18.Enabled = false; button1lou19.Enabled = false; button1lou20.Enabled = false; button1loukai.Enabled = true; button1louguan.Enabled = true;// B de } if (shuju.louceng1== 14) { button1lou0.Enabled = true; button1lou1.Enabled = true; button1lou2.Enabled = true; button1lou3.Enabled = true; button1lou4.Enabled = true; button1lou5.Enabled = true; button1lou6.Enabled = true; button1lou7.Enabled = true; button1lou8.Enabled = true; button1lou9.Enabled = true; button1lou10.Enabled = true; button1lou11.Enabled = true; button1lou12.Enabled = true; button1lou13.Enabled = true; button1lou14.Enabled = false; button1lou15.Enabled = false; button1lou16.Enabled = false; button1lou17.Enabled = false; button1lou18.Enabled = false; button1lou19.Enabled = false; button1lou20.Enabled = false; button1loukai.Enabled = true; button1louguan.Enabled = true;// B de } if (shuju.louceng1== 13) { button1lou0.Enabled = true; button1lou1.Enabled = true; button1lou2.Enabled = true; button1lou3.Enabled = true; button1lou4.Enabled = true; button1lou5.Enabled = true; button1lou6.Enabled = true; button1lou7.Enabled = true; button1lou8.Enabled = true; button1lou9.Enabled = true; button1lou10.Enabled = true; button1lou11.Enabled = true; button1lou12.Enabled = true; button1lou13.Enabled = false; button1lou14.Enabled = false; button1lou15.Enabled = false; button1lou16.Enabled = false; button1lou17.Enabled = false; button1lou18.Enabled = false; button1lou19.Enabled = false; button1lou20.Enabled = false; button1loukai.Enabled = true; button1louguan.Enabled = true;// B de } if (shuju.louceng1 ==12) { button1lou0.Enabled = true; button1lou1.Enabled = true; button1lou2.Enabled = true; button1lou3.Enabled = true; button1lou4.Enabled = true; button1lou5.Enabled = true; button1lou6.Enabled = true; button1lou7.Enabled = true; button1lou8.Enabled = true; button1lou9.Enabled = true; button1lou10.Enabled = true; button1lou11.Enabled = true; button1lou12.Enabled = false; button1lou13.Enabled = false; button1lou14.Enabled = false; button1lou15.Enabled = false; button1lou16.Enabled = false; button1lou17.Enabled = false; button1lou18.Enabled = false; button1lou19.Enabled = false; button1lou20.Enabled = false; button1loukai.Enabled = true; button1louguan.Enabled = true;// B de } if (shuju.louceng1 == 11) { button1lou0.Enabled = true; button1lou1.Enabled = true; button1lou2.Enabled = true; button1lou3.Enabled = true; button1lou4.Enabled = true; button1lou5.Enabled = true; button1lou6.Enabled = true; button1lou7.Enabled = true; button1lou8.Enabled = true; button1lou9.Enabled = true; button1lou10.Enabled = true; button1lou11.Enabled = false; button1lou12.Enabled = false; button1lou13.Enabled = false; button1lou14.Enabled = false; button1lou15.Enabled = false; button1lou16.Enabled = false; button1lou17.Enabled = false; button1lou18.Enabled = false; button1lou19.Enabled = false; button1lou20.Enabled = false; button1loukai.Enabled = true; button1louguan.Enabled = true;// B de } if (shuju.louceng1 == 10) { button1lou0.Enabled = true; button1lou1.Enabled = true; button1lou2.Enabled = true; button1lou3.Enabled = true; button1lou4.Enabled = true; button1lou5.Enabled = true; button1lou6.Enabled = true; button1lou7.Enabled = true; button1lou8.Enabled = true; button1lou9.Enabled = true; button1lou10.Enabled = false; button1lou11.Enabled = false; button1lou12.Enabled = false; button1lou13.Enabled = false; button1lou14.Enabled = false; button1lou15.Enabled = false; button1lou16.Enabled = false; button1lou17.Enabled = false; button1lou18.Enabled = false; button1lou19.Enabled = false; button1lou20.Enabled = false; button1loukai.Enabled = true; button1louguan.Enabled = true;// B de } if (shuju.louceng1 == 9) { button1lou0.Enabled = true; button1lou1.Enabled = true; button1lou2.Enabled = true; button1lou3.Enabled = true; button1lou4.Enabled = true; button1lou5.Enabled = true; button1lou6.Enabled = true; button1lou7.Enabled = true; button1lou8.Enabled = true; button1lou9.Enabled = false; button1lou10.Enabled = false; button1lou11.Enabled = false; button1lou12.Enabled = false; button1lou13.Enabled = false; button1lou14.Enabled = false; button1lou15.Enabled = false; button1lou16.Enabled = false; button1lou17.Enabled = false; button1lou18.Enabled = false; button1lou19.Enabled = false; button1lou20.Enabled = false; button1loukai.Enabled = true; button1louguan.Enabled = true;// B de } if (shuju.louceng1 == 8) { button1lou0.Enabled = true; button1lou1.Enabled = true; button1lou2.Enabled = true; button1lou3.Enabled = true; button1lou4.Enabled = true; button1lou5.Enabled = true; button1lou6.Enabled = true; button1lou7.Enabled = true; button1lou8.Enabled = false; button1lou9.Enabled = false; button1lou10.Enabled = false; button1lou11.Enabled = false; button1lou12.Enabled = false; button1lou13.Enabled = false; button1lou14.Enabled = false; button1lou15.Enabled = false; button1lou16.Enabled = false; button1lou17.Enabled = false; button1lou18.Enabled = false; button1lou19.Enabled = false; button1lou20.Enabled = false; button1loukai.Enabled = true; button1louguan.Enabled = true;// B de } if (shuju.louceng1 == 7) { button1lou0.Enabled = true; button1lou1.Enabled = true; button1lou2.Enabled = true; button1lou3.Enabled = true; button1lou4.Enabled = true; button1lou5.Enabled = true; button1lou6.Enabled = true; button1lou7.Enabled = false; button1lou8.Enabled = false; button1lou9.Enabled = false; button1lou10.Enabled = false; button1lou11.Enabled = false; button1lou12.Enabled = false; button1lou13.Enabled = false; button1lou14.Enabled = false; button1lou15.Enabled = false; button1lou16.Enabled = false; button1lou17.Enabled = false; button1lou18.Enabled = false; button1lou19.Enabled = false; button1lou20.Enabled = false; button1loukai.Enabled = true; button1louguan.Enabled = true;// B de } if (shuju.louceng1 == 6) { button1lou0.Enabled = true; button1lou1.Enabled = true; button1lou2.Enabled = true; button1lou3.Enabled = true; button1lou4.Enabled = true; button1lou5.Enabled = true; button1lou6.Enabled = false; button1lou7.Enabled = false; button1lou8.Enabled = false; button1lou9.Enabled = false; button1lou10.Enabled = false; button1lou11.Enabled = false; button1lou12.Enabled = false; button1lou13.Enabled = false; button1lou14.Enabled = false; button1lou15.Enabled = false; button1lou16.Enabled = false; button1lou17.Enabled = false; button1lou18.Enabled = false; button1lou19.Enabled = false; button1lou20.Enabled = false; button1loukai.Enabled = true; button1louguan.Enabled = true;// B de } if (shuju.louceng1 == 5) { button1lou0.Enabled = true; button1lou1.Enabled = true; button1lou2.Enabled = true; button1lou3.Enabled = true; button1lou4.Enabled = true; button1lou5.Enabled = false; button1lou6.Enabled = false; button1lou7.Enabled = false; button1lou8.Enabled = false; button1lou9.Enabled = false; button1lou10.Enabled = false; button1lou11.Enabled = false; button1lou12.Enabled = false; button1lou13.Enabled = false; button1lou14.Enabled = false; button1lou15.Enabled = false; button1lou16.Enabled = false; button1lou17.Enabled = false; button1lou18.Enabled = false; button1lou19.Enabled = false; button1lou20.Enabled = false; button1loukai.Enabled = true; button1louguan.Enabled = true;// B de } if (shuju.louceng1 == 4) { button1lou0.Enabled = true; button1lou1.Enabled = true; button1lou2.Enabled = true; button1lou3.Enabled = true; button1lou4.Enabled = false; button1lou5.Enabled = false; button1lou6.Enabled = false; button1lou7.Enabled = false; button1lou8.Enabled = false; button1lou9.Enabled = false; button1lou10.Enabled = false; button1lou11.Enabled = false; button1lou12.Enabled = false; button1lou13.Enabled = false; button1lou14.Enabled = false; button1lou15.Enabled = false; button1lou16.Enabled = false; button1lou17.Enabled = false; button1lou18.Enabled = false; button1lou19.Enabled = false; button1lou20.Enabled = false; button1loukai.Enabled = true; button1louguan.Enabled = true;// B de } if (shuju.louceng1 == 3) { button1lou0.Enabled = true; button1lou1.Enabled = true; button1lou2.Enabled = true; button1lou3.Enabled = false; button1lou4.Enabled = false; button1lou5.Enabled = false; button1lou6.Enabled = false; button1lou7.Enabled = false; button1lou8.Enabled = false; button1lou9.Enabled = false; button1lou10.Enabled = false; button1lou11.Enabled = false; button1lou12.Enabled = false; button1lou13.Enabled = false; button1lou14.Enabled = false; button1lou15.Enabled = false; button1lou16.Enabled = false; button1lou17.Enabled = false; button1lou18.Enabled = false; button1lou19.Enabled = false; button1lou20.Enabled = false; button1loukai.Enabled = true; button1louguan.Enabled = true;// B de } if (shuju.louceng1 == 2) { button1lou0.Enabled = true; button1lou1.Enabled = true; button1lou2.Enabled = false; button1lou3.Enabled = false; button1lou4.Enabled = false; button1lou5.Enabled = false; button1lou6.Enabled = false; button1lou7.Enabled = false; button1lou8.Enabled = false; button1lou9.Enabled = false; button1lou10.Enabled = false; button1lou11.Enabled = false; button1lou12.Enabled = false; button1lou13.Enabled = false; button1lou14.Enabled = false; button1lou15.Enabled = false; button1lou16.Enabled = false; button1lou17.Enabled = false; button1lou18.Enabled = false; button1lou19.Enabled = false; button1lou20.Enabled = false; button1loukai.Enabled = true; button1louguan.Enabled = true;// B de } if (shuju.louceng1 == 1) { button1lou0.Enabled = true; button1lou1.Enabled = false; button1lou2.Enabled = false; button1lou3.Enabled = false; button1lou4.Enabled = false; button1lou5.Enabled = false; button1lou6.Enabled = false; button1lou7.Enabled = false; button1lou8.Enabled = false; button1lou9.Enabled = false; button1lou10.Enabled = false; button1lou11.Enabled = false; button1lou12.Enabled = false; button1lou13.Enabled = false; button1lou14.Enabled = false; button1lou15.Enabled = false; button1lou16.Enabled = false; button1lou17.Enabled = false; button1lou18.Enabled = false; button1lou19.Enabled = false; button1lou20.Enabled = false; button1loukai.Enabled = true; button1louguan.Enabled = true;// B de } if (shuju.louceng1 == 0) { button1loukai.Enabled = true; button1louguan.Enabled = true;// B de } timer1kaimen.Stop(); //自动关门,紧急时打开门 不会关闭 /* if (buttonjinji1.Enabled == true) timerzidong1.Start();*/ } } private void timer1guanmen_Tick(object sender, EventArgs e) { timer1kaimen.Stop(); if (labelzuo1.Size.Width <= 48) { labelzuo1.Size = new Size(shuju.zuowith, 99); shuju.zuowith++; } if (labelyou1.Size.Width <= 48) { labelyou1.Size = new Size(shuju.youwith, 99); shuju.youwith++; } if (shuju.youweizhi >= 48) labelyou1.Location = new Point(shuju.youweizhi--, -6); if (shuju.youweizhi <= 48) timer1guanmen.Stop(); if (labelzuo1.Size.Width == 48) { timer1guanmen.Stop(); button1lou0.Enabled = false; button1lou1.Enabled = false; button1lou2.Enabled = false; button1lou4.Enabled = false; button1lou5.Enabled = false; button1lou6.Enabled = false; button1lou7.Enabled = false; button1lou8.Enabled = false; button1lou9.Enabled = false; button1lou10.Enabled = false; button1lou11.Enabled = false; button1lou12.Enabled = false; button1lou13.Enabled = false; button1lou14.Enabled = false; button1lou15.Enabled = false; button1lou16.Enabled = false; button1lou17.Enabled = false; button1lou18.Enabled = false; button1lou19.Enabled = false; button1lou20.Enabled = false; button1loukai.Enabled = false; button1louguan.Enabled = false; timer1lou.Start(); } } private void timer1_Tick(object sender, EventArgs e) { toolStripStatusLabel1.Text = "当前时间:" + DateTime.Now.ToString(); } private void button1lou0_Click(object sender, EventArgs e) { shuju.zhuantai[0] = 2; } private void button1lou1_Click(object sender, EventArgs e) { shuju.zhuantai[1] = 2; } private void button1lou3_Click(object sender, EventArgs e) { shuju.zhuantai[3] = 2; } private void button1lou2_Click(object sender, EventArgs e) { shuju.zhuantai[2] = 2; } private void button1lou4_Click(object sender, EventArgs e) { shuju.zhuantai[4] = 2; } private void button1lou5_Click(object sender, EventArgs e) { shuju.zhuantai[5] = 2; } private void button1lou6_Click(object sender, EventArgs e) { shuju.zhuantai[6] = 2; } private void button1lou7_Click(object sender, EventArgs e) { shuju.zhuantai[7] = 2; } private void button1lou8_Click(object sender, EventArgs e) { shuju.zhuantai[8] = 2; } private void button1lou9_Click(object sender, EventArgs e) { shuju.zhuantai[9] = 2; } private void button1lou10_Click(object sender, EventArgs e) { shuju.zhuantai[10] = 2; } private void button1lou11_Click(object sender, EventArgs e) { shuju.zhuantai[11] = 2; } private void button1lou12_Click(object sender, EventArgs e) { shuju.zhuantai[12] = 2; } private void button1lou13_Click(object sender, EventArgs e) { shuju.zhuantai[13] = 2; } private void button1lou14_Click(object sender, EventArgs e) { shuju.zhuantai[14] = 2; } private void button1lou15_Click(object sender, EventArgs e) { shuju.zhuantai[15] = 2; } private void button1lou16_Click(object sender, EventArgs e) { shuju.zhuantai[16] = 2; } private void button1lou17_Click(object sender, EventArgs e) { shuju.zhuantai[17] = 2; } private void button1lou18_Click(object sender, EventArgs e) { shuju.zhuantai[18] = 2; } private void button1lou19_Click(object sender, EventArgs e) { shuju.zhuantai[19] = 2; } private void button1lou20_Click(object sender, EventArgs e) { shuju.zhuantai[20] = 2; } //1楼颜色变化 private void timer1lou_Tick(object sender, EventArgs e) { if (shuju.louceng1 == 0 && shuju.xuqiuxia == 1) shuju.shangxia1 = 1; if (shuju.louceng1 == 19) shuju.shangxia1 = 0; if (shuju.shangxia1 == 1) shuju.louceng1++; if (shuju.shangxia1 == 0) shuju.louceng1--; //弥补越界 // if (shuju.zhuantai[0] == 1) // shuju.louceng1--; if (shuju.louceng1 == -1) shuju.louceng1 = 0; if (shuju.louceng1 == 20) shuju.louceng1 = 19; button1lou00.BackColor = Color.Cyan; button1lou01.BackColor = Color.Cyan; button1lou02.BackColor = Color.Cyan; button1lou03.BackColor = Color.Cyan; button1lou04.BackColor = Color.Cyan; button1lou05.BackColor = Color.Cyan; button1lou06.BackColor = Color.Cyan; button1lou06.BackColor = Color.Cyan; button1lou07.BackColor = Color.Cyan; button1lou08.BackColor = Color.Cyan; button1lou09.BackColor = Color.Cyan; button1lou010.BackColor = Color.Cyan; button1lou011.BackColor = Color.Cyan; button1lou012.BackColor = Color.Cyan; button1lou013.BackColor = Color.Cyan; button1lou014.BackColor = Color.Cyan; button1lou015.BackColor = Color.Cyan; button1lou016.BackColor = Color.Cyan; button1lou017.BackColor = Color.Cyan; button1lou018.BackColor = Color.Cyan; button1lou019.BackColor = Color.Cyan; button1lou020.BackColor = Color.Cyan; if (shuju.louceng1 == 0) { button1lou00.BackColor = Color.Red; // if(shuju.zhuantaixia[0]==1) timer1kaimen.Start(); if (shuju.zhuantaixia[0] == 2) { timer1kaimen.Start(); shuju.shangxia1 = 0; } } if (shuju.louceng1 == 1) { button1lou01.BackColor = Color.Red; // if (shuju.zhuantaixia[1] == 1) timer1kaimen.Start(); if (shuju.zhuantaixia[1] == 2) { timer1kaimen.Start(); shuju.shangxia1 = 0; } } if (shuju.louceng1 == 2) { button1lou02.BackColor = Color.Red; // if (shuju.zhuantaixia[2] == 1) timer1kaimen.Start(); if (shuju.zhuantaixia[2] == 2) { timer1kaimen.Start(); shuju.shangxia1 = 0; } } if (shuju.louceng1 == 3) { button1lou03.BackColor = Color.Red; // if (shuju.zhuantaixia[3] == 1)timer1kaimen.Start(); if (shuju.zhuantaixia[3] == 2) { timer1kaimen.Start(); shuju.shangxia1 = 0; } } if (shuju.louceng1 == 4) { button1lou04.BackColor = Color.Red; //if (shuju.zhuantaixia[4] == 1) timer1kaimen.Start(); if (shuju.zhuantaixia[4] == 2) { timer1kaimen.Start(); shuju.shangxia1 = 0; } } if (shuju.louceng1 == 5) { button1lou05.BackColor = Color.Red; //if (shuju.zhuantaixia[5] == 1) timer1kaimen.Start(); if (shuju.zhuantaixia[5] == 2) { timer1kaimen.Start(); shuju.shangxia1 = 0; } } if (shuju.louceng1 == 6) { button1lou06.BackColor = Color.Red; //if (shuju.zhuantaixia[6] == 1) timer1kaimen.Start(); if (shuju.zhuantaixia[6] == 2) { timer1kaimen.Start(); shuju.shangxia1 = 0; } } if (shuju.louceng1 == 7) { button1lou07.BackColor = Color.Red; // if (shuju.zhuantaixia[7] == 1) timer1kaimen.Start(); if (shuju.zhuantaixia[7] == 2) { timer1kaimen.Start(); shuju.shangxia1 = 0; } } if (shuju.louceng1 == 8) { button1lou08.BackColor = Color.Red; //if (shuju.zhuantaixia[8] == 1) timer1kaimen.Start(); if (shuju.zhuantaixia[8] == 2) { timer1kaimen.Start(); shuju.shangxia1 = 0; } } if (shuju.louceng1 == 9) { button1lou09.BackColor = Color.Red; // if (shuju.zhuantaixia[9] == 1) timer1kaimen.Start(); if (shuju.zhuantaixia[9] == 2) { timer1kaimen.Start(); shuju.shangxia1 = 0; } } if (shuju.louceng1 == 10) { button1lou010.BackColor = Color.Red; // if (shuju.zhuantaixia[10] == 1) timer1kaimen.Start(); if (shuju.zhuantaixia[10] == 2) { timer1kaimen.Start(); shuju.shangxia1 = 0; } } if (shuju.louceng1 == 11) { button1lou011.BackColor = Color.Red; // if (shuju.zhuantaixia[11] == 1) timer1kaimen.Start(); if (shuju.zhuantaixia[11] == 2) { timer1kaimen.Start(); shuju.shangxia1 = 0; } } if (shuju.louceng1 == 12) { button1lou012.BackColor = Color.Red; // if (shuju.zhuantaixia[12] == 1) timer1kaimen.Start(); if (shuju.zhuantaixia[12] == 2) { timer1kaimen.Start(); shuju.shangxia1 = 0; } } if (shuju.louceng1 == 13) { button1lou013.BackColor = Color.Red; // if (shuju.zhuantaixia[13] == 1) timer1kaimen.Start(); if (shuju.zhuantaixia[13] == 2) { timer1kaimen.Start(); shuju.shangxia1 = 0; } } if (shuju.louceng1 == 14) { button1lou014.BackColor = Color.Red; // if (shuju.zhuantaixia[14] == 1) timer1kaimen.Start(); if (shuju.zhuantaixia[14] == 2) { timer1kaimen.Start(); shuju.shangxia1 = 0; } } if (shuju.louceng1 == 15) { button1lou015.BackColor = Color.Red; // if (shuju.zhuantaixia[15] == 1) timer1kaimen.Start(); if (shuju.zhuantaixia[15] == 2) { timer1kaimen.Start(); shuju.shangxia1 = 0; } } if (shuju.louceng1 == 16) { button1lou016.BackColor = Color.Red; // if (shuju.zhuantaixia[16] == 1) timer1kaimen.Start(); if (shuju.zhuantaixia[16] == 2) { timer1kaimen.Start(); shuju.shangxia1 = 0; } } if (shuju.louceng1 == 17) { button1lou017.BackColor = Color.Red; // if (shuju.zhuantaixia[17] == 1) timer1kaimen.Start(); if (shuju.zhuantaixia[17] == 2) { timer1kaimen.Start(); shuju.shangxia1 = 0; } } if (shuju.louceng1 == 18) { button1lou018.BackColor = Color.Red; // if (shuju.zhuantaixia[18] == 1) timer1kaimen.Start(); if (shuju.zhuantaixia[18] == 2) { timer1kaimen.Start(); shuju.shangxia1 = 0; } } if (shuju.louceng1 == 19) { button1lou9.BackColor = Color.Red; // if (shuju.zhuantaixia[19] == 1) timer1kaimen.Start(); if (shuju.zhuantaixia[19] == 2) { timer1kaimen.Start(); shuju.shangxia1 = 0; } } if (shuju.louceng1 == 20) { button1lou020.BackColor = Color.Red; // if (shuju.zhuantaixia[20] == 1) timer1kaimen.Start(); if (shuju.zhuantaixia[20] == 2) { timer1kaimen.Start(); shuju.shangxia1 = 0; } } if (shuju.Axiakongxian == 0) shuju.shangxia1 = 1; //暂停电梯 if (shuju.zhuantaixia[shuju.louceng1] == 2) { shuju.zhuantaixia[shuju.louceng1] = 0; timer1lou.Stop(); } // if (shuju.zhuantai[shuju.louceng1] == 1) // { // shuju.zhuantai[shuju.louceng1] = 0; // timer1lou.Stop(); // } } //2楼层颜色变化 private void timer2lou_Tick(object sender, EventArgs e) { /////////// if (shuju.louceng2 == 0 && shuju.xuqiu == 1) shuju.shangxia2 = 1; if (shuju.louceng2 == 20) shuju.shangxia2 = 0; if (shuju.shangxia2 == 1) shuju.louceng2++; if (shuju.shangxia2 == 0) shuju.louceng2--; // if(shuju.zhuantai[0]==1&&shuju.shangxiaB==1&&shuju.loucengB==0) // shuju.loucengB--; //弥补越界 if (shuju.zhuantai[0] == 1) shuju.louceng2--; if (shuju.louceng2 == -1) shuju.louceng2 = 0; if (shuju.louceng2 == 20) shuju.louceng2 = 19; //停到一层 // if (shuju.kongxian == 0 && shuju.loucengB == 1 && shuju.shangxiaB == 1) // shuju.loucengB = 0; button2lou01.BackColor = Color.Cyan; button2lou02.BackColor = Color.Cyan; button2lou03.BackColor = Color.Cyan; button2lou04.BackColor = Color.Cyan; button2lou05.BackColor = Color.Cyan; button2lou06.BackColor = Color.Cyan; button2lou07.BackColor = Color.Cyan; button2lou08.BackColor = Color.Cyan; button2lou09.BackColor = Color.Cyan; button2lou010.BackColor = Color.Cyan; button2lou011.BackColor = Color.Cyan; button2lou012.BackColor = Color.Cyan; button2lou013.BackColor = Color.Cyan; button2lou014.BackColor = Color.Cyan; button2lou015.BackColor = Color.Cyan; button2lou016.BackColor = Color.Cyan; button2lou017.BackColor = Color.Cyan; button2lou018.BackColor = Color.Cyan; button2lou019.BackColor = Color.Cyan; button2lou020.BackColor = Color.Cyan; if (shuju.louceng2 == 0) { button2lou01.BackColor = Color.Red; if (shuju.zhuantai[0] == 1) timer2kaimen.Start(); } if (shuju.louceng2 == 1) { button2lou01.BackColor = Color.Red; if (shuju.zhuantai[1] == 1) timer2kaimen.Start(); } if (shuju.louceng2 == 2) { button2lou03.BackColor = Color.Red; if (shuju.zhuantai[2] == 1) timer2kaimen.Start(); } if (shuju.louceng2 == 3) { button2lou03.BackColor = Color.Red; if (shuju.zhuantai[3] == 1) timer2kaimen.Start(); } if (shuju.louceng2 == 4) { button2lou05.BackColor = Color.Red; if (shuju.zhuantai[4] == 1) timer2kaimen.Start(); } if (shuju.louceng2 == 5) { button2lou05.BackColor = Color.Red; if (shuju.zhuantai[5] == 1) timer2kaimen.Start(); } if (shuju.louceng2 == 6) { button2lou06.BackColor = Color.Red; if (shuju.zhuantai[6] == 1) timer2kaimen.Start(); } if (shuju.louceng2 == 7) { button2lou07.BackColor = Color.Red; if (shuju.zhuantai[7] == 1) timer2kaimen.Start(); } if (shuju.louceng2 == 8) { button2lou09.BackColor = Color.Red; if (shuju.zhuantai[8] == 1) timer2kaimen.Start(); } if (shuju.louceng2 == 9) { button2lou09.BackColor = Color.Red; if (shuju.zhuantai[9] == 1) timer2kaimen.Start(); } if (shuju.louceng2 == 10) { button2lou010.BackColor = Color.Red; if (shuju.zhuantai[10] == 1) timer2kaimen.Start(); } if (shuju.louceng2 == 11) { button2lou011.BackColor = Color.Red; if (shuju.zhuantai[11] == 1) timer2kaimen.Start(); } if (shuju.louceng2 == 12) { button2lou012.BackColor = Color.Red; if (shuju.zhuantai[12] == 1) timer2kaimen.Start(); } if (shuju.louceng2 == 13) { button2lou013.BackColor = Color.Red; if (shuju.zhuantai[13] == 1) timer2kaimen.Start(); } if (shuju.louceng2 == 14) { button2lou014.BackColor = Color.Red; if (shuju.zhuantai[14] == 1) timer2kaimen.Start(); } if (shuju.louceng2 == 15) { button2lou015.BackColor = Color.Red; if (shuju.zhuantai[15] == 1) timer2kaimen.Start(); } if (shuju.louceng2 == 16) { button2lou016.BackColor = Color.Red; if (shuju.zhuantai[16] == 1) timer2kaimen.Start(); } if (shuju.louceng2 == 17) { button2lou017.BackColor = Color.Red; if (shuju.zhuantai[17] == 1) timer2kaimen.Start(); } if (shuju.louceng2 == 18) { button2lou018.BackColor = Color.Red; if (shuju.zhuantai[18] == 1) timer2kaimen.Start(); } if (shuju.louceng2 == 19) { button2lou019.BackColor = Color.Red; if (shuju.zhuantai[19] == 1) timer2kaimen.Start(); } if (shuju.louceng2 == 20) { button2lou020.BackColor = Color.Red; if (shuju.zhuantai[20] == 1) timer2kaimen.Start(); } //暂停电梯 if (shuju.zhuantai[shuju.louceng2] == 1) { shuju.zhuantai[shuju.louceng2] = 0; timer2lou.Stop(); } // timerqidong.Start(); } private void timerkongxian_Tick(object sender, EventArgs e) { //判断上边是否有需求,没需求电梯回初始位 shuju.xuqiu = 0; for (int i = shuju.louceng2; i < 20; i++) { if (shuju.zhuantai[i] == 1) shuju.xuqiu = 1; } shuju.xuqiuxia = 0; for (int i = 0; i < 20; i++) { if (shuju.zhuantaixia[i] == 2) shuju.xuqiuxia = 1; } shuju.Axiakongxian = 0; for (int i = 0; i < shuju.louceng1; i++) { if (shuju.zhuantaixia[i] == 2) shuju.Axiakongxian = 1; } shuju.kongxian = 0; for (int i = 0; i < 20; i++) { if (shuju.zhuantai[i] == 1) shuju.kongxian = 1; } if (shuju.xuqiu == 0) { shuju.shangxia2 = 0;//没需求向下走 } else { shuju.shangxia2 = 1;//需求向shang走 } if (shuju.xuqiuxia == 0) { shuju.shangxia1 = 0;//没需求向下走 } } //自动关门A private void timerzidong1_Tick(object sender, EventArgs e) { timer1guanmen.Start(); timerzidong1.Stop(); } //自动关门B private void timerzidong2_Tick(object sender, EventArgs e) { timer2guanmen.Start(); timerzidong2.Stop(); } private void timershuxing_Tick(object sender, EventArgs e) { //维护 若出现电梯门的异常修复 if (groupBoxxianshi.Enabled == false) { label1louzhuangtai.Text = "停止运行"; label2louzhuangtai.Text = "停止运行"; } else { label1louzhuangtai.Text = "正在运行"; label2louzhuangtai.Text = "正在运行"; } if (shuju.shangxia1 == 1 && shuju.xuqiuxia == 1) label1loushangxia.Text = "使用中 上"; if (shuju.shangxia1 == 0 && shuju.xuqiuxia == 1) label1loushangxia.Text = "使用中 下"; if (shuju.shangxia1 == 1 && shuju.xuqiuxia == 0 && shuju.louceng1 != 0) label1loushangxia.Text = "空闲中 下"; if (shuju.shangxia1 == 0 && shuju.xuqiuxia == 0 && shuju.louceng1 != 0) label1loushangxia.Text = "空闲中 下"; if (shuju.xuqiuxia == 0 && shuju.louceng1 == 0) { label1loushangxia.Text = "暂停在一楼 "; } if (shuju.shangxia2 == 1 && shuju.xuqiu == 1) label2loushangxia.Text = "使用中 上"; if (shuju.shangxia2 == 0 && shuju.xuqiu == 1) label2loushangxia.Text = "使用中 下"; if (shuju.shangxia2 == 1 && shuju.xuqiu == 0 && shuju.louceng2 != 0) label2loushangxia.Text = "空闲中 下"; if (shuju.shangxia2 == 0 && shuju.xuqiu == 0 && shuju.louceng2 != 0) label2loushangxia.Text = "空闲中 下"; if (shuju.xuqiu == 0 && shuju.louceng2 == 0) { label2loushangxia.Text = "暂停在一楼 "; } label1loulouceng.Text = (shuju.louceng1 + 1).ToString(); label2loulouceng.Text = (shuju.louceng2 + 1).ToString(); } private void timerhelp_Tick(object sender, EventArgs e) { timerhelp.Interval = 100; //labelhelp.Location = new Point(564, shuju.helplocal); if (shuju.helplocalif == 0) shuju.helplocal += 9; if (shuju.helplocalif == 1) shuju.helplocal -= 9; if (shuju.helplocal > 501) { shuju.helplocalif = 1; timerhelp.Interval = 3000; } if (shuju.helplocal < 470) { shuju.helplocalif = 0; timerhelp.Interval = 1000; } } private void button1loukai_Click(object sender, EventArgs e) { timer1guanmen.Stop(); timer1kaimen.Start(); } private void button1louguan_Click(object sender, EventArgs e) { timer1kaimen.Stop(); timer1guanmen.Start(); } private void button1louxia020_Click(object sender, EventArgs e) { shuju.zhuantaixia[20] = 2; } private void button1louxia019_Click(object sender, EventArgs e) { shuju.zhuantaixia[19] = 2; } private void button1louxia018_Click(object sender, EventArgs e) { shuju.zhuantaixia[18] = 2; } private void button1louxia0170_Click(object sender, EventArgs e) { shuju.zhuantaixia[17] = 2; } private void button1louxia016_Click(object sender, EventArgs e) { shuju.zhuantaixia[16] = 2; } private void button1louxia015_Click(object sender, EventArgs e) { shuju.zhuantaixia[15] = 2; } private void button1louxia014_Click(object sender, EventArgs e) { shuju.zhuantaixia[14] = 2; } private void button1louxia013_Click(object sender, EventArgs e) { shuju.zhuantaixia[13] = 2; } private void button1louxia012_Click(object sender, EventArgs e) { shuju.zhuantaixia[12] = 2; } private void button1louxia011_Click(object sender, EventArgs e) { shuju.zhuantaixia[11] = 2; } private void button1louxia010_Click(object sender, EventArgs e) { shuju.zhuantaixia[10] = 2; } private void button1louxia09_Click(object sender, EventArgs e) { shuju.zhuantaixia[9] = 2; } private void button1louxia08_Click(object sender, EventArgs e) { shuju.zhuantaixia[8] = 2; } private void button1louxia07_Click(object sender, EventArgs e) { shuju.zhuantaixia[7] = 2; } private void button1louxia06_Click(object sender, EventArgs e) { shuju.zhuantaixia[6] = 2; } private void button1louxia05_Click(object sender, EventArgs e) { shuju.zhuantaixia[5] = 2; } private void button1louxia04_Click(object sender, EventArgs e) { shuju.zhuantaixia[4] = 2; } private void button1louxia03_Click(object sender, EventArgs e) { shuju.zhuantaixia[3] = 2; } private void button1louxia02_Click(object sender, EventArgs e) { shuju.zhuantaixia[2] = 2; } private void button1louxia01_Click(object sender, EventArgs e) { shuju.zhuantaixia[1] = 2; } private void button1loushang019_Click(object sender, EventArgs e) { shuju.zhuantai[19] = 1; } private void button1loushang017_Click(object sender, EventArgs e) { shuju.zhuantai[17] = 1; } private void button1loushang016_Click(object sender, EventArgs e) { shuju.zhuantai[16] = 1; } private void button1loushang015_Click(object sender, EventArgs e) { shuju.zhuantai[15] = 1; } private void button1loushang014_Click(object sender, EventArgs e) { shuju.zhuantai[14] = 1; } private void button1loushang013_Click(object sender, EventArgs e) { shuju.zhuantai[13] = 1; } private void button1loushang012_Click(object sender, EventArgs e) { shuju.zhuantai[12] = 1; } private void button1loushang011_Click(object sender, EventArgs e) { shuju.zhuantai[11] = 1; } private void button1loushang010_Click(object sender, EventArgs e) { shuju.zhuantai[10] = 1; } private void button1loushang09_Click(object sender, EventArgs e) { shuju.zhuantai[9] = 1; } private void button1loushang08_Click(object sender, EventArgs e) { shuju.zhuantai[8] = 1; } private void button1loushang07_Click(object sender, EventArgs e) { shuju.zhuantai[7] = 1; } private void button1loushang06_Click(object sender, EventArgs e) { shuju.zhuantai[6] = 1; } private void button1loushang05_Click(object sender, EventArgs e) { shuju.zhuantai[5] = 1; } private void button1loushang04_Click(object sender, EventArgs e) { shuju.zhuantai[4] = 1; } private void button1loushang03_Click(object sender, EventArgs e) { shuju.zhuantai[3] = 1; } private void button1loushang02_Click(object sender, EventArgs e) { shuju.zhuantai[2] = 1; } private void button1loushang01_Click(object sender, EventArgs e) { shuju.zhuantai[1] = 1; } private void button1loushang00_Click(object sender, EventArgs e) { shuju.zhuantai[0] = 1; } private void buttontijiao_Click_1(object sender, EventArgs e) { timer1lou.Start(); timer2lou.Start(); timershuxing.Start(); timerdongtaishuchu.Start();//dongtai huan yin //timerhuanyinsecai.Start(); timerzidong2.Start(); timerkongxian.Start(); // buttonkongzhi.Enabled = false; } private void button1lou9_Click_1(object sender, EventArgs e) { } } class shuju { //电梯门控制的位置 public static int zuowith = 77; public static int youwith = 77; public static int youweizhi = 50;//? //b电梯 public static int bzuowith = 77; public static int byouwith = 77; public static int byouweizhi = 50;//? //判断楼门的开始 public static int[] zhuantai = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; public static int[] zhuantaixia = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; public static int[] lou1 = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ,0}; public static int[] lou2 = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; public static int[] lou3 = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; public static int[] lou4 = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; public static int louceng1= 0;//层数 public static int shangxia1 = 0; public static int louceng2 = 0; public static int shangxia2 = 0; public static int louceng3 = 0; public static int shangxia3 = 0; public static int louceng4 = 0; public static int shangxia4 = 0; public static int xuqiu = 0;//shang qu public static int xuqiuxia = 0;//xia qu public static int Axiakongxian = 0;//Ade 下边是否还有需求,有则向下,无则看上边,上有需求则上走 public static int kongxian = 0;//电梯的空闲 public static int helplocal = 466; public static int helplocalif = 0; } }
界面展示: