From e00825882db5fd9aa1e9ded90f0b828079ca2d71 Mon Sep 17 00:00:00 2001 From: Joscha Date: Sun, 8 Apr 2018 08:26:18 +0000 Subject: [PATCH] Graph with finer resolution --- app/Main.hs | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/app/Main.hs b/app/Main.hs index 497f2c8..abfafee 100644 --- a/app/Main.hs +++ b/app/Main.hs @@ -136,11 +136,22 @@ count f = length . filter f . map snd . toCards countTier :: Elements -> Tier -> Int countTier e t = count (\card -> tier card == t) e +blockChar :: Int -> Char +blockChar 0 = ' ' +blockChar 1 = '▏' +blockChar 2 = '▎' +blockChar 3 = '▍' +blockChar 4 = '▌' +blockChar 5 = '▋' +blockChar 6 = '▊' +blockChar 7 = '▉' +blockChar _ = '█' + printBar :: Int -> Int -> String printBar maxInt int = - let l = (30 * int) `div` maxInt - s = replicate l '█' - in rjust ' ' 30 s + let length = (8 * 30 * int) `div` maxInt + lengths = iterate (max 0 . subtract 8) length + in map blockChar $ take 30 $ lengths printLine :: Int -> String -> Int -> String printLine maxAmount name amount =