カードを交換する
change は、カードを交換するサブルーチンです。
捨てるカードを標準入力から受取り、代わりにカードの山から補充します。
#カードを交換する
sub change(\@\@) {
my ($player, $stack) = @_;
my ($nflag);#真の flag の数
my (@flag); #カードの交換フラグ
#配列を初期化する
$nflag = 0;
for (0 .. $#$player) {
$flag[$_] = 0;
}
#交換するカードを決定する
while (1) {
my ($i);#入力文字列
print "Please select the card(s) you want to change (1 - 5). ";
print "To finish, input 0.\n";
chomp($i = <STDIN>);
if ($i =~ /^[1-M]$/) {
if ($flag[$i - 1]) {
next;
} else {
$flag[$i - 1] = 1;
}
last if (++$nflag == N);
# } elsif ($i =~ /^0$/) {
} elsif ($i eq '0') {#正規表現より処理が早い
last;
} else {
print "Input Error!\n";
}
}
#カードを交換する
for (0 .. $#$player) {
$$player[$_] = shift(@$stack) if ($flag[$_]);
}
}
- トランプ・ポーカー
- トランプ・ブラックジャック
- ギャンブルから株式為替まで役立つ資金管理
- 株式投資や為替取引のリスクマネジメント
- カード被害が預金者保護法で補償された体験
- アニメで英会話/台詞逆輸入
- 右脳と左脳を鍛える開発トレーニング