From 4710e5ac30c44ca8b48a0b2b60ea74b1573b084b Mon Sep 17 00:00:00 2001 From: Joris Date: Sun, 15 Nov 2015 19:20:42 +0100 Subject: Add levels which only change the board color every 20 points --- src/Model/Color.elm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 src/Model/Color.elm (limited to 'src/Model/Color.elm') diff --git a/src/Model/Color.elm b/src/Model/Color.elm new file mode 100644 index 0000000..8452efa --- /dev/null +++ b/src/Model/Color.elm @@ -0,0 +1,22 @@ +module Model.Color + ( Color + , htmlOutput + , mergeColors + ) where + +type alias Color = + { red : Int + , green : Int + , blue : Int + } + +htmlOutput : Color -> String +htmlOutput color = "rgb(" ++ (toString color.red) ++ ", " ++ (toString color.green) ++ ", " ++ (toString color.blue) ++ ")" + +mergeColors : Float -> Color -> Color -> Color +mergeColors ratio c1 c2 = + let mergePart x y = truncate (ratio * (toFloat x) + (1 - ratio) * (toFloat y)) + in { red = mergePart c1.red c2.red + , green = mergePart c1.green c2.green + , blue = mergePart c1.blue c2.blue + } -- cgit v1.2.3