Maak uitvoerbaar
This commit is contained in:
parent
ac3bdede4e
commit
198a716565
1 changed files with 25 additions and 9 deletions
34
src/Main.hs
34
src/Main.hs
|
@ -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 ()
|
||||||
|
|
Reference in a new issue