changeCard functie toegevoegd
Simpele controle voor gelijkheid in coördinaat
This commit is contained in:
parent
e81fe92deb
commit
84e3bf1a82
1 changed files with 9 additions and 4 deletions
13
src/Main.hs
13
src/Main.hs
|
@ -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
|
||||
|
|
Reference in a new issue