CGI/Perl Guide | Learning Center | Forums | Advertise | Login
Site Search: in

  Main Index MAIN
INDEX
Search Posts SEARCH
POSTS
Who's Online WHO'S
ONLINE
Log in LOG
IN

Home: Perl Programming Help: Beginner:
Sub Routine Question

 



LoGiCaL_
New User

Aug 31, 2009, 7:49 PM

Post #1 of 2 (323 views)
Sub Routine Question Can't Post

Hello, I'm new to this forum as well as the PERL language and just found this forum on Google.com so I'm testing it out. Anyways, I been learning PERL on and off for about 3 weeks and just decided to start making a Ceelo game program to put some skills to work and gain some experience. Simple program no graphics or anything like that. The piece of code I would like looked at or critiqued for better or more efficient ways of writing is a sub routine in the program. It recognizes when a 4-5-6 in all possibilities that it can come up have been rolled on 3 die, which is an automatic win.The code is as follows:

sub Roll456{ #in main i have a list that excepts 3 different random #'s 1-6

my($Hand) = $Dice[0] . $Dice[1] . $Dice[2]; #put into a string for pattern matching

if($Hand =~ /4(56|65)/){

sleep(1);

print "Player has automatically won!\n"

}

elsif($Hand =~ /5(46|64)/){

sleep(1);

print "Player has automatically won!\n";

}

elsif($Hand =~ /6(45|54)/){

sleep(1);

print "Player has automatically won!\n";

}

return();

}


(This post was edited by LoGiCaL_ on Aug 31, 2009, 7:51 PM)


KevinR
Veteran


Aug 31, 2009, 9:32 PM

Post #2 of 2 (320 views)
Re: [LoGiCaL_] Sub Routine Question [In reply to] Can't Post

You could do it all in one condition cleverly like this:


Code
Roll456(6,4,5); 

sub Roll456{
if ( 456 == join('',sort {$a <=> $b} @_)) {
print "Player has automatically won!\n"
}
}

-------------------------------------------------

 
 


Search for (options) Powered by Gossamer Forum v.1.2.0

Web Applications & Managed Hosting Powered by Gossamer Threads
Visit our Mailing List Archives