Safe Haskell | None |
---|---|
Language | GHC2021 |
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
- encontraQuantidadeArmaMinhoca :: TipoArma -> Minhoca -> Int
- atualizaQuantidadeArmaMinhoca :: TipoArma -> Minhoca -> Int -> Minhoca
- eTerrenoDestrutivel :: Terreno -> Bool
- eTerrenoOpaco :: Terreno -> Bool
- ePosicaoMapaLivre :: Posicao -> Mapa -> Bool
- ePosicaoEstadoLivre :: Posicao -> Estado -> Bool
- minhocaTemDisparo :: TipoArma -> NumMinhoca -> [Objeto] -> Bool
- destroiPosicao :: Posicao -> Mapa -> Mapa
- adicionaObjeto :: Objeto -> Estado -> Estado
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.