static void Main(string[] args)
        {
            try
            {
                SimuladorRedePetri simulador = new SimuladorRedePetri();
                simulador.RecebeLugares();
                simulador.RecebeTransicoes();
                simulador.RecebePesoArcos();

                Console.WriteLine("\n- Simulacao da Rede de Petri -");

                while (!simulador.terminada)
                {
                    simulador.TransacoesHabilitadas();

                    Tela.imprimirSimulacao(simulador);

                    Console.WriteLine();
                    Console.WriteLine("Para executar aperte 'Enter'");
                    if (Console.ReadKey().Key == ConsoleKey.Enter)
                    {
                        simulador.ExecutaCiclo();
                    }
                    else
                    {
                        Tela.ImprimeSimulacaoFinalizada();
                        break;
                    }
                }
            } catch (RedePetriException e)
            {
                Console.Write(e.Message);
            }
        }
Example #2
0
 public static void imprimirCabecalho(SimuladorRedePetri simulador)
 {
     Console.WriteLine();
     Console.Write("Ciclo | ");
     foreach (Lugar lugar in simulador.lugares)
     {
         Console.Write(lugar.Nome + " | ");
     }
     foreach (Transicao transicao in simulador.transicoes)
     {
         Console.Write(transicao.Nome + " | ");
     }
 }
Example #3
0
        public static void imprimirCiclo(SimuladorRedePetri simulador)
        {
            Console.WriteLine();
            Console.Write(simulador.numCiclo.ToString("D5") + " | ");

            foreach (Lugar lugar in simulador.lugares)
            {
                Console.Write(lugar.qtdMarcas.ToString("D2") + " | ");
            }

            foreach (Transicao transicao in simulador.transicoes)
            {
                if (transicao.PodeExecutar)
                {
                    Console.Write("S " + " | ");
                }
                else
                {
                    Console.Write("N " + " | ");
                }
            }
        }
Example #4
0
 public static void imprimirSimulacao(SimuladorRedePetri simulador)
 {
     imprimirCabecalho(simulador);
     imprimirCiclo(simulador);
 }