カードを交換する
change は、カードを交換するサブルーチンです。
捨てるカードを標準入力から受取り、代わりにカードの山から補充します。
#カードを交換する
sub change {
local($i, @flag);
#交換するカードを決定する
while (1) {
printf "Please select the card(s) you want to change (1 - 5). ";
printf "To finish, input 0.\n";
chomp($i = <STDIN>);
if ((1 <= $i) && ($i <= 5)) {
$flag[$i - 1] = 1;
} elsif ($i eq '0') {
last;
} else {
printf "Input Error!\n";
}
}
#カードを交換する
for (0 .. 4) {
$player[$_] = shift(@stack) if ($flag[$_]);
}
}







