worms
Safe HaskellNone
LanguageGHC2021

Labs2025

Description

Módulo com os tipos de dados que vão ser utilizados para modelar as tarefas do trabalho prático de LI1/LP1 em 2025/26.

Synopsis

Documentation

data Estado Source #

Estado do jogo.

Constructors

Estado 

Fields

  • mapaEstado :: Mapa

    O mapa atual.

  • objetosEstado :: [Objeto]

    Uma lista com os objetos presentes no mapa. Para as funções que vai desenvolver, deve considerar que a ordem dos elementos é irrelevante.

  • minhocasEstado :: [Minhoca]

    Uma lista com as minhocas no jogo. A ordem dos elementos é relevante, no sentido cada minhoca vai ser identificada pelo seu índice na lista.

Instances

Instances details
Read Estado Source # 
Instance details

Defined in Labs2025

Show Estado Source # 
Instance details

Defined in Labs2025

Eq Estado Source # 
Instance details

Defined in Labs2025

Methods

(==) :: Estado -> Estado -> Bool #

(/=) :: Estado -> Estado -> Bool #

Ord Estado Source # 
Instance details

Defined in Labs2025

data Jogada Source #

Uma jogada que uma minhoca pode efetuar.

Constructors

Dispara TipoArma Direcao

Disparar uma arma numa dada direção.

Move Direcao

Mover-se numa dada direção.

Instances

Instances details
Read Jogada Source # 
Instance details

Defined in Labs2025

Show Jogada Source # 
Instance details

Defined in Labs2025

Eq Jogada Source # 
Instance details

Defined in Labs2025

Methods

(==) :: Jogada -> Jogada -> Bool #

(/=) :: Jogada -> Jogada -> Bool #

Ord Jogada Source # 
Instance details

Defined in Labs2025

type Mapa = Matriz Terreno Source #

O mapa do jogo é uma matriz de terrenos.

data Minhoca Source #

O estado completo de uma minhoca.

Constructors

Minhoca 

Fields

Instances

Instances details
Read Minhoca Source # 
Instance details

Defined in Labs2025

Show Minhoca Source # 
Instance details

Defined in Labs2025

Eq Minhoca Source # 
Instance details

Defined in Labs2025

Methods

(==) :: Minhoca -> Minhoca -> Bool #

(/=) :: Minhoca -> Minhoca -> Bool #

Ord Minhoca Source # 
Instance details

Defined in Labs2025

type NumMinhoca = Int Source #

O índice de uma minhoca na lista de minhocas.

type NumObjeto = Int Source #

O índice de um objeto na lista de objetos.

data Objeto Source #

Um objeto colocado no mapa.

Constructors

Disparo

Um disparo de uma arma.

Fields

Barril

Um barril de pólvora.

Fields

Instances

Instances details
Read Objeto Source # 
Instance details

Defined in Labs2025

Show Objeto Source # 
Instance details

Defined in Labs2025

Eq Objeto Source # 
Instance details

Defined in Labs2025

Methods

(==) :: Objeto -> Objeto -> Bool #

(/=) :: Objeto -> Objeto -> Bool #

Ord Objeto Source # 
Instance details

Defined in Labs2025

data Terreno Source #

Um tipo de terreno do mapa.

Constructors

Ar

Terreno vazio.

Agua

Terreno que afoga minhocas.

Terra

Terreno opaco e destrutivel.

Pedra

Terreno opaco e indestrutivel.

Instances

Instances details
Enum Terreno Source # 
Instance details

Defined in Labs2025

Read Terreno Source # 
Instance details

Defined in Labs2025

Show Terreno Source # 
Instance details

Defined in Labs2025

Eq Terreno Source # 
Instance details

Defined in Labs2025

Methods

(==) :: Terreno -> Terreno -> Bool #

(/=) :: Terreno -> Terreno -> Bool #

Ord Terreno Source # 
Instance details

Defined in Labs2025

type Ticks = Int Source #

Um tick é a unidade de tempo do jogo.

data TipoArma Source #

Os diversos tipos de arma disponíveis para uma minhoca.

Instances

Instances details
Enum TipoArma Source # 
Instance details

Defined in Labs2025

Read TipoArma Source # 
Instance details

Defined in Labs2025

Show TipoArma Source # 
Instance details

Defined in Labs2025

Eq TipoArma Source # 
Instance details

Defined in Labs2025

Ord TipoArma Source # 
Instance details

Defined in Labs2025

data VidaMinhoca Source #

O estado de saúde de uma minhoca.

Constructors

Viva Int

Está viva com um número inteiros de pontos de vida.

Morta

Está morta.