city-office & high-score
This commit is contained in:
21
elixir/high-score/lib/high_score.ex
Normal file
21
elixir/high-score/lib/high_score.ex
Normal file
@@ -0,0 +1,21 @@
|
||||
defmodule HighScore do
|
||||
@default_score 0
|
||||
|
||||
def new(),
|
||||
do: %{}
|
||||
|
||||
def add_player(scores, name, score \\ @default_score),
|
||||
do: Map.put(scores, name, score)
|
||||
|
||||
def remove_player(scores, name),
|
||||
do: Map.delete(scores, name)
|
||||
|
||||
def reset_score(scores, name),
|
||||
do: Map.put(scores, name, @default_score)
|
||||
|
||||
def update_score(scores, name, score),
|
||||
do: Map.update(scores, name, score, &(&1 + score))
|
||||
|
||||
def get_players(scores),
|
||||
do: Map.keys(scores)
|
||||
end
|
||||
Reference in New Issue
Block a user