private ResultadoAcao VerificaBotao()
        {
            ResultadoAcao result = new ResultadoAcao();

            byte[] buttons = State.GetButtons();

            if (!buttons.Any(a => a == 128))
            {
                result.Mensagem = "Nenhum botão pressionado";
                return(result);
            }

            // botao A do controle do Xbox
            if (buttons[0] == 128)
            {
                result = Carro.AcenderFarol();
            }

            // botao B do controle do Xbox
            if (buttons[1] == 128)
            {
                result = Carro.ApagarFarol();
            }

            return(result);
        }
        private void EscutarMensagens(object sender, EventArgs e)
        {
            string dadosNovos;

            Carro.Comunicacao.DadosRecebidos.TryDequeue(out dadosNovos);

            if (string.IsNullOrEmpty(dadosNovos))
            {
                return;
            }

            dadosNovos = dadosNovos.Replace("\r\n", "");

            try
            {
                var i = int.Parse(dadosNovos);
                if (i < 30)
                {
                    Carro.AcenderFarol();
                    Thread.Sleep(30);
                    Carro.ApagarFarol();
                    Thread.Sleep(30);
                    Carro.AcenderFarol();
                }
            }
            catch (Exception exp)
            {
                Console.WriteLine(exp);
                throw new Exception(exp.Message);
            }
        }