RosettaCodeData/Task/Playing-cards/PARI-GP/playing-cards.pari
Ingy döt Net b83f433714 tasks a-s
2013-04-10 23:57:08 -07:00

20 lines
316 B
Text

name(n)=Str(["A",2,3,4,5,6,7,8,9,10,"J","Q","K"][(n+3)>>2],["h","d","s","c"][n%4+1]);
newdeck()={
v=vector(52,i,i);
};
deal()={
my(n=name(v[1]));
v=vecextract(v,2^#v-2);
n
};
printdeck(){
apply(name,v)
};
shuffle()={
forstep(n=#v,2,-1,
my(i=random(n)+1,t=v[i]);
v[i]=v[n];
v[n]=t
);
v
};