Exemplo n.º 1
0
        public (int, int) Infectado(Monitoramento amostra)
        {
            Random rdm             = new Random();
            int    pessoaInfectada = rdm.Next(1, amostra.Estados * amostra.Pessoas);

            int linha  = ((pessoaInfectada + amostra.Pessoas - 1) / amostra.Pessoas) - 1;
            int coluna = (pessoaInfectada - 1) % amostra.Pessoas;

            return(linha, coluna);
        }
Exemplo n.º 2
0
        static void Main()
        {
            Monitoramento amostra = new Monitoramento();

            (amostra.Estados, amostra.Pessoas) = Parametros.InformouNumeros();

            Console.Clear();
            for (int i = 0; i < amostra.Estados; i++)
            {
                Console.ForegroundColor = ConsoleColor.Green;
                Console.Write("Estado {0} => ", i + 1);
                for (int j = 0; j < amostra.Pessoas; j++)
                {
                    Console.Write("{0} ", Parametros.saudavel);
                }
                Console.WriteLine();
            }
            Thread.Sleep(1000);

            HashSet <(int, int)> listaInfectados = new HashSet <(int, int)>();

            do
            {
                Console.Clear();

                Calculo infectado    = new Calculo();
                var     auxInfectado = infectado.Infectado(amostra);
                listaInfectados.Add(auxInfectado);

                for (int i = 0; i < amostra.Estados; i++)
                {
                    Console.ForegroundColor = ConsoleColor.Green;

                    if (i == auxInfectado.Item1)
                    {
                        Console.ForegroundColor = ConsoleColor.Red;
                    }

                    Console.Write("Estado {0} => ", i + 1);

                    for (int j = 0; j < amostra.Pessoas; j++)
                    {
                        bool estaSaudavel = true;
                        foreach (var inf in listaInfectados)
                        {
                            if (inf.Item1 == i && inf.Item2 == j)
                            {
                                Console.Write("{0} ", Parametros.infectado);
                                estaSaudavel = false;
                            }
                        }
                        if (estaSaudavel)
                        {
                            Console.Write("{0} ", Parametros.saudavel);
                        }
                    }
                    Console.WriteLine();
                }
                Thread.Sleep(1000);
                Parametros.tempoSegundos++;
            } while (Parametros.tempoSegundos < 60);

            Console.ReadKey();
        }