雨谷の日和

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

人狼BBS作成日記73

次に、表示の切り替えを考えます。
占い設定の入力フォームや、襲撃設定の入力フォームなどは、ログインしたキャラクターが占い師や人狼の時だけ表示されれば問題ありません。
ということで、ログインしたときに表示する、入力フォームを役職ごとに切り替えるように書き換えてみます。

  if($Login_Index > -1){
    if($Day_Count == $Day_Count_Max){
      if($Char_Life[$Login_Index] != 1){
        &STDOUT_VOTE_FORM;
        if($Char_Cast[$Login_Index] eq "fortune"){
          &STDOUT_FORTUNE_FORM;
        }elsif($Char_Cast[$Login_Index] eq "guard"){
          &STDOUT_GUARD_FORM;
        }elsif($Char_Cast[$Login_Index] eq "medium"){
          &STDOUT_MEDIUM_FORM;
        }
      }
      if($Char_Cast[$Login_Index] eq "wolf"){
        if($Char_Life[$Login_Index] != 1){
          &STDOUT_ATTACK_FORM;
          &STDOUT_MSG_FORM( "01" );
          &STDOUT_MSG_FORM( "11" );
          &STDOUT_MSG_FORM( "50" );
        }else{
          &STDOUT_MSG_FORM( "15" );
        }
      }elsif($Char_Cast[$Login_Index] eq "fairy"){
        &STDOUT_MSG_FORM( "40" );
      }else{
        if($Char_Life[$Login_Index] != 1){
          &STDOUT_MSG_FORM( "01" );
          &STDOUT_MSG_FORM( "50" );
        }else{
          &STDOUT_MSG_FORM( "05" );
        }
      }
    }

だいたい、ざっと上記のようになると思います。
生きているかどうかのチェックや、人狼かどうか、役職は何かなどのチェックを組み合わせて、表示させるフォームを切り替えます。
あと表示するメッセージにも、人狼同士でしか読めない囁きメッセージや、占い師本人にしか読めないものなどありますから、それも表示のする・しないを切り替える必要がありますね。

  }elsif($Line_Type == 53){
    if($Char_Cast[$Login_Index] eq "fortune"){
      &STDOUT_FORTUNE( $line );
    }
  }

上記は占い設定のメッセージを表示するかどうかのチェックになっています。ログインしているキャラクターが占い師なら、表示するという感じですね。