1
Fork 0

changeCard functie toegevoegd

Simpele controle voor gelijkheid in coördinaat
This commit is contained in:
Tibo De Peuter 2022-10-13 13:44:51 +02:00
parent e81fe92deb
commit 84e3bf1a82

View file

@ -115,8 +115,8 @@ generateShuffledCards :: Int -> [Card]
-- TODO Dit moet nog verder uitgeklaard worden !!
-- TODO Hoe bepalen we de coördinaten van de kaarten?
generateShuffledCards n = map (\(x,y) -> (x,y,Hidden)) $ zip (zip [1..n] [1..n]) colors
where colors = shuffleList $ colors_once ++ colors_once
colors_once = generateColors (n `div` 2)
where colors = shuffleList $ colorsOnce ++ colorsOnce
colorsOnce = generateColors (n `div` 2)
-- Controleer of een positie op het spelbord een kaart bevat.
-- Om de kaarten van het huidige speelbord op te vragen, gebruik
@ -130,13 +130,18 @@ canMove :: Coordinate -> Direction -> Bool
canMove (w, h) (dw, dh) = hasCard $ (w + dw, h + dh)
-- Beweeg de selector in een gegeven richting.
-- TODO unfinished
move :: Board -> Direction -> Board
move board direction = undefined
move board (dw, dh)
| canMove (selector board) (dw, dh) = newBoard
-- where newBoard = (cards board, turned board, selector board) :: Board
where newBoard = initBoard
-- Verander de status van een kaart op een gegeven positie
-- wanneer de posities overeenkomen.
changeCard :: Coordinate -> CardStatus -> Card -> Card
changeCard c s card = undefined
changeCard c0 s0 (c1, color, s1)
| c0 == c1 = (c0, color, s0)
-- Verander de status van een enkele kaart in een reeks van
-- kaarten. Deze functie geeft een lijst terug waar de status