⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 form1.cs

📁 C#编写的模拟电梯运行程序
💻 CS
📖 第 1 页 / 共 2 页
字号:
            }
        }

        private void R11_Click(object sender, EventArgs e)
        {
            double d1 = Double.Parse(e1.Text);
            if (d1 >= 1)
            {
                d1--;
                e1.Text = "" + d1;
                e11.Enabled = true; e12.Enabled = true; e13.Enabled = true; e14.Enabled = true;
                if (d1 == 0)
                { e11.Enabled = false; e12.Enabled = false; e13.Enabled = false; e14.Enabled = false; }
            }
           
        }
        private void U1_Click(object sender, EventArgs e)
        {
            int i = 0;
             U1.BackColor = System.Drawing.SystemColors.ActiveCaption;
             if (statu1 == false && statu2 == false)
             {
                 if (elevator1.Location.Y >= elevator2.Location.Y)
                     Queue1[Ret1++] = 394;
                 else
                     Queue2[Ret2++] = 394;
             }
             if (statu2 == true && statu1 == false)
             {
                 Queue1[Ret1++] = 394;
                 for (i = Top2; i < Ret2; i++)
                 {
                     if (Queue2[i] == 394 && elevator2.Location.Y >= elevator1.Location.Y)
                         Ret1--;
                 }
             }
             if (statu2 == false && statu1 == true)
             {
                 Queue2[Ret2++] = 394;
                 for (i = Top1; i < Ret1; i++)
                 {
                     if (Queue1[i] == 394 && elevator1.Location.Y >= elevator2.Location.Y)
                         Ret2--;
                 }
             }
             if (statu2 == true && statu1 == true)
             {
                 if (Queue1[Top1] > elevator1.Location.Y && Queue2[Top2] > elevator2.Location.Y)
                 {
                     if (elevator2.Location.Y > elevator1.Location.Y) Queue2[Ret2++] = 394; else Queue1[Ret1++] = 394;
                 }
                 if (Queue1[Top1] > elevator1.Location.Y && Queue2[Top2] < elevator2.Location.Y)
                     Queue1[Ret1++] = 394;
                 if (Queue1[Top1] < elevator1.Location.Y && Queue2[Top2] > elevator2.Location.Y)
                     Queue2[Ret2++] = 394;
                 if (Queue1[Top1] < elevator1.Location.Y && Queue2[Top2] < elevator2.Location.Y)
                 {
                     if (elevator2.Location.Y < elevator1.Location.Y) Queue2[Ret2++] = 300; else Queue1[Ret1++] = 394;
                 }
             }


        }

        private void U2_Click(object sender, EventArgs e)
        {
            
            int a = elevator1.Location.Y - 256;
            if (a < 0) a = -a;
            int b = elevator2.Location.Y - 256;
            if (b < 0) b = -b;
            U2.BackColor = System.Drawing.SystemColors.ActiveCaption;
            if (statu1 == false && statu2 == false)
            {
                if (a > b) Queue2[Ret2++] = 256;
                else Queue1[Ret1++] = 256;
            }
            if (statu2 == true && statu1 == false)
            {
                Queue1[Ret1++] = 256;
                if (Queue2[Top2] < 256 && elevator2.Location.Y > 256)
                {
                    Queue2[--Top2] = 256; Ret1--;
                }
            }
            if (statu2 == false && statu1 == true)
            {
                Queue2[Ret2++] = 256;
                if (Queue1[Top1] < 256 && elevator1.Location.Y > 256)
                {
                    Queue1[--Top1] = 256; Ret2--;
                }
            }           
            if (statu2 == true && statu1 == true)
            {
                if (Queue2[Top2] < 256 && elevator2.Location.Y > 256 && Queue1[Top1] < 256 && elevator1.Location.Y > 256)
                {
                    if (a > b) Queue2[--Top2] = 256; else Queue1[--Top1] = 256;
                }
                else
                    if (Queue2[Top2] < 256 && elevator2.Location.Y > 256)
                        Queue2[--Top2] = 256;
                    else
                        if (Queue1[Top1] < 220 && elevator1.Location.Y > 256)
                            Queue1[--Top1] = 256;
                        else
                        {   if (a > b) Queue1[Ret1++] = 256; else Queue2[Ret2++] = 256;}
            }


        }


        private void U3_Click(object sender, EventArgs e)
        {
            int a = elevator1.Location.Y - 131;
            if (a < 0) a = -a;
            int b = elevator2.Location.Y - 131;
            if (b < 0) b = -b;
            U3.BackColor = System.Drawing.SystemColors.ActiveCaption;
            if (statu1 == false && statu2 == false)
            {
                if (a > b) Queue2[Ret2++] = 131;
                else Queue1[Ret1++] = 131;
            }
            if (statu2 == true && statu1 == false)
            {
                Queue1[Ret1++] = 131;
                if (Queue2[Top2] < 131 && elevator2.Location.Y > 131)
                {
                    Queue2[--Top2] = 131; Ret1--;
                }
            }
            if (statu2 == false && statu1 == true)
            {
                Queue2[Ret2++] = 131;
                if (Queue1[Top1] < 131 && elevator1.Location.Y > 131)
                {
                    Queue1[--Top1] = 131; Ret2--;
                }
            }
            if (statu2 == true && statu1 == true)
            {
                if (Queue2[Top2] < 131 && elevator2.Location.Y > 131 && Queue1[Top1] < 131 && elevator1.Location.Y > 131)
                {
                    if (a > b) Queue2[--Top2] = 131; else Queue1[--Top1] = 131;
                }
                else
                    if (Queue2[Top2] < 131 && elevator2.Location.Y > 131)
                        Queue2[--Top2] = 131;
                    else
                        if (Queue1[Top1] < 131 && elevator1.Location.Y > 131)
                            Queue1[--Top1] = 131;
                        else
                        { if (a > b) Queue1[Ret1++] = 131; else Queue2[Ret2++] = 131; }
            }

        }

        private void D2_Click(object sender, EventArgs e)
        {
            int a = elevator1.Location.Y - 256;
            if (a < 0) a = -a;
            int b = elevator2.Location.Y - 256;
            if (b < 0) b = -b;
            D2.BackColor = System.Drawing.SystemColors.ActiveCaption;
            if (statu1 == false && statu2 == false)
            {
                if (a > b) Queue2[Ret2++] = 256;
                else Queue1[Ret1++] = 256;
            }
            if (statu2 == true && statu1 == false)
            {
                Queue1[Ret1++] = 256;
                if (Queue2[Top2] > 256 && elevator2.Location.Y < 256)
                {
                    Queue2[--Top2] = 256; Ret1--;
                }
            }
            if (statu2 == false && statu1 == true)
            {
                Queue2[Ret2++] = 256;
                if (Queue1[Top1] > 256 && elevator1.Location.Y < 256)
                {
                    Queue1[--Top1] = 256; Ret2--;
                }
            }           
            if (statu2 == true && statu1 == true)
            {
                if (Queue2[Top2] > 256 && elevator2.Location.Y < 256 && Queue1[Top1] > 256 && elevator1.Location.Y < 256)
                {
                    if (a > b) Queue2[--Top2] = 256; else Queue1[--Top1] = 256;
                }
                else
                    if (Queue2[Top2] > 256 && elevator2.Location.Y < 256)
                        Queue2[--Top2] = 256;
                    else
                        if (Queue1[Top1] > 256 && elevator1.Location.Y < 256)
                            Queue1[--Top1] = 256;
                        else
                        { if (a > b) Queue1[Ret1++] = 256; else Queue2[Ret2++] = 256; }
            }

        }

        private void D3_Click(object sender, EventArgs e)
        {
            int a = elevator1.Location.Y - 131;
            if (a < 0) a = -a;
            int b = elevator2.Location.Y - 131;
            if (b < 0) b = -b;
            D3.BackColor = System.Drawing.SystemColors.ActiveCaption;
            if (statu1 == false && statu2 == false)
            {
                if (a > b) Queue2[Ret2++] = 131;
                else Queue1[Ret1++] = 131;
            }
            if (statu2 == true && statu1 == false)
            {
                Queue1[Ret1++] = 131;
                if (Queue2[Top2] > 131 && elevator2.Location.Y < 131)
                {
                    Queue2[--Top2] = 131; Ret1--;
                }
            }
            if (statu2 == false && statu1 == true)
            {
                Queue2[Ret2++] = 131;
                if (Queue1[Top1] > 131 && elevator1.Location.Y < 131)
                {
                    Queue1[--Top1] = 131; Ret2--;
                }
            }
            if (statu2 == true && statu1 == true)
            {
                if (Queue2[Top2] > 131 && elevator2.Location.Y < 131 && Queue1[Top1] >131 && elevator1.Location.Y < 131)
                {
                    if (a > b) Queue2[--Top2] = 131; else Queue1[--Top1] = 131;
                }
                else
                    if (Queue2[Top2] > 131 && elevator2.Location.Y < 131)
                        Queue2[--Top2] = 131;
                    else
                        if (Queue1[Top1] > 131 && elevator1.Location.Y < 131)
                            Queue1[--Top1] = 131;
                        else
                        { if (a > b) Queue1[Ret1++] = 131; else Queue2[Ret2++] = 131; }
            }

        }

        private void D4_Click(object sender, EventArgs e)
        {
            int i = 0;
            D4.BackColor = System.Drawing.SystemColors.ActiveCaption;
            if (statu1 == false && statu2 == false)
            {
                if (elevator1.Location.Y >= elevator2.Location.Y)
                    Queue2[Ret2++] = 4;
                else
                    Queue1[Ret1++] = 4;
            }
            if (statu2 == true && statu1 == false)
            {
                Queue1[Ret1++] = 4;
                for (i = Top2; i < Ret2; i++)
                {
                    if (Queue2[i] == 4 && elevator2.Location.Y <= elevator1.Location.Y)
                        Ret1--;
                }
            }
            if (statu2 == false && statu1 == true)
            {
                Queue2[Ret2++] = 4;
                for (i = Top1; i < Ret1; i++)
                {
                    if (Queue1[i] == 4 && elevator1.Location.Y <= elevator2.Location.Y)
                        Ret2--;
                }
            }
            if (statu2 == true && statu1 == true)
            {
                if (Queue1[Top1] < elevator1.Location.Y && Queue2[Top2] < elevator2.Location.Y)
                {
                    if (elevator2.Location.Y < elevator1.Location.Y) Queue2[Ret2++] = 4; else Queue1[Ret1++] = 4;
                }
                if (Queue1[Top1] < elevator1.Location.Y && Queue2[Top2] > elevator2.Location.Y)
                    Queue1[Ret1++] = 4;
                if (Queue1[Top1] > elevator1.Location.Y && Queue2[Top2] < elevator2.Location.Y)
                    Queue2[Ret2++] = 4;
                if (Queue1[Top1] > elevator1.Location.Y && Queue2[Top2] > elevator2.Location.Y)
                {
                    if (elevator2.Location.Y > elevator1.Location.Y) Queue2[Ret2++] = 394; else Queue1[Ret1++] = 394;
                }
            }
        }

        private void e11_Click(object sender, EventArgs e)
        {
            if (e11.BackColor != System.Drawing.SystemColors.ActiveCaption)
            {
                e11.BackColor = System.Drawing.SystemColors.ActiveCaption;
                Queue1[Ret1++] = 394;
            }
        }
        private void e12_Click(object sender, EventArgs e)
        {
            if (e12.BackColor != System.Drawing.SystemColors.ActiveCaption)
            {
                e12.BackColor = System.Drawing.SystemColors.ActiveCaption;
                if (Queue1[Top1] > 256 && elevator1.Location.Y < 256 || Queue1[Top1] < 256 && elevator1.Location.Y > 256)
                    Queue1[--Top1] = 256;
                else
                    Queue1[Ret1++] = 256;
            }
        }
        private void e13_Click(object sender, EventArgs e)
        {
            if (e13.BackColor != System.Drawing.SystemColors.ActiveCaption)
            {
                e13.BackColor = System.Drawing.SystemColors.ActiveCaption;
                if (Queue1[Top1] > 131 && elevator1.Location.Y < 131 || Queue1[Top1] < 131 && elevator1.Location.Y > 131)
                    Queue1[--Top1] = 131;
                else
                    Queue1[Ret1++] = 131;
            }
        }
        private void e14_Click(object sender, EventArgs e)
        {
            if (e14.BackColor != System.Drawing.SystemColors.ActiveCaption)
            {
                e14.BackColor = System.Drawing.SystemColors.ActiveCaption;
                Queue1[Ret1++] = 4;
            }
        }
        private void e21_Click(object sender, EventArgs e)
        {
            if (e21.BackColor != System.Drawing.SystemColors.ActiveCaption)
            {
                e21.BackColor = System.Drawing.SystemColors.ActiveCaption;
                
                Queue2[Ret2++] = 394;
            }
        }

        private void e22_Click(object sender, EventArgs e)
        {
            if (e22.BackColor != System.Drawing.SystemColors.ActiveCaption)
            {
                e22.BackColor = System.Drawing.SystemColors.ActiveCaption;
                if (Queue2[Top2] > 256 && elevator2.Location.Y < 256 || Queue2[Top2] < 256 && elevator2.Location.Y > 256)
                    Queue2[--Top2] = 256;
                else
                    Queue2[Ret2++] = 256;
            }
        }
        private void e23_Click(object sender, EventArgs e)
        {
            if( e23.BackColor != System.Drawing.SystemColors.ActiveCaption)
            {
            e23.BackColor = System.Drawing.SystemColors.ActiveCaption;
            if (Queue2[Top2] > 131 && elevator2.Location.Y < 131 || Queue2[Top2] < 131 && elevator2.Location.Y > 131)
                Queue2[--Top2] = 131;
            else
                Queue2[Ret2++] = 131;
            }
        }

        private void e24_Click(object sender, EventArgs e)
        {
            if (e24.BackColor != System.Drawing.SystemColors.ActiveCaption)
            {
                e24.BackColor = System.Drawing.SystemColors.ActiveCaption;
                Queue2[Ret2++] = 4;
            }
        }

        private void F1_TextChanged(object sender, EventArgs e)
        {

        }

        private void F4_TextChanged(object sender, EventArgs e)
        {

        }


      
         
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -