Untitled
unknown
plain_text
10 months ago
1.5 kB
12
Indexable
moveInimigo :: Tempo -> Inimigo -> Mapa -> (Direcao,Posicao)
moveInimigo t Inimigo {posicaoInimigo = (x,y), direcaoInimigo = direcao, velocidadeInimigo = velocidade, projeteisInimigo = lprojeteis} mapa
= if any (\proj -> tipoProjetil proj == Gelo) lprojeteis
then (direcao,(x,y))
else
case direcao of
Norte -> if validaPosicaoTerra (x,y+0.501) mapa
then (direcao,(x,y+(velocidade*t)))
else if validaPosicaoTerra (x+0.501,y) mapa
then (Este,(x+(velocidade*t),y))
else (Oeste,(x-velocidade*t,y))
Sul -> if validaPosicaoTerra (x,(y-0.501)) mapa
then (direcao,(x,(y-velocidade*t)))
else if validaPosicaoTerra (x+0.501,y) mapa
then (Este,(x+(velocidade*t),y))
else (Oeste,(x-velocidade*t,y))
Este -> if validaPosicaoTerra (x+0.501,y) mapa
then (direcao,(x+(velocidade*t),y))
else if validaPosicaoTerra (x,y+0.501) mapa
then (Norte,(x,y+(velocidade*t)))
else (Sul,(x,y-velocidade*t))
Oeste -> if validaPosicaoTerra (x-0.501,y) mapa
then (direcao,(x-(velocidade*t),y))
else if validaPosicaoTerra (x,y+0.501) mapa
then (Norte,(x,y+(velocidade*t)))
else (Sul,(x,y-velocidade*t))Editor is loading...
Leave a Comment