Skip to content

Instantly share code, notes, and snippets.

View thomwiggers's full-sized avatar

Thom Wiggers thomwiggers

View GitHub Profile
@thomwiggers
thomwiggers / Todo.md
Created August 6, 2012 21:56
Vakkentodo lijst en memos

Belangrijke dingen

  • Let op: In dit programma is de tweedejaarscursus IBK009 Opslaan en Terugvinden (6 ec) vervangen door de twee kwartaalcursussen IPK012 Betrouwbare opslag van gegevens, en IPK013 Efficiënte opslag van gegevens (beide 3 ec). Deze cursussen worden in 2012 éénmalig gegeven voor studenten in het tweede jaar van curriculum 2011 en het eerste jaar van curriculum 2012. Daarna vervallen deze cursussen, en dit jaar is dus de laatste mogelijkheid om deze af te ronden.
  • Berekenbaarheid voorkennis voor Complexiteit.
@thomwiggers
thomwiggers / Kwartaal 1.md
Created August 7, 2012 19:25
Boekenlijst IC en IK Jaar 2

Kwartaal 1

  • ICT Infrastructuren

    • Operating Systems: internals and design principles / William Stallings. 7th ed. Zelfde boek als processen
  • Schrijfvaardigheid / effectief schrijven (IC (kwartaalvak))

    • Journalistiek Schrijven voor het hoger onderwijs (2010), Henk Donkers, Selma Markhorst, Marij Smits, uitgeverij Coutinho. VERPLICHT
@thomwiggers
thomwiggers / doc.tex
Created September 27, 2012 16:21
XOR voor LaTeX
% prints the \oplus always in math mode
\newcommand*\xor{\ensuremath{\mathbin{\oplus}}\ }
%
% \xorequation{a}{b}{c}
% Produces:
% a
% b \xor
% ---
% c
{-
- Thom Wiggers
- s4119444
-
- Dit is een ietwat specifieke versie die
- voor 4x4 matrixes is gemaakt. Dit is redelijk makkelijk
- te veranderen, maar dan moet er een boel (length woordzoeker) bij
- en ik had daar geen zin meer in.
-}
horz :: AlignV -> [Text] -> Text
horz av ts = Text LeftH av 0 0 (foldr addList [] (equalizeLists [] mahlines))
where
mahlines = [["foo","bar"],["foo","bar"]] --map (lines . show) ts
maxLenList = maxLength mahlines
equalizeLists list [] = list
equalizeLists list (l:ls)
| length l == maxLenList = equalizeLists (list++l) ls
| av == TopV
= equalizeLists list ((l++[replicate (length (head l)) ' ']):ls)
addList :: [[a]] -> [[a]] -> [[a]]
addList left right
| length left == length right = addList' left right []
| otherwise = error "list lengths not equal"
where
addList' [] [] acc = acc
addList' [] _ _ = error "not equal len l < r"
addList' _ [] _ = error "not equal len l > r"
addList' (l:eft) (r:ight) acc = addList' eft ight (acc ++ [l++r])
horz :: AlignV -> [Text] -> Text
horz av ts = Text LeftH av 0 0 (unlines (foldr addList [] (equalizeLists [] mahlines)))
where
mahlines = map (lines . show) ts
maxLenList = maxLength mahlines
equalizeLists list [] = list
equalizeLists list (l:ls)
| length l == maxLenList = equalizeLists (list++l) ls
| av == TopV
= equalizeLists list ((l++[replicate (length (head l)) ' ']):ls)
----------------------
| |
| |
| |
| Hey |
| I just met you |
| And this is crazy |
| but Clean sucks |
| So haskell maybe |
| |
is_sorted :: Ord a => Tree a -> Bool
is_sorted Leaf = True
is_sorted (Node e left right)
-- de richting van <= en > is andersom, want prefixnotatie
= is_sorted' ((>=) e) left && is_sorted' ((<) e) right
where
is_sorted' :: Ord a => (a->Bool) -> Tree a -> Bool
is_sorted' _ Leaf = True
is_sorted' test (Node e left right)
| test e == False = False
--Nieuwe posities als we iemand kunnen slaan
slaanDownFrom :: Player -> Board -> (Int,Int) -> Bool -> [(Int,Int)]
slaanDownFrom player board (a,b) isdam =
[ (x,y) | (x,y) <- ([ (a+n,b-n) | n <- [2 .. 10], n > 2 == isdam] ++
[ (a+n,b-n) | n <- [2 .. 10], n > 2 == isdam]),
x > 0 && x < 10 && y > 0 && y < 10 && vrij (x,y)
&& enemybetween (a,b) (x,y)
]
where
enem = (\x -> isEnemy (getPiece board x) player)