Skip to content

Instantly share code, notes, and snippets.

@mbuhot
Forked from hackling/scrabble.ex
Last active May 31, 2017 01:45
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mbuhot/e2f8a62c2f592e9427f25c0a00f1d845 to your computer and use it in GitHub Desktop.
Save mbuhot/e2f8a62c2f592e9427f25c0a00f1d845 to your computer and use it in GitHub Desktop.
defmodule Scrabble do
def score("", n), do: n
def score("A" <> rest, n), do: score(rest, n + 1)
def score("B" <> rest, n), do: score(rest, n + 3)
def score("C" <> rest, n), do: score(rest, n + 3)
def score("D" <> rest, n), do: score(rest, n + 2)
def score("E" <> rest, n), do: score(rest, n + 1)
def score("F" <> rest, n), do: score(rest, n + 4)
def score("G" <> rest, n), do: score(rest, n + 2)
def score("H" <> rest, n), do: score(rest, n + 4)
def score("I" <> rest, n), do: score(rest, n + 1)
def score("J" <> rest, n), do: score(rest, n + 8)
def score("K" <> rest, n), do: score(rest, n + 5)
def score("L" <> rest, n), do: score(rest, n + 1)
def score("M" <> rest, n), do: score(rest, n + 3)
def score("N" <> rest, n), do: score(rest, n + 1)
def score("O" <> rest, n), do: score(rest, n + 1)
def score("P" <> rest, n), do: score(rest, n + 3)
def score("Q" <> rest, n), do: score(rest, n + 10)
def score("R" <> rest, n), do: score(rest, n + 1)
def score("S" <> rest, n), do: score(rest, n + 1)
def score("T" <> rest, n), do: score(rest, n + 1)
def score("U" <> rest, n), do: score(rest, n + 1)
def score("V" <> rest, n), do: score(rest, n + 4)
def score("W" <> rest, n), do: score(rest, n + 4)
def score("X" <> rest, n), do: score(rest, n + 8)
def score("Y" <> rest, n), do: score(rest, n + 4)
def score("Z" <> rest, n), do: score(rest, n + 10)
def score(word) when is_binary(word) do
word
|> String.upcase
|> score(0)
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment