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

📄 form1.cs

📁 用VS描述的 模拟操作系统的先来先服务功能
💻 CS
📖 第 1 页 / 共 2 页
字号:
                        {
                            if (2 * (c++) < 556)
                            {
                                fi_type1 = 3;
                                label4.Text = "CPU正在运行进程3";
                            }
                            else
                            {
                                fi_type1 = 7;
                                label4.Text = "结束!";
                            }
                        }
                    }
                }
            }
        }

        public void panduan15(int a, int b, int c)
        {
            if (4 * (a++) < 556)
            {
                if (4 * (a++) < 328)
                {

                    fi_type1 = 1;
                    label4.Text = "CPU正在调入进程1";
                }
                else
                {
                    if (3 * (b++) < 328)
                    {
                        fi_type1 = 2;
                        label4.Text = "CPU正在调入进程2";
                    }
                    else
                    {
                        if (3 * (b++) < 556)
                        {
                            fi_type1 = 1;
                            label4.Text = "CPU正在运行进程1";
                        }
                    }
                }
            }
            else
            {
                if (3 * (b++) < 556)
                {
                    if (2 * (c++) < 328)
                    {
                        fi_type1 = 3;
                        label4.Text = "CPU正在调入进程2";
                    }
                    else
                    {
                        if (2 * (c++) < 556)
                        {
                            fi_type1 = 2;
                            label4.Text = "CPU正在运行进程2";
                        }
                    }
                }
                else
                {
                    if (2 * (c++) < 556)
                    {
                        fi_type1 = 3;
                        label4.Text = "CPU正在运行进程3";
                    }
                    else
                    {
                        fi_type1 = 7;
                        label4.Text = "结束!";
                    }
                }
            }
        }

        public void xuanze(int A, int B, int C)
        {
            switch (fi_type1)
            {
                case 1:
                    a[A].SetBounds(4 * (fi_ii[A]++), a[A].Location.Y, 40, 40);
                    break;
                case 2:
                    a[B].SetBounds(3 * (fi_ii[B]++), a[B].Location.Y, 40, 40); 
                    break;
                case 3:
                    a[C].SetBounds(2 * (fi_ii[C]++), a[C].Location.Y, 40, 40);
                    break;
                case 4:
                    a[A].SetBounds(4 * (fi_ii[A]++), a[A].Location.Y, 40, 40);
                    a[B].SetBounds(3 * (fi_ii[B]++), a[B].Location.Y, 40, 40);
                    break;
                case 5:
                    a[B].SetBounds(3 * (fi_ii[B]++), a[B].Location.Y, 40, 40);
                    a[C].SetBounds(2 * (fi_ii[C]++), a[C].Location.Y, 40, 40);
                    break;
                case 6:
                    a[A].SetBounds(4 * (fi_ii[A]++), a[A].Location.Y, 40, 40);
                    a[B].SetBounds(3 * (fi_ii[B]++), a[B].Location.Y, 40, 40);
                    a[C].SetBounds(2 * (fi_ii[C]++), a[C].Location.Y, 40, 40);
                    break;
                case 7:
                    a[A].SetBounds(0, a[A].Location.Y, 40, 40);
                    a[B].SetBounds(0, a[B].Location.Y, 40, 40);
                    a[C].SetBounds(0, a[C].Location.Y, 40, 40);
                    break;
            }
        }       
       
        private void buttonkaishi_Click(object sender, EventArgs e)
        {            
            chushihua();
            suijishu();
            timer1.Enabled = true;
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            timer1.Enabled = false;
            switch (fi_i)
            {
                case 1:
                    panduan11(fi_ii[1], fi_ii[2], fi_ii[3]);
                    xuanze(1, 2, 3); break;
                case 2:
                    panduan11(fi_ii[1], fi_ii[3], fi_ii[2]);
                    xuanze(1, 3, 2); break;
                case 3:
                    panduan11(fi_ii[2], fi_ii[1], fi_ii[3]);
                    xuanze(2, 1, 3); break;
                case 4:
                    panduan11(fi_ii[2], fi_ii[3], fi_ii[1]);
                    xuanze(2, 3, 1); break;
                case 5:
                    panduan11(fi_ii[3], fi_ii[2], fi_ii[1]);
                    xuanze(3, 2, 1); break;
                case 6:
                    panduan11(fi_ii[3], fi_ii[1], fi_ii[2]);
                    xuanze(3, 1, 2); break;
                case 7:
                    panduan12(fi_ii[1], fi_ii[2], fi_ii[3]);
                    xuanze(1, 2, 3); break;
                case 8:
                    panduan12(fi_ii[1], fi_ii[3], fi_ii[2]);
                    xuanze(1, 3, 2); break;
                case 9:
                    panduan12(fi_ii[2], fi_ii[1], fi_ii[3]);
                    xuanze(2, 1, 3); break;
                case 10:
                    panduan12(fi_ii[2], fi_ii[3], fi_ii[1]);
                    xuanze(2, 3, 1); break;
                case 11:
                    panduan12(fi_ii[3], fi_ii[2], fi_ii[1]);
                    xuanze(3, 2, 1); break;
                case 12:
                    panduan12(fi_ii[3], fi_ii[1], fi_ii[2]);
                    xuanze(3, 1, 2); break;
                case 13:
                    panduan13(fi_ii[1], fi_ii[2], fi_ii[3]);
                    xuanze(1, 2, 3); break;
                case 14:
                    panduan13(fi_ii[1], fi_ii[3], fi_ii[2]);
                    xuanze(1, 3, 2); break;
                case 15:
                    panduan13(fi_ii[2], fi_ii[1], fi_ii[3]);
                    xuanze(2, 1, 3); break;
                case 16:
                    panduan13(fi_ii[2], fi_ii[3], fi_ii[1]);
                    xuanze(2, 3, 1); break;
                case 17:
                    panduan13(fi_ii[3], fi_ii[2], fi_ii[1]);
                    xuanze(3, 2, 1); break;
                case 18:
                    panduan13(fi_ii[3], fi_ii[1], fi_ii[2]);
                    xuanze(3, 1, 2); break;
                case 19:
                    panduan14(fi_ii[1], fi_ii[2], fi_ii[3]);
                    xuanze(1, 2, 3); break;
                case 20:
                    panduan14(fi_ii[1], fi_ii[3], fi_ii[2]);
                    xuanze(1, 3, 2); break;
                case 21:
                    panduan14(fi_ii[2], fi_ii[1], fi_ii[3]);
                    xuanze(2, 1, 3); break;
                case 22:
                    panduan14(fi_ii[2], fi_ii[3], fi_ii[1]);
                    xuanze(2, 3, 1); break;
                case 23:
                    panduan14(fi_ii[3], fi_ii[2], fi_ii[1]);
                    xuanze(3, 2, 1); break;
                case 24:
                    panduan14(fi_ii[3], fi_ii[1], fi_ii[2]);
                    xuanze(3, 1, 2); break;
                case 25:
                    panduan15(fi_ii[1], fi_ii[2], fi_ii[3]);
                    xuanze(1, 2, 3); break;
                case 26:
                    panduan15(fi_ii[1], fi_ii[3], fi_ii[2]);
                    xuanze(1, 3, 2); break;
                case 27:
                    panduan15(fi_ii[2], fi_ii[1], fi_ii[3]);
                    xuanze(2, 1, 3); break;
                case 28:
                    panduan15(fi_ii[2], fi_ii[3], fi_ii[1]);
                    xuanze(2, 3, 1); break;
                case 29:
                    panduan15(fi_ii[3], fi_ii[2], fi_ii[1]);
                    xuanze(3, 2, 1); break;
                case 30:
                    panduan15(fi_ii[3], fi_ii[1], fi_ii[2]);
                    xuanze(3, 1, 2); break;
            }
           
            timer1.Enabled = true;
        }

        public void chushihua()
        {
             fi_i = 0;
             fi_type1 = 0;
             fi_i1 = 0;
             fi_i2 = 0;
             fi_i3 = 0;
             label1.SetBounds(0, 180, 40, 40);
             label2.SetBounds(0, 241, 40, 40);
             label3.SetBounds(0, 300, 40, 40);
             a[1] = label1;
             a[2] = label2;
             a[3] = label3;
             fi_ii[1] = fi_i1;
             fi_ii[2] = fi_i2;
             fi_ii[3] = fi_i3;
        }

        private void button1_Click(object sender, EventArgs e)
        {
            this.Close();
        }

    }
}

⌨️ 快捷键说明

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