diff --git a/src/Main.hs b/src/Main.hs index 6d34f16..64a5a65 100644 --- a/src/Main.hs +++ b/src/Main.hs @@ -6,6 +6,12 @@ import System.Random.Shuffle (shuffle') 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. type Direction = (Int, Int) @@ -180,35 +186,44 @@ resetTurned board -- Bereken het volgende bord op basis van de omgedraaide kaarten. -- Hint: We hebben de drie gevallen voor deze functie al voorzien. +-- TODO Klopt deze functionaliteit? nextBoard :: Board -> Board -nextBoard b@Board{ turned = [] } = undefined -nextBoard b@Board{ turned = [c1] } = undefined -nextBoard b@Board{ turned = [c1, c2] } = undefined +nextBoard b@Board{ turned = [] } = flipCard (selector b) b +nextBoard b@Board{ turned = [c1] } = flipCard (selector b) b +nextBoard b@Board{ turned = [c1, c2] } = resetTurned b -- Zet een positie op het bord om naar een positie op het scherm. -- Hint: hou zeker rekening met het coordinatensysteem van Gloss. +-- TODO unfinished convert :: Int -> Int -> Float -convert location axis = undefined +convert location axis = fromIntegral location -- Render een vierkant met een gegeven kleur en grootte. +-- TODO Klopt deze functionaliteit? renderColoredSquare :: Int -> Color -> Picture -renderColoredSquare size c = undefined +renderColoredSquare size c = color c $ rectangleSolid s s + where s = fromIntegral size -- Render de selector. +-- TODO unfinished renderSelector :: Coordinate -> Picture renderSelector coord = undefined -- Render een kaart. +-- TODO Klopt deze functionaliteit? renderCard :: Card -> Picture -renderCard card = undefined +renderCard card = renderColoredSquare scaling color + where color = (\(_,c,_) -> c) card -- Render alle kaarten. +-- TODO Klopt deze functionaliteit? renderCards :: [Card] -> Picture -renderCards = undefined +renderCards = renderCard . head -- Render het speelveld. +-- TODO Klopt deze functionaliteit? render :: Board -> Picture -render board = undefined +render board = rectangleSolid 300.0 150.0 -- Hulpfunctie die nagaat of een bepaalde toets is ingedrukt. isKey :: SpecialKey -> Event -> Bool @@ -217,8 +232,9 @@ isKey _ _ = False -- Handel alle toetsaanslagen af. -- Hint: Je kan gebruikmaken van de isKey hulpfunctie. +-- TODO Klopt deze functionaliteit? handleInput :: Event -> Board -> Board -handleInput ev board = undefined +handleInput ev board = board -- Startpunt main :: IO ()