From 84e3bf1a82c1360403acd8d6c0f20579a97656f6 Mon Sep 17 00:00:00 2001 From: Tibo De Peuter Date: Thu, 13 Oct 2022 13:44:51 +0200 Subject: [PATCH] changeCard functie toegevoegd MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Simpele controle voor gelijkheid in coördinaat --- src/Main.hs | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/Main.hs b/src/Main.hs index 923d4ba..8ffaa2e 100644 --- a/src/Main.hs +++ b/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