Playing cards: Difference between revisions
Content added Content deleted
(→Perl 6: re-added ace and ten back in; no local Perl6 so can't test but SHOULD work) |
(Pari/GP) |
||
Line 1,134: | Line 1,134: | ||
deck.(j) <- temp |
deck.(j) <- temp |
||
done</lang> |
done</lang> |
||
=={{header|PARI/GP}}== |
|||
<lang>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 |
|||
};</lang> |
|||
=={{header|Perl}}== |
=={{header|Perl}}== |