elm/exercises/scrabble-score/ScrabbleScore.example

33 lines
745 B
Text
Raw Normal View History

2016-10-20 01:06:16 +00:00
module ScrabbleScore exposing (..)
import String exposing (contains, foldl, fromChar, toUpper)
addLetterScore : Char -> Int -> Int
addLetterScore s total =
let
c =
toUpper (fromChar s)
in
if contains c "AEIOULNRST" then
total + 1
else if contains c "DG" then
total + 2
else if contains c "BCMP" then
total + 3
else if contains c "FHVWY" then
total + 4
else if contains c "K" then
total + 5
else if contains c "JX" then
total + 8
else if contains c "QZ" then
total + 10
else
total
scoreWord : String -> Int
scoreWord x =
x |> foldl addLetterScore 0