worms
Safe HaskellNone
LanguageGHC2021

Tarefa0_2025

Description

Módulo que define funções auxiliares que serão úteis na resolução do trabalho prático de LI1/LP1 em 2025/26.

Synopsis

Documentation

encontraQuantidadeArmaMinhoca :: TipoArma -> Minhoca -> Int Source #

Retorna a quantidade de munições disponíveis de uma minhoca para uma dada arma.

atualizaQuantidadeArmaMinhoca :: TipoArma -> Minhoca -> Int -> Minhoca Source #

Atualia a quantidade de munições disponíveis de uma minhoca para uma dada arma.

eTerrenoDestrutivel :: Terreno -> Bool Source #

Verifica se um tipo de terreno é destrutível, i.e., pode ser destruído por explosões.

NB: Apenas Terra é destrutível.

eTerrenoOpaco :: Terreno -> Bool Source #

Verifica se um tipo de terreno é opaco, i.e., não permite que objetos ou minhocas se encontrem por cima dele.

NB: Apenas Terra ou Pedra são opacos.

ePosicaoMapaLivre :: Posicao -> Mapa -> Bool Source #

Verifica se uma posição do mapa está livre, i.e., pode ser ocupada por um objeto ou minhoca.

NB: Uma posição está livre se não contiver um terreno opaco.

ePosicaoEstadoLivre :: Posicao -> Estado -> Bool Source #

Verifica se uma posição do estado está livre, i.e., pode ser ocupada por um objeto ou minhoca.

NB: Uma posição está livre se o mapa estiver livre e se não estiver já uma minhoca ou um barril nessa posição.

minhocaTemDisparo :: TipoArma -> NumMinhoca -> [Objeto] -> Bool Source #

Verifica se numa lista de objetos já existe um disparo feito para uma dada arma por uma dada minhoca.

destroiPosicao :: Posicao -> Mapa -> Mapa Source #

Destrói uma dada posição no mapa (tipicamente como consequência de uma explosão).

NB: Só terrenos Terra pode ser destruídos.