Skip to content

Instantly share code, notes, and snippets.

@coproduto
Last active April 16, 2024 20:48
Show Gist options
  • Save coproduto/4500ef5d5208959c92cbf659450d10fc to your computer and use it in GitHub Desktop.
Save coproduto/4500ef5d5208959c92cbf659450d10fc to your computer and use it in GitHub Desktop.
-- Notar que Haskell não usa parênteses pra chamar funções, então `f a b` seria `f(a, b)` em
-- outras linguagens
-- suponhamos um joguinho estilo space invaders
-- aí em cada frame você verifica se uma bala tá colidindo com algum inimigo
-- e se tiver colisões isso causa atualizações específicas do estado
evalFrame gameState =
case getBulletCollisions gameState of
[] -> continueEvalFrame gameState -- lista vazia, nenhuma colisão, só executamos outros updates
collisions ->
-- na linha abaixo a gente atualizaria o estado com os efeitos das colisões
let collisionState = updateWithCollisions collisions gameState
in continueEvalFrame collisionState
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment