コード例 #1
0
 public Form1()
 {
     InitializeComponent();
     filosofo1 = new Filosofo(true, true, false, false, filosofo1GD, filosofo1GE, filosofo1TD, filosofo1TE, imagem1, button1);
     filosofo2 = new Filosofo(false, true, true, false, filosofo2GD, filosofo2GE, filosofo2TD, filosofo2TE, imagem2, button2);
     filosofo3 = new Filosofo(false, false, true, true, filosofo3GD, filosofo3GE, filosofo3TD, filosofo3TE, imagem3, button3);
     filosofo1.Filosofos[0] = filosofo3;
     filosofo1.Filosofos[1] = filosofo2;
     filosofo2.Filosofos[0] = filosofo1;
     filosofo2.Filosofos[1] = filosofo3;
     filosofo3.Filosofos[0] = filosofo2;
     filosofo3.Filosofos[1] = filosofo1;
 }
コード例 #2
0
        private void verificarGarfosTickets(Filosofo f, Label garfoD, Label garfoE, Label ticketD, Label ticketE)
        {
            if (f.GarfoSujoD)
            {
                garfoD.BackColor = Color.Tomato;
            }
            else
            {
                garfoD.BackColor = Color.White;
            }
            if (f.GarfoSujoE)
            {
                garfoE.BackColor = Color.Tomato;
            }
            else
            {
                garfoE.BackColor = Color.White;
            }

            if (f.GarfoE && !f.Comendo && !f.GarfoSujoE)
            {
                garfoE.BackColor = Color.Blue;
            }

            if (f.GarfoD && !f.Comendo && !f.GarfoSujoD)
            {
                garfoD.BackColor = Color.Blue;
            }

            if (f.TokenD)
            {
                ticketD.BackColor = Color.Green;
            }
            else
            {
                ticketD.BackColor = Color.White;
            }

            if (f.TokenE)
            {
                ticketE.BackColor = Color.Green;
            }
            else
            {
                ticketE.BackColor = Color.White;
            }
        }
コード例 #3
0
 public void AdicionarVizinhos(Filosofo vizinhoEsq, Filosofo vizinhoDir)
 {
     this.Vizinhos = new Filosofo[2];
     Vizinhos[0]   = vizinhoEsq;
     Vizinhos[1]   = vizinhoDir;
 }
コード例 #4
0
        private void verificarImagens(Filosofo filosofo, Button botao, PictureBox img)
        {
            if (filosofo.Meditando)
            {
                img.Image = Properties.Resources.Pensando;

                if (filosofo.GarfoSujoE && filosofo.GarfoSujoD)
                {
                    filosofo.VerificarComer();
                }
                else
                {
                    filosofo.PedirComer();
                }

                botao.Text = comecarComer;
            }

            if (filosofo.ComFome)
            {
                img.Image  = Properties.Resources.ComFome;
                botao.Text = comFome;
            }

            if (filosofo.Comendo)
            {
                img.Image = Properties.Resources.Comendo;

                if (botao.Text == pararComer)
                {
                    filosofo.PararComer();
                    img.Image  = Properties.Resources.Pensando;
                    botao.Text = comecarComer;

                    if (f1.Comendo)
                    {
                        pictureBox1.Image = Properties.Resources.Comendo;
                        btnf1.Text        = pararComer;
                    }

                    if (f2.Comendo)
                    {
                        pictureBox2.Image = Properties.Resources.Comendo;
                        btnf2.Text        = pararComer;
                    }

                    if (f3.Comendo)
                    {
                        pictureBox3.Image = Properties.Resources.Comendo;
                        btnf3.Text        = pararComer;
                    }
                }

                if (filosofo.GarfoSujoE && filosofo.GarfoSujoD)
                {
                    botao.Text = pararComer;
                }
            }

            verificarGarfosTickets(f1, garfoDF1, garfoEF1, ticketDF1, ticketEF1);
            verificarGarfosTickets(f2, garfoDF2, garfoEF2, ticketDF2, ticketEF2);
            verificarGarfosTickets(f3, garfoDF3, garfoEF3, ticketDF3, ticketEF3);
        }