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
}

Reply via email to