Aula nº 13

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]).
OC 98-99 (Exercícios Práticos)

 

Índice

Última actualização: 18 Abr 2005

OC 98-99 (Exercícios Práticos)