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')
|
||||
|
||||
-- ******************************************************************
|
||||
-- * 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 ()
|
||||
|
|
Reference in a new issue