Esempio n. 1
0
        public Robo(INavegacao navegacao)
        {

            // De acordo com sentido de sua frente o robo muda de comportamento dinamicamente alterando sua classe (State Pattern)

             _navegacao = navegacao;
            string sentido = _navegacao.GetSentido();

            switch (sentido.ToUpper())
            {

                case Facing.North:
                    Direcao = new Norte(_navegacao);
                    break;
                case Facing.East:
                    Direcao = new Leste(_navegacao);
                    break;
                case Facing.South:
                    Direcao = new Sul(_navegacao);
                    break;
                case Facing.West:
                    Direcao = new Oeste(_navegacao);
                    break;

            }
            

        }
Esempio n. 2
0
        public Oeste(INavegacao posicao)
        {
            _posicao = posicao;

        }
Esempio n. 3
0
        public Sul(INavegacao posicao)
        {
            _posicao = posicao;

        }
Esempio n. 4
0
        public Norte(INavegacao posicao)
        {
            _posicao = posicao;

        }