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 LI1LP1 em 202526.

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.