shuffling cards



I want to shuffle a deck of cards and then print out the top five cards.

#!/usr/bin/perl

@startingdeck = ("A H","2 H","3 H","4 H","5 H","6 H","7 H","8 H",
"9 H","10 H","J H","Q H","K H",
"A D","2 D","3 D","4 D","5 D","6 D","7 D","8 D",
"9 D","10 D","J D","Q D","K D",
"A C","2 C","3 C","4 C","5 C","6 C","7 C","8 C",
"9 C","10 C","J C","Q C","K C",
"A S","2 S","3 S","4 S","5 S","6 S","7 S","8 S",
"9 S","10 S","J S","Q S","K S");

for ($x=0;$x<100;$x++){

$shuffle1 = shift(@startingdeck);
$ahuffle2 = shift(@startingdeck);
$ahuffle3 = pop(@startingdeck);
$ahuffle4 = pop(@startingdeck);

push(@startingdeck,$shuffle1,$shuffle3,$shuffle2,$shuffle4);
print "@startingdeck\n";
}

I know I'm meant to use loops. Maybe "for loops". I still don't quite
understand the loops. I've read over the doc for loops several times. I want
to learn this, so please provide me with hints and tips as opposed to plain
solutions if possible please.

Thanks

Amichai

Relevant Pages

  • Re: shuffling cards
    ... (you're cheating in card games, ... shuffle. ... $ahuffle2 = shift; ...
    (perl.beginners)
  • Re: shuffling cards
    ... I dont understand why you dont like your solution? ... I just need the top five cards printed, even if the same each time. ... $shuffle1 = shift; ... $ahuffle2 = shift; ...
    (perl.beginners)
  • shuffling cards
    ... shuffle. ... use pop shift ans push. ... $ahuffle2 = shift; ...
    (perl.beginners)