Example #1
0
        private static void AlterarEstadoBraco(Braco braco, EBracoEstado bracoEstado)
        {
            bool estadoAlterado = braco.AlterarEstado(bracoEstado);

            if (!estadoAlterado)
            {
                Console.Clear();
                Console.WriteLine($"Não é possível alterar o estado do braço para {bracoEstado} no momento.");
                Console.WriteLine("Pressione qualquer tecla para continuar...");
                Console.ReadKey();
            }
        }
Example #2
0
        private static void AtualizarMenuBraco(Drone drone, EBracoLado bracoLado)
        {
            string opcaoMenuBraco;
            bool   continuarNoMenuBraco = true;

            Braco braco = drone.BracoEsquerdo;

            if (bracoLado == EBracoLado.Direito)
            {
                braco = drone.BracoDireito;
            }

            while (continuarNoMenuBraco)
            {
                Console.Clear();
                Console.WriteLine("-----------------------------------------------------------------");
                Console.WriteLine($"### Braço {bracoLado} ###");
                Console.WriteLine($"Estado atual do braço {bracoLado}: {braco.EstadoAtual}");
                Console.WriteLine($"Braço {bracoLado} ocupado: {(braco.Ocupado ? "Sim" : "Não")}");
                Console.WriteLine($"Estado atual do cotovelo {bracoLado}: {braco.Cotovelo.EstadoAtual}");
                Console.WriteLine($"Ângulo atual do pulso {bracoLado}: {braco.Pulso.AnguloRotacao}");
                Console.WriteLine($"R- Colocar braço {bracoLado} em atividade.");
                Console.WriteLine($"T- Colocar braço {bracoLado} em repouso.");
                Console.WriteLine($"Y- Contrair ou Descontrair cotovelo {bracoLado}.");
                Console.WriteLine($"D- Aumentar a rotação do ângulo do pulso {bracoLado} progressivamente.");
                Console.WriteLine($"A- Diminuir a rotação do ângulo do pulso {bracoLado} progressivamente.");
                Console.WriteLine($"4- Especificar a rotação do ângulo do pulso {bracoLado}.");
                Console.WriteLine($"F- Ferramenta Pegar do braço {bracoLado}.");
                Console.WriteLine($"G- Armazenar do braço {bracoLado}.");
                if (bracoLado == EBracoLado.Esquerdo)
                {
                    Console.WriteLine($"B- Ferramenta Bater.");
                }
                else
                {
                    Console.WriteLine($"X- Ferramenta Cortar.");
                    Console.WriteLine($"C- Ferramenta Coletar.");
                }
                Console.WriteLine("V- Voltar para menu principal.");
                Console.WriteLine("-----------------------------------------------------------------");

                var readKeyMenuBraco = Console.ReadKey();
                opcaoMenuBraco = readKeyMenuBraco.KeyChar.ToString().ToUpper();

                continuarNoMenuBraco = LerOpcaoDoMenuBraco(braco, opcaoMenuBraco, bracoLado);
            }
        }
Example #3
0
        private static bool LerOpcaoDoMenuBraco(Braco braco, string opcaoMenuBraco, EBracoLado bracoLado)
        {
            switch (opcaoMenuBraco)
            {
            case "R":
                AlterarEstadoBraco(braco, EBracoEstado.EmAtividade);
                break;

            case "T":
                AlterarEstadoBraco(braco, EBracoEstado.EmRepouso);
                break;

            case "Y":
                braco.Cotovelo.MudarEstadoCotovelo();
                break;

            case "D":
                braco.Pulso.ModificarAnguloDeRotacao(EDirecaoAngulo.Positivo);
                break;

            case "A":
                braco.Pulso.ModificarAnguloDeRotacao(EDirecaoAngulo.Negativo);
                break;

            case "4":
                Console.Clear();
                Console.WriteLine("Informe o ângulo: ");
                ushort valorAngulo = Convert.ToUInt16(Console.ReadLine());
                braco.Pulso.ModificarAnguloDeRotacao(valorAngulo);
                break;

            case "F":
                if (!braco.Pegar())
                {
                    Console.Clear();
                    Console.WriteLine($"{MsgFerramentaIndisponivelParaUso} E cotovelo deve estar contraído.");
                    Console.WriteLine("Pressione qualquer tecla para continuar...");
                    Console.ReadKey();
                }
                break;

            case "G":
                if (!braco.ArmazenarObjeto())
                {
                    Console.Clear();
                    Console.WriteLine($"{MsgFerramentaIndisponivelParaUso} E cotovelo deve estar em repouso.");
                    Console.WriteLine("Pressione qualquer tecla para continuar...");
                    Console.ReadKey();
                }
                break;

            case "B":
                if (bracoLado == EBracoLado.Esquerdo)
                {
                    if (!((BracoEsquerdo)braco).Bater())
                    {
                        Console.Clear();
                        Console.WriteLine($"{MsgFerramentaIndisponivelParaUso} E cotovelo deve estar contraído.");
                        Console.WriteLine("Pressione qualquer tecla para continuar...");
                        Console.ReadKey();
                    }
                }
                break;

            case "X":
                if (bracoLado == EBracoLado.Direito)
                {
                    if (!((BracoDireito)braco).Cortar())
                    {
                        Console.Clear();
                        Console.WriteLine($"{MsgFerramentaIndisponivelParaUso} E cotovelo deve estar contraído.");
                        Console.WriteLine("Pressione qualquer tecla para continuar...");
                        Console.ReadKey();
                    }
                }
                break;

            case "C":
                if (bracoLado == EBracoLado.Direito)
                {
                    if (!((BracoDireito)braco).Coletar())
                    {
                        Console.Clear();
                        Console.WriteLine($"{MsgFerramentaIndisponivelParaUso} E cotovelo deve estar em repouso.");
                        Console.WriteLine("Pressione qualquer tecla para continuar...");
                        Console.ReadKey();
                    }
                }
                break;

            case "V":
                return(false);

            default:
                return(true);
            }
            return(true);
        }