成员:真真 小兰
3月10日,7:00~9:30 界面设计
第一天设计出了界面,虽然没有什么技术含量,但,毕竟是个好的开始!!!期待明天的工作。
3月11日 19:00-21:00
经过讨论,又重新设计一下界面,把电梯上下楼标志由radioButton改为了一个按钮,由按钮来运动。并且把类和主要的函数构思了一下,初步结果如下(看起来很简单,其实。。。恩):
乘客类;
{
体重;
乘客当前楼层;
所要到达楼层;
选择楼层;
控制电梯门开关;
按钮选择上下楼;
}
电梯类
{
电梯号:
电梯当前所在楼层;
电梯状态;
上下楼;
}
只是大概想想思路,具体的就期待明天的19:00—21:00咯偶哈!!!!收工喽!!!!!
3月12日
思路改了,没有用类和接口,用的控件和一些算法
实现了乘客告诉电梯他在哪个楼层,然后电梯到达那个楼层,并且电梯内部的显示屏上显示实时的楼层数。当然还有开关门功能。
3月13日
实现了乘客进到电梯里,按下所要到达的楼层键,电梯可以把乘客准确送到。
还有一个很大的问题就是:当电梯送乘客上楼时,如果有另外的乘客想要上楼,按下这位乘客当前的楼层,电梯就会立即响应这位乘客,而第一位乘客此时还没有到达目的地、、、、
计划未来三个晚上解决掉这个问题!
控制上下楼代码:
1 private void timera_Tick(object sender, EventArgs e) //电梯上下至乘客所在楼层 2 { 3 if (n <= louceeng) //电梯上至乘客所在楼层 4 { 5 label33.Location = new Point(510, 460 - a); 6 a += 20; 7 if (n == louceeng) 8 { 9 timera.Stop(); 10 timerkaimrn.Start(); 11 12 } 13 label1.Text = Convert.ToString(n); //动态显示楼层数 14 n++; 15 16 } 17 else //电梯下至乘客所在楼层 18 { 19 a -= 20; 20 label33.Location = new Point(510, 460 - a); 21 22 if (n == louceeng) 23 { 24 timera.Stop(); 25 // timerkaimrn.Start(); 26 } 27 label1.Text = Convert.ToString(n-1); 28 n--; 29 30 } 31 32 }
控制电梯开关代码:
1 private void timerkaimrn_Tick(object sender, EventArgs e) //电梯开 2 { 3 x++; 4 label34.Width = 54 - x; 5 label35.Width = 54 - x; 6 label35.Location = new Point(66+x, 14); 7 if (x == 44) 8 { 9 timerkaimrn.Stop(); 10 x = 0; 11 } 12 } 13 14 private void timerguanmen_Tick(object sender, EventArgs e) //电梯关 15 { 16 x++; 17 label34.Width = 10 + x; 18 label35.Width = 10 + x; 19 label35.Location = new Point(110 - x, 14); 20 if (x == 44) 21 timerguanmen.Stop(); 22 }
其实,这次电梯做的功能很不完善,也没有用到类,只是用c#来实现对电梯的控制,有待改进。