se nella sub start definisci $a e $q non devi trasmetterle alla sub you_pick($a, $q) ma semplicemente le usi. Nel tuo caso $scelta, $queen sono vuote quindi rispettano sempre la condizione!
Chiama le sub con & e usa le variabili che hai già impostato. es (ho messo l'INT davanti a $q altrimenti non va):
Codice PHP:
sub start
{
if ($k <= 0) {
print "\n";
print "WHAT IS YOUR CASH? \$";
$k = <>;
print "\n";
}
print "HOW MUCH DO YOU\n";
print "WANT TO BET? \$";
$b = <>;
print "\n";
if ($k == 0 || $k < 0) { no_more();}
if ($b > $k) { &no_suff;}
$q = 1 + rand(3);
print "+---+ +---+ +---+\n";
print "!___! !___! !___!\n";
print "!___! !___! !___!\n";
print "! 1 ! ! 2 ! ! 3 !\n";
print "!___! !___! !___!\n";
print "!___! !___! !___!\n";
print "+---+ +---+ +---+\n";
print "\n";
print "\n";
print "FIND THE QUEEN,PICK A CARD 1,2 OR 3? ";
$a = <>;
print "\n";
&you_pick;
}
sub start
{
if ($k <= 0) {
print "\n";
print "WHAT IS YOUR CASH? \$";
$k = <>;
print "\n";
}
print "HOW MUCH DO YOU\n";
print "WANT TO BET? \$";
$b = <>;
print "\n";
if ($k == 0 || $k < 0) { no_more();}
if ($b > $k) { &no_suff;}
$q =int( 1 + rand(3));
print "+---+ +---+ +---+\n";
print "!___! !___! !___!\n";
print "!___! !___! !___!\n";
print "! 1 ! ! 2 ! ! 3 !\n";
print "!___! !___! !___!\n";
print "!___! !___! !___!\n";
print "+---+ +---+ +---+\n";
print "\n";
print "\n";
print "FIND THE QUEEN,PICK A CARD 1,2 OR 3? ";
$a = <>;
print "\n";
&you_pick;
}
sub you_pick {
if ($a == $q) {
print "YOU WON \$", $b, "!\n";
$k += $b;
} else {
print "YOU LOST \$", $b, "!\n";
$k -= $b;
}
print the_queen ($q);
print "YOUR CASH IS NOW \$", $k, "\n";
print "PLAY AGAIN? (Y/N) ";
$b = <>;
print "\n";
if ($b == "Y") {
&start;
} elsif ($b == "N") {
print "BYE BYE";
exit;
}
}