[Kc] Shuffling a deck of cards...

Emmanuel Mejias emmanuel.mejias at gmail.com
Wed Apr 2 16:24:03 PDT 2008


okay...tweaked s'more...couldn't get it to print out 5, so let's hope he's
okay with six.

#!/usr/bin/perl -w

@mydeck = ("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");
@top5 = ();
my $x = 0;
while ($x <= 2){
  push (@top5, shift(@mydeck));
  push (@top5, pop(@mydeck));
  $x++;
}
foreach $card (@top5){
  print "$card\n";
}



On Wed, Apr 2, 2008 at 3:14 PM, Emmanuel Mejias <emmanuel.mejias at gmail.com>
wrote:

> I made the following changes....
>
> On Wed, Apr 2, 2008 at 3:10 PM, Emmanuel Mejias <emmanuel.mejias at gmail.com>
> wrote:
>
> > My instructor has asked me to use the pop, shift, and push functions to
> > write a script that sufficiently "shuffles" a simulated deck of cards before
> > printing the top five cards. I haven't quite got it down, but I was
> > wondering, did I need to add the highlighted line in my code or something
> > along those lines to indicate $element = pop (@deck) or is that what
> > I'm using "push" for? Now it does pop A H to the bottom of the deck. So what
> > exactly is it that I'm doing wrong?
> >
> > #!/usr/bin/perl -w
> > @deck = ("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");
> > foreach my $card (@deck){
> >
>       chomp (@mydeck);
>        push (@mydeck, pop(@mydeck));
>        push (@mydeck, shift(@mydeck));
>        print "Cards: $card\n"
> }
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.pm.org/pipermail/kc/attachments/20080402/7e00465e/attachment.html 


More information about the kc mailing list