<<夜行動>> <<>> <<{Screenshot from 2018-08-02 23-30-23.png} *役職のあるプレイヤーのみ夜行動画面を表示 *ウルフずきんのみチャットの送受信が可能 (他の役職では入力・送信部分が非表示) <<>> *moji(job) **プレイヤーの役職に応じて文を表示 **赤ずきん、パンずきん、サイコずきんは待機画面(stay_night.html)へ移動 *yoru(btn) **ボタンが押されると確認ダイアログを表示 **サーバへプレイヤーの役職と押されたボタン番号を送信 **エスパーずきん、ゴーストずきんの場合は受信した情報をダイアログで表示 **待機画面へ移動 <<<夜行動 act_req (app.js)>>> 受信した役職(j)とボタン番号(b)に応じて動く *エスパーずきん、ゴーストずきんの場合 **押されたボタン番号に応じたプレイヤーの名前とウルフずきんかどうかを送信 *スーパーずきん、ウルフずきんの場合 **それぞれ違う番号が選ばれると、ウルフずきんの選んだプレイヤーが脱落 **同じ番号が選ばれると、そのプレイヤーは生存 **ウルフずきんが複数いた場合、最初に押されたものが優先される
 //夜行動
 socket.on("act_req", function(data){
   var j = data.act;
   var b = data.target;
   var uname, ujob;
   var x = live();
   for(var i = 0; i < numOfuser; i++){ 
     if(user[i].work == 5 && user[i].lod == 0){
	knight++;
     }
   }
   if(j == 3){ //エスパー
     uname = user[b].name;
     if(user[b].work == 7){
	ujob = "ウルフずきん";
     }else{
	ujob = "あかずきん陣営";
     }
     io.to(socket.id).emit("esper", {uname: uname, ujob: ujob});
   }else if(j == 4){ //ゴースト
     uname = user[b].name;
     if(user[b].work == 7){
	ujob = "ウルフずきん";
     }else{
	ujob = "あかずきん陣営";
     }
    io.to(socket.id).emit("ghost", {uname: uname, ujob: ujob});
   }else if(j == 5){ //スーパー
     s = b;
   }else if(j == 7 && f == 0){ //ウルフ
     w = b;
     f++;
   }
   if(knight != 0){ //スーパーがいる
     if(s != 20 && w != 30){ //それぞれボタンが押されている
	if(s != w){ //違う番号
          user[w].lod = 2;
          new_dead = user[w].name;
	  nx = x-1;
	}else{ //同じ番号
	  nx = x;
	}
     }
   }else{ //スーパーがいない
     if(w != 30){ //ボタンが押されている
       user[w].lod = 2;
       new_dead = user[w].name;
       nx = x-1;
     }
   }
});