雨谷の日和

過去20年で2,700を超えるアニメの第1話だけは見続けた僕のお勧めアニメがハズレなはずがない

人狼BBS作成日記83

さて、処刑/襲撃/護衛/占いの各処理が済むと、今度は勝敗判定になるでしょうか。
人狼の数と村人の数を数え、勝負がついているかどうかを判定するわけです。

  $Wolf_Count = 0;
  $Human_Count = 0;
  for($index = 0; $index < @Char_Alive_Index; $index++){
    if( $Char_Cast[ $Char_Alive_Index[$index] ] eq "wolf" ){
      $Wolf_Count++;
    }else{
      $Human_Count++;
    }
  }
  if( $Wolf_Count == 0 ){
    print LOGFILE "$Day_Count_Max<>80<><>$Time_Stamp<>人狼を全て退治した。<br>";
    print LOGFILE "<b>村の勝利です。</b>\n";
    return;
  }elsif( $Wolf_Count >= $Human_Count ){
    print LOGFILE "$Day_Count_Max<>80<><>$Time_Stamp<>人狼に対抗できる人間は";
    print LOGFILE "残っていない。<br><b>人狼の勝利です。</b>\n";
    return;
  }

人狼の数(Wolf_Count)と人間の数(Human_Count)をまず0で初期化しておき、生きているキャラクターを調べて、それぞれをカウントしていきます。
もしも人狼の数が0であれば、そこで村の勝利とします。
逆に人間の数が人狼以下の場合には人狼の勝利とします。
どちらでも無い場合は、ゲーム続行ですね。