Shuffling 'cards' using perl.


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Shuffling 'cards' using perl.
# 1  
Old 08-19-2009
Shuffling 'cards' using perl.

I would be very grateful if someone could help me with this; using pop, shift, push, and the starting code below, I'd like a script that sufficiently "shuffles" a simulated deck of cards before printing the top five cards.
Code:
#!/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");

# 2  
Old 08-19-2009
When posting the question, post the expected output as well.
# 3  
Old 08-19-2009
I did post it, I explained what I expect to come out of it, first it shuffles the 'cards' and prints out the top 5 'cards', which are different each time [Randomizer].
# 4  
Old 08-19-2009
Code:
$
$ cat shuffle.pl
#!/usr/bin/perl
$n = defined $ARGV[0] ? $ARGV[0] : 1;
@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");
foreach $j (1..$n) {
  print "Top 5 cards for shuffle # $j\n";
  shuffle();
}
sub shuffle {
  foreach $i (1..5){
    printf("%d => %s\n",$i,$startingdeck[sprintf("%d",rand(51))]);
  }
}
$
$ perl shuffle.pl
Top 5 cards for shuffle # 1
1 => 8 C
2 => 8 D
3 => 9 D
4 => 4 S
5 => 7 D
$
$ perl shuffle.pl 3
Top 5 cards for shuffle # 1
1 => K H
2 => 2 H
3 => A H
4 => A S
5 => A D
Top 5 cards for shuffle # 2
1 => 3 C
2 => 7 D
3 => J D
4 => J H
5 => 7 S
Top 5 cards for shuffle # 3
1 => 7 S
2 => K H
3 => 3 S
4 => 10 H
5 => J H
$
$

tyler_durden
# 5  
Old 08-19-2009
Cool, thxz tyler, but as I mentioned at the start before the code,that I am looking for a script that does the shuffling using these 3 commandsSmilieop, shift, & push.

Thxz for the hard wokr~
# 6  
Old 08-19-2009
Quote:
Originally Posted by DemonixX
...
I am looking for a script that does the shuffling using these 3 commands pop, shift, & push.
...
Yes but why ?
What do pop, shift and push have to do with shuffling a list ?
Where and how do they fit in the picture ?

It's like you want to fly a Cessna over the Mississippi and you are asking for Chinese Tangrams.

tyler_durden
# 7  
Old 08-19-2009
Sounds like a homework assignment. Only the education system would be that sadistic to ask you to do something silly like ignore modules and write something completely clunky and complicated.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

PERL - getting last file using wild cards

Hi experts, I am new to perl. I am trying to get the last file from set of files. Using the below code; but getting error pls help Files: -rw-r--r-- 1 abc abc 12584 Mar 18 16:22 /abc/def/ghi/xyz.HOSTNAME.2016.03.18.16.21.69709-6 -rw-r--r-- 1 abc abc 12623 Mar 18 16:25... (4 Replies)
Discussion started by: sdosanjh
4 Replies

2. Fedora

Shuffling a text file

Hi, I have a text file that is a single column. How do I write code to shuffle it? Thanks! Sample input: NANP DLGAP5 BUB1 C4orf46 BID (6 Replies)
Discussion started by: evelibertine
6 Replies

3. High Performance Computing

Graphics cards

More and more applications which consist of computationally intensive tasks rely on the graphics card's capabilities in order to speed up the calculations. The question is how can one know whether the graphics card will have any influence for a proprietary application? (2 Replies)
Discussion started by: figaro
2 Replies

4. HP-UX

HP UX 9000 NIC CARDS

Hello, I am trying to move an HP UX from one locaion to another. The new location don't have any Fiber switches. On the back of my server I see 2 RJ 45 for console management the other for networking , the server also has a fiber NIC card. When I disconnec the fiber and want to user regular... (1 Reply)
Discussion started by: ldaliosmane
1 Replies

5. High Performance Computing

veritas and nic cards

Hello I have 2 machines with 3 NIC cards. When I setup veritas, I receive this message: e1000g1 has an IP address configured on it. It could be a public NIC on ken. Are you sure you want to use e1000g1 for the first private heartbeat link? As if e1000g1 should not have an IP address.... (2 Replies)
Discussion started by: melanie_pfefer
2 Replies

6. Solaris

How to List all Network cards

Hi, I'm looking for a command to be able to list all my network cards available on my server. With the command "ifconfig - a", I can only see to configured network card(s) Any idea ? :confused: Thanks a lot for your help, Fabien (5 Replies)
Discussion started by: unclefab
5 Replies

7. Solaris

x25 cards on solaris 8

Has anyone configured one of these things, I cant seem to find any documentation on sunsolve, I want to verify that it is up and running... (1 Reply)
Discussion started by: csaunders
1 Replies

8. Linux

sound cards

i installed Red Hat Fedora (successfully this time) and my sound card wasnt automticly found or what ever. so how do i get my sound working and stuff? how do i gonfigure the sound card? how do i get it to detect the sound card? (4 Replies)
Discussion started by: xcaliber
4 Replies

9. BSD

WLAN PCI Cards

Hi! I just wanted to know what network cards are supported in FreeBSD. I have looked at the list of supported cards but I can't find any of them in the stores. Is the list not updated, I would really preciate info about where (in EU, Sweden) I can buy them. /Peter (2 Replies)
Discussion started by: Barfly.se
2 Replies

10. UNIX for Dummies Questions & Answers

sound cards

hey im having problems getting my sound to work, im running linux mandrake 8.0 and it detects the sound card but it will not play any sound if there are any ideas or slutions please let me know.-vassago (3 Replies)
Discussion started by: vassago
3 Replies
Login or Register to Ask a Question