Skip to content

Instantly share code, notes, and snippets.

@lrlucena
Created August 7, 2017 19:02
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save lrlucena/5ded338ad6f5a90ff21f3708633b085a to your computer and use it in GitHub Desktop.
Save lrlucena/5ded338ad6f5a90ff21f3708633b085a to your computer and use it in GitHub Desktop.
use "ponto.poti"
use "IA.poti"
largura = 15
altura = 15
inicio = Ponto(3,3)
final = Ponto(8,9)
barreiras = [Ponto(3,5), Ponto(4,4), Ponto(4,3), Ponto(3,6)]
exibir_mapa(a: Astar)
rota = a.encontra_rota
# Exibir Mapa
mapa = Matriz.mutável(largura, altura, ' ')
para b em barreiras faça
mapa[b.y.inteiro][b.x.inteiro] := '█'
fim
para b em rota faça
mapa[b.y.inteiro][b.x.inteiro] := '.'
fim
mapa[inicio.y.inteiro][inicio.x.inteiro] :='I'
mapa[final.y.inteiro][final.x.inteiro] :='F'
escreva mapa.mapeie(_.junte("")).junte("\n")
fim
livre(p: Ponto)
x = p.x.inteiro
y = p.y.inteiro
retorne não (barreiras.contém(p) ou x < 1 ou x > largura ou y < 1 ou y > altura)
fim
a = Astar(inicio, final, livre)
exibir_mapa(a)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment