{-|
Module      : Tarefa3
Description : Passagem do tempo.
Copyright   : ALUNO_1_NOME <ALUNO_1_NUMERO@alunos.uminho.pt>
              ALUNO_2_NOME <ALUNO_2_NUMERO@alunos.uminho.pt>

Módulo para a realização da Tarefa 3 de LI1\/LP1 em 2026\/27.
-}
module Tarefa3 where

import Labs2026

-- | Função principal da Tarefa 3. Avança o jogo um 'Ticks'.
avancaTempo :: Jogo -> Jogo
avancaTempo :: Jogo -> Jogo
avancaTempo Jogo
j
  | Jogo -> Bool
perdeuJogo Jogo
j = Jogo
j
  | Bool
otherwise = Jogo -> Jogo
gravidade (Jogo -> Jogo
avancaObjetos Jogo
j)

-- * Fim do jogo

{- | Se o jogo deve terminar ou não.
-}
perdeuJogo :: Jogo -> Bool
perdeuJogo :: Jogo -> Bool
perdeuJogo Jogo
j = Bool
forall a. HasCallStack => a
undefined

-- * Objetos

{-| Avança todos os objetos.
-}
avancaObjetos :: Jogo -> Jogo
avancaObjetos :: Jogo -> Jogo
avancaObjetos Jogo
j = Jogo
forall a. HasCallStack => a
undefined

-- * Gravidade

{-| A gravidade num 'Ticks'.
-}
gravidade :: Jogo -> Jogo
gravidade :: Jogo -> Jogo
gravidade Jogo
j = Jogo
forall a. HasCallStack => a
undefined