Usando o código seguinte, desenvolva um módulo Erlang que implemente o jogo de cartas sete e meio.
-module(cartas).
-export([baralho/0,baralhado/0,init/0]).
conjunto()->[2,3,4,5,6,7,8,9,10,valete,dama,rei,as].
naipes()->[copas,ouros,paus,espadas].
baralho()->baralho(conjunto(),naipes(),[]).
baralho([],Naipes,L)->L;
baralho([H|T],Naipes,L)->baralho(T,Naipes,cartas(H,Naipes) ++ L).
cartas(Valor,L)->cartas(Valor,L,[]).
cartas(Valor,[],L)->L;
cartas(Valor,[H|T],L)->cartas(Valor,T,[{Valor,H}|L]).
init()->random:seed().
baralhado()->baralhar(baralho(),[]).
baralhar([],L)->L;
baralhar(L,B)->C=lists:nth(random:uniform(length(L)),L),
baralhar( lists:delete(C,L),[C|B]).
Última actualização: 18 Abr 2005