aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorSean Whitton <spwhitton@spwhitton.name>2015-03-17 23:58:56 +0000
committerSean Whitton <spwhitton@spwhitton.name>2015-03-17 23:58:56 +0000
commit6e628c7113305768fe8901475208dee91eb2ee24 (patch)
tree31492fc8857bd343d4275820e9585c0b728722cc
parent8c6ee0a9d6e8034263ab41a4d65b6a060bd64dc6 (diff)
downloadsariulclocks-6e628c7113305768fe8901475208dee91eb2ee24.tar.gz
first try at updateScore function
-rw-r--r--src/Data/Classes.hs8
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