l1nuxxx
asked on
Perl Card Shuffle - Calling up a library file
I have created a card shuffling script in perl. It shuffles up the deck and prints the top 5 cards. Now I'm being asked to remove the code that does the shuffling and include it as another function of a library file I've already create "obj13-lib.pl". Here's what should take place. After the first "hand" is dealt, call the shuffling function again before dealing another, different hand.
Here's the code for my card shuffling program.
#!/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 my $x(0..99){
my@shuffle=(
shift(@startingdeck),
pop(@startingdeck),
shift(@startingdeck),
pop(@startingdeck),
shift(@startingdeck),
pop(@startingdeck),
shift(@startingdeck),
pop(@startingdeck),
);
push@startingdeck, @shuffle;
}
print"@startingdeck [0..4]\n";
Here's the code for my card shuffling program.
#!/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 my $x(0..99){
my@shuffle=(
shift(@startingdeck),
pop(@startingdeck),
shift(@startingdeck),
pop(@startingdeck),
shift(@startingdeck),
pop(@startingdeck),
shift(@startingdeck),
pop(@startingdeck),
);
push@startingdeck, @shuffle;
}
print"@startingdeck [0..4]\n";
ASKER
I understand....
what I have done so far is I removed
for my $x(0..99){
my@shuffle=(
shift(@startingdeck),
pop(@startingdeck),
shift(@startingdeck),
pop(@startingdeck),
shift(@startingdeck),
pop(@startingdeck),
shift(@startingdeck),
pop(@startingdeck),
);
push@startingdeck, @shuffle;
}
print"@startingdeck [0..4]\n";
from the card shuffling program.
I added the code above to a file called "obj13-lib.pl. My card shuffling program is named obj13-1.pl. I added to line "require obj13-lib.pl" to the obj13-1.pl file. When I type ./obj13-1.pl all if prints our is the first five cards. It does not shuffle.
what I have done so far is I removed
for my $x(0..99){
my@shuffle=(
shift(@startingdeck),
pop(@startingdeck),
shift(@startingdeck),
pop(@startingdeck),
shift(@startingdeck),
pop(@startingdeck),
shift(@startingdeck),
pop(@startingdeck),
);
push@startingdeck, @shuffle;
}
print"@startingdeck [0..4]\n";
from the card shuffling program.
I added the code above to a file called "obj13-lib.pl. My card shuffling program is named obj13-1.pl. I added to line "require obj13-lib.pl" to the obj13-1.pl file. When I type ./obj13-1.pl all if prints our is the first five cards. It does not shuffle.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
This page might be helpful:
http://perldoc.perl.org/perlsub.html