From 5a9cdd3cc89507d4d74f8bded56ce5e037b3b56e Mon Sep 17 00:00:00 2001 From: Trygve Laugstøl Date: Fri, 23 Feb 2024 07:08:18 +0100 Subject: wip --- learn-you-some-erlang/curling_scoreboard.erl | 32 ++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 learn-you-some-erlang/curling_scoreboard.erl (limited to 'learn-you-some-erlang/curling_scoreboard.erl') diff --git a/learn-you-some-erlang/curling_scoreboard.erl b/learn-you-some-erlang/curling_scoreboard.erl new file mode 100644 index 0000000..34ff48d --- /dev/null +++ b/learn-you-some-erlang/curling_scoreboard.erl @@ -0,0 +1,32 @@ +-module(curling_scoreboard). +-behaviour(gen_event). + +-export([init/1, handle_event/2, handle_call/2, handle_info/2, code_change/3, + terminate/2]). + +init([]) -> + {ok, []}. + +handle_event({set_teams, TeamA, TeamB}, State) -> + curling_scoreboard_hw:set_teams(TeamA, TeamB), + {ok, State}; +handle_event({add_points, Team, N}, State) -> + [curling_scoreboard_hw:add_point(Team) || _ <- lists:seq(1,N)], + {ok, State}; +handle_event(next_round, State) -> + curling_scoreboard_hw:next_round(), + {ok, State}; +handle_event(_, State) -> + {ok, State}. + +handle_call(_, State) -> + {ok, ok, State}. + +handle_info(_, State) -> + {ok, State}. + +code_change(_OldVsn, State, _Extra) -> + {ok, State}. + +terminate(_Reason, _State) -> + ok. -- cgit v1.2.3