From 7bdf511b8f53535def8aa7743249c7028917836f Mon Sep 17 00:00:00 2001 From: Tibo De Peuter Date: Wed, 12 Oct 2022 22:33:59 +0200 Subject: [PATCH] hasCard functie toegevoegd MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Geïmplementeerd __zonder__ try/catch of andere vage gevallen --- src/Main.hs | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) mode change 100644 => 100755 src/Main.hs diff --git a/src/Main.hs b/src/Main.hs old mode 100644 new mode 100755 index 9c85883..5c7c2a0 --- a/src/Main.hs +++ b/src/Main.hs @@ -86,8 +86,8 @@ initBoard = Board { left, right, up, down :: Direction left = ((-1), 0 ) right = ( 1 , 0 ) -up = ( 0 ,(-1)) -down = ( 0 , 1 ) +up = ( 0 , 1 ) +down = ( 0 ,(-1)) -- Controleer of twee kaarten dezelfde kleur hebben. match :: Card -> Card -> Bool @@ -98,7 +98,6 @@ match (_, c1, _) (_, c2, _) = c1 == c2 -- een error teruggegeven. find :: Coordinate -> [Card] -> Card find c0 cards = head $ filter (\(c1,_,_) -> c1 == c0) cards --- TODO Kan dit properder geschreven worden? -- Geef een permutatie van een gegeven lijst terug. -- Hint: Kijk zeker eens naar de System.Random en @@ -113,11 +112,16 @@ generateColors n = map (generateColor . fromIntegral . (360 `div` n *)) [1..n] -- Genereer een lijst van n kaarten (n/2 kleurenparen). generateShuffledCards :: Int -> [Card] -generateShuffledCards n = undefined +-- 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) -- Controleer of een positie op het spelbord een kaart bevat. +-- Om de kaarten van het huidige speelbord op te vragen, gebruik 'cards initBoard' hasCard :: Coordinate -> Bool -hasCard (x, y) = undefined +hasCard c0 = any (\(c1,_,_) -> c1 == c0) $ cards initBoard -- Controleer of de selector vanaf een gegeven locatie in een -- gegeven richting kan bewegen.