hasCard functie toegevoegd
Geïmplementeerd __zonder__ try/catch of andere vage gevallen
This commit is contained in:
parent
91a1efaa66
commit
7bdf511b8f
1 changed files with 9 additions and 5 deletions
14
src/Main.hs
Normal file → Executable file
14
src/Main.hs
Normal file → Executable file
|
@ -86,8 +86,8 @@ initBoard = Board {
|
||||||
left, right, up, down :: Direction
|
left, right, up, down :: Direction
|
||||||
left = ((-1), 0 )
|
left = ((-1), 0 )
|
||||||
right = ( 1 , 0 )
|
right = ( 1 , 0 )
|
||||||
up = ( 0 ,(-1))
|
up = ( 0 , 1 )
|
||||||
down = ( 0 , 1 )
|
down = ( 0 ,(-1))
|
||||||
|
|
||||||
-- Controleer of twee kaarten dezelfde kleur hebben.
|
-- Controleer of twee kaarten dezelfde kleur hebben.
|
||||||
match :: Card -> Card -> Bool
|
match :: Card -> Card -> Bool
|
||||||
|
@ -98,7 +98,6 @@ match (_, c1, _) (_, c2, _) = c1 == c2
|
||||||
-- een error teruggegeven.
|
-- een error teruggegeven.
|
||||||
find :: Coordinate -> [Card] -> Card
|
find :: Coordinate -> [Card] -> Card
|
||||||
find c0 cards = head $ filter (\(c1,_,_) -> c1 == c0) cards
|
find c0 cards = head $ filter (\(c1,_,_) -> c1 == c0) cards
|
||||||
-- TODO Kan dit properder geschreven worden?
|
|
||||||
|
|
||||||
-- Geef een permutatie van een gegeven lijst terug.
|
-- Geef een permutatie van een gegeven lijst terug.
|
||||||
-- Hint: Kijk zeker eens naar de System.Random en
|
-- 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).
|
-- Genereer een lijst van n kaarten (n/2 kleurenparen).
|
||||||
generateShuffledCards :: Int -> [Card]
|
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.
|
-- 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 :: Coordinate -> Bool
|
||||||
hasCard (x, y) = undefined
|
hasCard c0 = any (\(c1,_,_) -> c1 == c0) $ cards initBoard
|
||||||
|
|
||||||
-- Controleer of de selector vanaf een gegeven locatie in een
|
-- Controleer of de selector vanaf een gegeven locatie in een
|
||||||
-- gegeven richting kan bewegen.
|
-- gegeven richting kan bewegen.
|
||||||
|
|
Reference in a new issue