<<設定画面モジュール>> <<>> *引数なし *操作 **現在のセレクトボックスの選択を配列で取得 *戻り値 **選択 <<>> *引数なし *操作 **選択した人数を取得し、その数におけるデフォルトの役職組み合わせを選択済みにする。 *戻り値なし <<>> *引数 ** obj :セレクトボックスのid ** i :選択済みにしたい選択肢番号 *操作 **id:objのセレクトボックスに選択肢を作成し、i番を選択肢を選択済みにする *戻り値なし <<>> *引数なし *操作 **役職とその人数を取得し、人数選択プルダウンの選択を変更 **人数が規定の値を逸脱したら警告 *戻り値 **合計人数 <<>> *引数 **配列 *操作 **配列を、格納されている数だけ添字を格納した配列に変換する(今はalluserを格納した添字0は除外) ***例 array1 = [7,2,1,1,3] ⇒ array2 = [1,1,2,3,4,4,4] *戻り値 **変換後の配列 <<>> *引数 **配列 *操作 **配列をランダムに入れ替える **配列をカンマ区切りの一つの文字列に変換 ***例  array = [0,0,1,2,3,3,3] ⇒ array = [1,0,3,2,3,3,0] ⇒ var = "1,0,3,2,3,3,0" *戻り値 **変換後の文字列 <<>> *引数 **var1 : 人数の合計値 **array : セレクトボックスの選択を格納した配列 *操作 **ゲームを開始できる設定状況かチェック **開始可能ならページ遷移 **不可能ならエラー表示 *戻り値なし <<プログラム>> <<>>


  
    
    newroom
    
    
    
    
  
  
    
    
    

新しい部屋を作ります

参加人数は

1 赤ずきん
2 パンずきん
3 エスパーずきん
4 ゴーストずきん
5 スーパーずきん
6 サイコずきん
7 ウルフずきん

決定

 







<>
var NRcharaDef = [  //デフォルト数
                    //全体数 あか パン エスパー ゴースト スーパー サイコ ウルフ  
                     
	               [0, 0,0,0,0,0,0,0],
	               [4, 1,1,1,0,0,0,1],
	               [5, 2,1,1,0,0,0,1],
	               [6, 2,1,1,0,0,1,1],
	               [7, 3,1,1,0,0,1,1],
	               [8, 1,1,1,1,1,1,2],
	               [9, 2,1,1,1,1,1,2],
	               [10,3,1,1,1,1,1,2]
                  ];

var socketio = io.connect();

function main(){
  var NRchara = NRselectNUM();
  var NRsum = NRchange2();
  var NRprovarray = NRconversion1(NRchara);
  var NRvar = NRconversion2(NRprovarray);
  socketio.emit("shuffle", {value: NRvar});
  NRdecide(NRsum , NRchara);
}

function NRselectNUM(){
  var NRchara = [ 
                        document.getElementById("NRselect1").selectedIndex,//alluser
                        document.getElementById("NRselect2").selectedIndex,//aka
                        document.getElementById("NRselect3").selectedIndex,//pan
                        document.getElementById("NRselect4").selectedIndex,//espa-
                        document.getElementById("NRselect5").selectedIndex,//go-suto
                        document.getElementById("NRselect6").selectedIndex,//su-pa-
                        document.getElementById("NRselect7").selectedIndex,//saiko
                        document.getElementById("NRselect8").selectedIndex//uruhu
                ];
  return NRchara;
}

function NRchange1(){
  var NRall = document.getElementById("NRselect1").selectedIndex;
  for(var i=0;i<8;i++){
    if(NRall == i){
      NRchara0 = NRcharaDef[i];
    }
  }
        
  NRcreatselect("NRselect2",1);
  NRcreatselect("NRselect3",2);
  NRcreatselect("NRselect4",3);
  NRcreatselect("NRselect5",4);
  NRcreatselect("NRselect6",5);
  NRcreatselect("NRselect7",6);
  NRcreatselect("NRselect8",7);
}
      
function NRcreatselect(obj,i){ 
  var NRselect = document.getElementById(obj);
  for(var j=0;j<10;j++){
    if(obj != "NRselect2" && obj != "NRselect8" && j==2){
      break;
    }
    NRselect.options[j] = new Option(j);
    if(j == NRchara0[i]){
      NRselect.options[j].selected = true;
    }
  }
}
     
function NRchange2(){
  var NRchara = NRselectNUM();
  var NRsum1 = 0,NRsum2 = 0;
  for(var i=1;i<8;i++){
    NRsum1 += NRchara[i];
    if(i<6){
      NRsum2 += NRchara[i];
    }
  }
  if(NRsum1 >= 4 && NRsum1 <= 10){
    document.getElementById("NRselect1").selectedIndex = NRsum1 - 3;
    document.getElementById("dec").innerHTML = "";
    return NRsum2;
  }
  else{
    document.getElementById("dec").innerHTML = "設定可能な参加人数は4~10人です";
    return -1;
  }
}

function NRconversion1(NRchara){
  var i=0;
  var JOchara=[];
  for(var j=1;j0;i--){
    var j = Math.floor( Math.random() * ( i+1 ) );
    NRprovvalue = NRprovarray[j];
    NRprovarray[j] = NRprovarray[i]
    NRprovarray[i] = NRprovvalue;
  }
  var NR='';
  for(var i=0;i= NRsum){
    message.innerHTML = "村人の半数以上をウルフが占めています";
  }
  else{
    message.innerHTML = "ユーザー登録に移行します";
    window.location ="user.html";
  }
}