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
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.
|