Beispiel #1
0
        public AgenteLaberinto(Labirinto laberinto)
        {
            this.laberinto   = laberinto;
            laberinto.Agente = this;
            this.posXY       = new PosisaoXY();

            this.movimento = MovimentoAgenteLaberinto.CIMA;
        }
Beispiel #2
0
        private void atualizarPosicaoAgente()
        {
            if (this.Agente != null)
            {
                PosisaoXY posisaoAgente = this.Agente.posXY;

                labirinto[posisaoAgente.posX][posisaoAgente.posY] = "*A*";
            }
        }
Beispiel #3
0
        public void movimentar()
        {
            PosisaoXY proximoMovimento = retornarMovimento();

            String valor = this.laberinto.retornarValorPosicaoLaberinto(proximoMovimento);

            if (valor.Equals("L") || valor.Equals("*A*"))
            {
                this.pilhaMovimento++;
                this.proximoMovimento();
                if (this.pilhaMovimento < 4)
                {
                    movimentar();
                }
            }
            else
            {
                this.pilhaMovimento = 0;
                this.laberinto.Limpar();
                this.posXY = proximoMovimento;
            }
        }
Beispiel #4
0
 public string retornarValorPosicaoLaberinto(PosisaoXY posisaoXY)
 {
     return(this.labirinto[posisaoXY.posX][posisaoXY.posY]);
 }
Beispiel #5
0
        internal void Limpar()
        {
            PosisaoXY posicao = this.Agente.posXY;

            labirinto[posicao.posX][posicao.posY] = "L";
        }