雨谷の日和

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

人狼BBS作成日記82

襲撃判定が終わったら、今度は占い師の処理をします。
ほとんど護衛と同じような処理になりますね。

  $Fortune_Target = -1;
  $Fortune_Index = -1;
  for($index = 0; $index < @Char_Alive_Index; $index++){
    if( $Char_Cast[ $Char_Alive_Index[$index] ] eq "fortune" ){
      $Fortune_Index = $Char_Alive_Index[$index];
      last;
    }
  }
  if( $Fortune_Index > -1 ){
    if( $Exec_Fortune[0] < 0 || $Exec_Fortune[1] < 0 ){
      @Char_Alive_Index_Temp = ();
      for($index = 0; $index < @Char_Alive_Index; $index++){
        if( $Char_Alive_Index[$index] != $Fortune_Index ){
          push(@Char_Alive_Index_Temp, $Char_Alive_Index[$index]);
        }
      }
      $Fortune_Target = $Char_Alive_Index_Temp[ int( rand( @Char_Alive_Index_Temp ) ) ];
    }else{
      if( $Char_Life[ $Exec_Fortune[0] ] == 0 ){
        $Fortune_Target = $Exec_Fortune[0];
      }elsif( $Char_Life[ $Exec_Fortune[1] ] == 0 ){
        $Fortune_Target = $Exec_Fortune[1];
      }
    }
    if( $Fortune_Target > -1 ){
      print LOGFILE "$Day_Count_Max<>84<>$Fortune_Target<>$Time_Stamp\n";
    }
  }

まずは占い師が生きているかどうかをチェックします。生きていれば、占い先設定がされているかどうかを確認し、設定されていない場合には生きている人で自分以外のキャラクターからランダムに占い先を決定します。占い先が設定されているなら、第一候補の生死を確認し、生きているなら第一候補を、死んでいるなら第二候補を占い先に決定します。
最後に、決定した占い先が-1でなければログファイルに占い実行(84)として出力します。