カードを交換する

カードを交換する

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[$_]);
  }
}
  • トランプ・ポーカー ポーカー初心者のためのポーカー必勝法
  • トランプ・ブラックジャック ブラックジャックゲーム必勝法
  • ギャンブルから株式為替まで役立つ資金管理 株投資・株式投資のマネー・マネジメント
  • 株式投資や為替取引のリスクマネジメント 個人投資家にも誤発注は起きる
  • カード被害が預金者保護法で補償された体験 クレジットカードやキャッシュカードの紛失偽造盗難と預金者保護法
  • アニメで英会話/台詞逆輸入 逆輸入アニメで英会話を
  • 右脳と左脳を鍛える開発トレーニング 脳トレで右脳と左脳を鍛える