Copyright | Bárbara Dias de Sena 2020 |
---|---|
License | GPL-3 |
Maintainer | babi.dias.sena@hotmail.com |
Stability | experimental |
Portability | GHC |
Safe Haskell | None |
Main
Description
O intuito do projeto é fazer um jogo de Tetris em Haskell utilizando a biblioteca Gloss.
Synopsis
- listaPecas :: IO [Tetramino]
- mundoInicial :: [Tetramino] -> Mundo
- joga :: Event -> Mundo -> Mundo
- podeMover :: Mundo -> Direcao -> Bool
- move :: Direcao -> Peca -> Peca
- voltaLimite :: Coord -> Float
- moveFundo :: Mundo -> Peca
- atualizaMundo :: Float -> Mundo -> Mundo
- limpaFileira :: Mundo -> Mundo
- atualizaPont :: Int -> Int
- main :: IO ()
Documentation
listaPecas :: IO [Tetramino] Source #
Lista de Tetraminós gerada aleatóriamente.
mundoInicial :: [Tetramino] -> Mundo Source #
Mundo inicial do jogo que contém apenas a primeira peça.
joga :: Event -> Mundo -> Mundo Source #
Se possível, movimenta a peça de acordo com a tecla pressionada, atualizando os blocos do mundo e da peça ativa.
podeMover :: Mundo -> Direcao -> Bool Source #
Verifica se um movimento pode ser feito dado um mundo e uma direção.
move :: Direcao -> Peca -> Peca Source #
Move uma peça para uma direção dada, atualizando os blocos da mesma.
voltaLimite :: Coord -> Float Source #
Devolve por quanto que um bloco ultrapassou os limites da tela.
moveFundo :: Mundo -> Peca Source #
Movimenta a peça direto para o fundo da tela, movendo pra baixo recursivamente.
atualizaMundo :: Float -> Mundo -> Mundo Source #
Atualiza o mundo.
limpaFileira :: Mundo -> Mundo Source #
Limpa as fileiras completas do mundo recursivamente (de acordo com os blocos da peça), atualizando o número de fileiras completas.
atualizaPont :: Int -> Int Source #
Sistema de pontuação do jogo baseada na quantidade de fileiras completas de uma vez.