diff --git a/src/Main.hs b/src/Main.hs index 9df3159..1817c23 100644 --- a/src/Main.hs +++ b/src/Main.hs @@ -159,7 +159,15 @@ hideCard target = map (changeCard target Hidden) -- Draai de kaart op een gegeven positie op het bord om -- als deze nog niet eerder werd omgedraaid. flipCard :: Coordinate -> Board -> Board -flipCard target board = undefined +-- flipCard target board = board{turned (1,1),generateColor 1.1,Hidden):[]} +flipCard target board + -- TODO Maak deze lamdba mooier. + | target `elem` (map (\(a,_,_) -> a) (turned board)) = board -- Controleer al omgedraaid? + | otherwise = board { + cards = showCard target $ cards board -- Toon de kaart in de lijst van kaarten. + , turned = flipped ++ turned board -- Voeg toe aan 'omgedraaide kaarten'. + } + where flipped = filter (\(a,_,_) -> a == target) $ cards board -- Reset de laatste omgedraaide kaarten terug naar de `Hidden` status. resetTurned :: Board -> Board