On Wed, 2008-09-03 at 12:51 -0700, Raul Ruiz Jr. wrote:
> I created a card shuffling program and it works fine. However, for my project
> I am to place the shuffling part of my code in a separate script as a
> subroutine.
>
> I am to remove the code
> that does the shuffling and include it as another function in
> obj13-lib.pl. So I did this and after the first "hand" is dealt, call the
> shuffling function again before dealing another, different hand.
>
>
>
>
> I call it obj-lib.pl and my main script obj13.pl.
>
> I did put it together but my obj13.pl script is not shuffling my cards and I
> need to print out two sets of five elements. And I was not able to get it to
> print out 2 sets of five elements.
>
> Where am I going wrong? Looking for some help and a point in the right
> direction. Thanks everyone.
>
> Below is my code:
> obj13.pl
>
> #!/usr/bin/perl
>
> require 'obj13-lib.pl';
>
> my @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");
# 'my' makes the variable lexically-scoped to the file.
# Use 'our' instead:
our @startingdeck = ...
>
>
> print "the top five cards are @startingdeck[0..4]\n";
# Call your subroutine before the print.
>
> #_END_
> _________________________________________________________________________
> My second library script code here is called on to complete my shuffle
> program:
>
> obj13-lib.pl
>
> #!/usr/bin/perl
>
> sub shuffle(){
>
> my @right;
> my @left;
> SHUFFLE:
> unshift @left, pop @startingdeck for 1..26;
> @right = @startingdeck;
> @startingdeck = ();
> while(@left or @right){
> if (rand() < 0.5){
> @left and push @startingdeck, shift @left
> }else{
> @right and push @startingdeck, shift @right
> }
> };
>
> rand() < 0.9 and goto SHUFFLE;
> }
>
> 1;
>
> #_END_
--
Just my 0.00000002 million dollars worth,
Shawn
"Where there's duct tape, there's hope."
Cross Time Cafe
"Perl is the duct tape of the Internet."
Hassan Schroeder, Sun's first webmaster
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
http://learn.perl.org/