Hi Members,
1) The script below produce the following warnings:- "variable $betting_system will not stay shared at roulette.pl line 61."
What is the problem and how do I rectify this problem.
2) How do I shorten/improve this script.
Thanks
##### start of script #################
use strict;
use warnings;
use Algorithm::Numerical::Shuffle qw /shuffle/;
#variable variables
my $number_of_games = 5000;
my $originalcapital = 1000;
my $capital = 1000;
my $stake = 1;
#initialisation
my @number = ();
my $roulette_dealer_number = "";
my $sub_different_playing_styles_wincounter = 0;
my $sub_different_playing_styles_losscounter = 0;
# dealers number rolled
for ( $a = 0 ; $a < $number_of_games ; $a++ ) {
my $switch1 = 0;
($roulette_dealer_number) = shuffle( 0 .. 36 ); # dealers number
@number = shuffle( 0 .. 36 ); #players numbers
&different_playing_styles();
}
toprint();
#####################################################
# sub routines
######################################################
sub different_playing_styles {
# bet 1 number
my $bet_location = 37;
my $betting_system = 18; #bet 2 numbers
my $counter = 0;
my $bet_amount_per_number = 2;
my $switch = 0;
my $wincounter = 0;
foreach (@number) {
if (/^$roulette_dealer_number$/) {
$sub_different_playing_styles_wincounter++;
$capital = ($capital + 36 - $betting_system ) * $bet_amount_per_number;
$switch = 1;
last;
}
$counter++;
last if ( $counter == $betting_system );
}
if ( $switch == 0 ) {
$sub_different_playing_styles_losscounter++;
$capital = ($capital - $betting_system) * $bet_amount_per_number;
}
sub toprint {
print "Summary\n";
print "Betting system = Bet $betting_system numbers at ",
"\$$bet_amount_per_number per number.\n";
print "Total games dealt = $number_of_games games.\n";
print
"Total : Win = $sub_different_playing_styles_wincounter times = \$",
( 36 - $betting_system ) * $bet_amount_per_number * $sub_different_playing_styles_wincounter,
"\n Lose = $sub_different_playing_styles_losscounter times = \$",
$betting_system * $bet_amount_per_number * $sub_different_playing_styles_losscounter, "\n";
if ( $capital > $originalcapital ) {
print "You win \$", ( $capital - $originalcapital ), "\n";
}
else {
print "You lost \$", ( $originalcapital - $capital ), "\n";
}
print '*' x 50, "\n";
} # end sub toprint
}
Thread Next