1
Fork 0

Maak uitvoerbaar

This commit is contained in:
Tibo De Peuter 2022-10-15 19:28:27 +02:00
parent ac3bdede4e
commit 198a716565

View file

@ -6,6 +6,12 @@ import System.Random.Shuffle (shuffle')
import Data.Fixed (mod') import Data.Fixed (mod')
-- ******************************************************************
-- * Opmerkingen: *
-- * Ik heb bij sommige functies de argumenten aangepast zodat ik *
-- * aan pattern matching zou kunnen doen. *
-- ******************************************************************
-- Geeft de richting van een zet aan. -- Geeft de richting van een zet aan.
type Direction = (Int, Int) type Direction = (Int, Int)
@ -180,35 +186,44 @@ resetTurned board
-- Bereken het volgende bord op basis van de omgedraaide kaarten. -- Bereken het volgende bord op basis van de omgedraaide kaarten.
-- Hint: We hebben de drie gevallen voor deze functie al voorzien. -- Hint: We hebben de drie gevallen voor deze functie al voorzien.
-- TODO Klopt deze functionaliteit?
nextBoard :: Board -> Board nextBoard :: Board -> Board
nextBoard b@Board{ turned = [] } = undefined nextBoard b@Board{ turned = [] } = flipCard (selector b) b
nextBoard b@Board{ turned = [c1] } = undefined nextBoard b@Board{ turned = [c1] } = flipCard (selector b) b
nextBoard b@Board{ turned = [c1, c2] } = undefined nextBoard b@Board{ turned = [c1, c2] } = resetTurned b
-- Zet een positie op het bord om naar een positie op het scherm. -- Zet een positie op het bord om naar een positie op het scherm.
-- Hint: hou zeker rekening met het coordinatensysteem van Gloss. -- Hint: hou zeker rekening met het coordinatensysteem van Gloss.
-- TODO unfinished
convert :: Int -> Int -> Float convert :: Int -> Int -> Float
convert location axis = undefined convert location axis = fromIntegral location
-- Render een vierkant met een gegeven kleur en grootte. -- Render een vierkant met een gegeven kleur en grootte.
-- TODO Klopt deze functionaliteit?
renderColoredSquare :: Int -> Color -> Picture renderColoredSquare :: Int -> Color -> Picture
renderColoredSquare size c = undefined renderColoredSquare size c = color c $ rectangleSolid s s
where s = fromIntegral size
-- Render de selector. -- Render de selector.
-- TODO unfinished
renderSelector :: Coordinate -> Picture renderSelector :: Coordinate -> Picture
renderSelector coord = undefined renderSelector coord = undefined
-- Render een kaart. -- Render een kaart.
-- TODO Klopt deze functionaliteit?
renderCard :: Card -> Picture renderCard :: Card -> Picture
renderCard card = undefined renderCard card = renderColoredSquare scaling color
where color = (\(_,c,_) -> c) card
-- Render alle kaarten. -- Render alle kaarten.
-- TODO Klopt deze functionaliteit?
renderCards :: [Card] -> Picture renderCards :: [Card] -> Picture
renderCards = undefined renderCards = renderCard . head
-- Render het speelveld. -- Render het speelveld.
-- TODO Klopt deze functionaliteit?
render :: Board -> Picture render :: Board -> Picture
render board = undefined render board = rectangleSolid 300.0 150.0
-- Hulpfunctie die nagaat of een bepaalde toets is ingedrukt. -- Hulpfunctie die nagaat of een bepaalde toets is ingedrukt.
isKey :: SpecialKey -> Event -> Bool isKey :: SpecialKey -> Event -> Bool
@ -217,8 +232,9 @@ isKey _ _ = False
-- Handel alle toetsaanslagen af. -- Handel alle toetsaanslagen af.
-- Hint: Je kan gebruikmaken van de isKey hulpfunctie. -- Hint: Je kan gebruikmaken van de isKey hulpfunctie.
-- TODO Klopt deze functionaliteit?
handleInput :: Event -> Board -> Board handleInput :: Event -> Board -> Board
handleInput ev board = undefined handleInput ev board = board
-- Startpunt -- Startpunt
main :: IO () main :: IO ()