public AgenteLaberinto(Labirinto laberinto) { this.laberinto = laberinto; laberinto.Agente = this; this.posXY = new PosisaoXY(); this.movimento = MovimentoAgenteLaberinto.CIMA; }
private void atualizarPosicaoAgente() { if (this.Agente != null) { PosisaoXY posisaoAgente = this.Agente.posXY; labirinto[posisaoAgente.posX][posisaoAgente.posY] = "*A*"; } }
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; } }
public string retornarValorPosicaoLaberinto(PosisaoXY posisaoXY) { return(this.labirinto[posisaoXY.posX][posisaoXY.posY]); }
internal void Limpar() { PosisaoXY posicao = this.Agente.posXY; labirinto[posicao.posX][posicao.posY] = "L"; }