Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

@perl6
Created July 24, 2009 11:12
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save perl6/153993 to your computer and use it in GitHub Desktop.
Save perl6/153993 to your computer and use it in GitHub Desktop.
$ cat cards.pl
my @suits = < ♣ ♢ ♡ ♠ >;
my @ranks = 2..10, < J Q K A >;
# concatenate each rank with each suit (2♣ 2♢ 2♡ ... A♠)
my @deck = @ranks X~ @suits;
# build a hash of card names to point values
my %points = @deck Z @( (2..10, 10, 10, 10, 11) >>xx>> 4 );
# shuffle the deck
@deck .= pick(*);
# grab first five cards from the deck
my @hand = @deck.splice(0, 5);
# display my hand
say ~@hand;
# tell me how many points it's worth
say [+] %points{@hand};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment