コード例 #1
0
        private void ExecutarExploracao(int sondaNumero)
        {
            Sondas sondas = new Sondas(bancoDeDados);

            Planalto planalto = new Planalto();

            planalto.Criar(coordenada);

            movimentoSempreParaFrente = new MovimentoParaFrente();

            var nomeDaSonda = $"Mark {sondaNumero}";

            Sonda sonda = ObterSonda(sondas, nomeDaSonda);

            sonda.Explorar(planalto);

            sonda.IniciarEm(posicaoInicioalDaSonda, direcaoCardinalInicioalDaSonda);

            ExecutarInstrucaoDeMovimentoNaSonda(sonda, movimentoSempreParaFrente);

            sondas.Gravar(sonda);

            sondas = null;

            var direcao = sonda.DirecaoCardinalAtual.ToString().ToUpper().Substring(0, 1).Replace("O", "W").Replace("L", "E");

            if (sondaNumero > 1)
            {
                resultado += "-";
            }

            resultado += $"{sonda.PosicaoAtual.X} {sonda.PosicaoAtual.Y} {direcao}";
        }
コード例 #2
0
        public void Iniciar()
        {
            var coordenada = new Coordenada(5, 5);

            planalto = new Planalto();
            planalto.Criar(coordenada);

            movimentoSempreParaFrente = new MovimentoParaFrente();

            conexaoComOBanco = new ConexaoComOBanco();
        }
コード例 #3
0
        public void Iniciar()
        {
            especificacaoDeNegocio = new EspecificacaoDeNegocio();
            corretorDaProximaPosicaoDoMovimento = new CorretorDaProximaPosicaoDoMovimento();
            movimentoSempreParaFrente           = new MovimentoParaFrente(corretorDaProximaPosicaoDoMovimento);

            var coordenada = new Coordenada(5, 5);
            var planalto   = new Planalto();

            planalto.Criar(coordenada);
            sonda = new Sonda(especificacaoDeNegocio, "Mark I");
            sonda.Explorar(planalto);
        }
コード例 #4
0
        public void Iniciar()
        {
            var coordenada = new Coordenada(5, 5);

            planalto = new Planalto();
            planalto.Criar(coordenada);

            movimentoSempreParaFrente = new MovimentoParaFrente();

            sonda = new Sonda("Mark I");

            sonda.Explorar(planalto);
        }
コード例 #5
0
        public void Iniciar()
        {
            especificacaoDeNegocio = new EspecificacaoDeNegocio();
            corretorDaProximaPosicaoDoMovimento = new CorretorDaProximaPosicaoDoMovimento();

            var coordenada = new Coordenada(5, 5);

            planalto = new Planalto();
            planalto.Criar(coordenada);

            movimentoSempreParaFrente = new MovimentoParaFrente(corretorDaProximaPosicaoDoMovimento);

            conexaoComOBanco = new ConexaoComOBanco();
            db = new ProvedorDeAcesso().Criar(conexaoComOBanco);
        }
コード例 #6
0
        public Sonda ObterPorId(Guid id)
        {
            var coordenada = new Coordenada(5, 5);
            var planalto   = new Planalto();

            planalto.Criar(coordenada);

            var movimentoSempreParaFrente = new MovimentoParaFrente();
            var sonda = new Sonda("Mark I");

            sonda.Explorar(planalto);

            var posicaoDesejada = new Posicao(1, 2);

            sonda.IniciarEm(posicaoDesejada, DirecaoCardinal.Norte);

            sonda.Vire(Direcao.Esqueda);
            sonda.Move(movimentoSempreParaFrente);


            return(sonda);
        }