diff options
author | Sean Whitton <spwhitton@spwhitton.name> | 2015-03-17 23:58:56 +0000 |
---|---|---|
committer | Sean Whitton <spwhitton@spwhitton.name> | 2015-03-17 23:58:56 +0000 |
commit | 6e628c7113305768fe8901475208dee91eb2ee24 (patch) | |
tree | 31492fc8857bd343d4275820e9585c0b728722cc /src | |
parent | 8c6ee0a9d6e8034263ab41a4d65b6a060bd64dc6 (diff) | |
download | sariulclocks-6e628c7113305768fe8901475208dee91eb2ee24.tar.gz |
first try at updateScore function
Diffstat (limited to 'src')
-rw-r--r-- | src/Data/Classes.hs | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/Data/Classes.hs b/src/Data/Classes.hs index b7386d6..fa6bfec 100644 --- a/src/Data/Classes.hs +++ b/src/Data/Classes.hs @@ -33,3 +33,11 @@ lookupSariulClass grade theClass = do case classes of [] -> Nothing (x:xs) -> Just x + +-- TODO: make this take into account modified + +updateScore :: ScoresList -> Class -> Int -> Int -> ScoresList +updateScore [] _ _ _ = [] +updateScore (s@(aClass, Score x y):ss) c p t + | c == aClass = (c, Score (x + p) (y + t)):ss + | otherwise = s:updateScore ss c p t |