예제 #1
0
        static void SondasIniciadas()
        {
            while (true)
            {
                Console.ForegroundColor = ConsoleColor.DarkRed;
                Console.WriteLine("Digite o nome de uma sonda + ',' (Movimentos) Exemplo Sonda1, LMRMLL - Para Movimentar Uma Sonda, Ou Exit Para Sair");
                string retorno = Console.ReadLine();

                if (retorno.ToLower() == "exit")
                {
                    return;
                }

                string[] valores = retorno.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries);

                if (valores.Length < 2)
                {
                    continue;
                }

                string nome       = valores[0];
                string movimentos = valores[1];

                Sonda sondaselecionada = sondas.Where(c => c.NomeSonda == nome)?.FirstOrDefault();

                if (sondaselecionada == null)
                {
                    Console.WriteLine("Sonda Não Encontrada !");
                    continue;
                }

                List <Comandos.Comando> comandosexecutados = new List <Comandos.Comando>();

                foreach (char movs in movimentos)
                {
                    switch (movs)
                    {
                    case 'M':
                        comandosexecutados.Add(Comandos.Comando.Avancar);
                        break;

                    case 'L':
                        comandosexecutados.Add(Comandos.Comando.Esquerda);
                        break;

                    case 'R':
                        comandosexecutados.Add(Comandos.Comando.Direita);
                        break;
                    }
                }

                sondaselecionada.Mover(comandosexecutados);
                Console.ForegroundColor = ConsoleColor.DarkGreen;
                Console.WriteLine(sondaselecionada.Status());
            }
        }