You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

22 lines
576 B

-module(tictactoe).
-export([winner/1]).
is_full(Board) ->
lists:all(fun (A) -> A == x orelse A == o end,
tuple_to_list(Board)).
winner({A, A, A, _, _, _, _, _, _}) -> A;
winner({_, _, _, A, A, A, _, _, _}) -> A;
winner({_, _, _, _, _, _, A, A, A}) -> A;
winner({A, _, _, A, _, _, A, _, _}) -> A;
winner({_, A, _, _, A, _, _, A, _}) -> A;
winner({_, _, A, _, _, A, _, _, A}) -> A;
winner({A, _, _, _, A, _, _, _, A}) -> A;
winner({_, _, A, _, A, _, A, _, _}) -> A;
winner(Board) ->
case is_full(Board) of
true -> cat;
false -> no_winner
end.