アットウィキロゴ

ose87

var postx=new Array();
var life=new Array();
var number;
var pos=new Array();
var ch=new Array();
 
function myFunction() {
 
postx[0]="";    
postx[1]="将軍";
postx[2]="大老";
postx[3]="駿河城代";
postx[4]="美濃藩主";
postx[5]="伊勢藩主";
postx[6]="信濃藩主";
postx[7]="老中";
postx[8]="駿河老中";
postx[9]="美濃守護";
postx[10]="伊勢守護";
postx[11]="信濃守護";
postx[12]="勘定奉行";
postx[13]="町奉行";
postx[14]="寺社奉行 ";
postx[15]="外国奉行";
postx[16]="美濃代官";
postx[17]="大垣代官";
postx[18]="伊勢代官";
postx[19]="松坂代官";
postx[20]="信濃代官";
postx[21]="松本代官";    
 
 
 var id="1FhWyFXl9LxXSgHFMrCeSBhCAaUWmoq9pvJUmA8RF3Oc"; 
 ex1 = SpreadsheetApp.openById(id);
 var sheet = ex1.getSheetByName("data"); 
 
number=21;
 
for(s=1;s<number+1;s++){ 
life[s]=100;
pos[s]=s;  
}
 
 
 t=1;
 for(s=1;s<number+1;s++){ 
 sx=pos[s];  
if(life[s]>50)sheet.getRange(s,1).setValue(postx[sx]);  
}
 
 
 
  for(tr=1;tr<51;tr++){
 
  var a=new Array();
 
  sx=0;
for(s=1;s<number+1;s++){ 
if(life[s]>50)sx=sx+1;
if(life[s]>50)a[sx]=s;
}
 
n1=sx*Math.random();
n2=Math.floor(n1)+1;  
n3=a[n2];
life[n3]=0;
 
 
  for(s=1;s<number+1;s++){
  ch[s]=0;
  }
 
  for(m=1;m<21;m++){
  step(m);
  }
 
  number=number+1;
  pos[number]=21;
  life[number]=100;
 
 t=t+1;
 
 for(s=1;s<number+1;s++){ 
sx=pos[s];  
if(life[s]>50)sheet.getRange(s,t).setValue(postx[sx]);  
}
 
 
  }    
 
}
 
 
function step(m){
 
  var point=new Array();
  for(s=1;s<22;s++){
  point[s]=new Array();
  }
 
  for(s=1;s<22;s++){
  for(sx=1;sx<22;sx++){
  point[s][sx]=1;
  }}
 
 for(s=1;s<22;s++){
 point[s][s]=100;
}
point[1][4]=50;
point[1][5]=50;
point[1][6]=50;
 
point[2][4]=50;
point[2][5]=50;
point[2][6]=50;
 
point[3][4]=50;
point[3][5]=50;
point[3][6]=50; 
 
point[4][7]=50;
point[4][8]=50;
point[5][7]=50;
point[5][8]=50;
point[6][7]=50;
point[6][8]=50;
 
point[7][9]=50;
point[7][10]=50;
point[7][11]=50;
point[8][9]=50;
point[8][10]=50;
point[8][11]=50;
 
point[9][12]=50;
point[9][13]=50;
point[9][14]=50;
point[9][15]=50;
 
point[10][12]=50;
point[10][13]=50;
point[10][14]=50;
point[10][15]=50;
 
point[11][12]=50;
point[11][13]=50;
point[11][14]=50;
point[11][15]=50;
 
 
  maxu=0;
  sxs=0;
  for(s=1;s<number+1;s++){
  h=0;
  if(life[s]>50)h=h+1;
  if(ch[s]<50)h=h+1;
  p1=pos[s];
  z=point[m][p1]+Math.random();
  if(z>maxu)h=h+1;
  if(h==3)sxs=s;
  if(h==3)maxu=z;
  }
  ch[sxs]=100;
  pos[sxs]=m;
 
}
 
最終更新:2017年03月12日 20:54