アットウィキロゴ

sengoku7

var namex = new Array();
var lon = new Array();
var lat = new Array();
var x = new Array();
var y = new Array();
var dir = new Array();
var number_dir = new Array();
var pos=new Array(); 
var life=new Array(); 
var area=new Array();
var power=new Array();
 
function sample(){
 
    for (s = 1; s < 6;s++ ){
    power[s]=1;    
    }
 
        faststep();
 
 for(s=1;s<6;s++){
    pos[s] = new Array();
    life[s] = new Array();
    }
 
    for(s=1;s<6;s++){
    for(sx=1;sx<6;sx++){
    pos[s][sx] = s;
    life[s][sx] = 100;
    }}
 
    for(s=1;s<48;s++){
    area[s] = 0;
    }
 
 
   var timer;
var delay = 100;
 
month = 1;
 
 
var loop = function () {
 
    month = month + 1;
    if (month > 12) stage();
    if (month > 12) month = 1;
 
    for (tr = 1; tr < 6; tr++) {
        move(tr);
 
        game(tr);
 
    }
 
    check();
 
 
 
    paint();
 
    clearTimeout(timer);
    timer = setTimeout(loop, delay);
}
 
loop();
 
 
}
 
function stage(){
 
    for(s=1;s<6;s++){
    power[s] = 0;
 }
 
for(s=1;s<48;s++){
    sx = area[s];
   power[sx]= power[sx] + 1;
}
 
 for(s=1;s<6;s++){
for(sx=1;sx<6;sx++){
    life[s][sx] = 100;
    }}
 
 
 
}
 
 
function game(tr){
 
var c1=new Array();
var c2=new Array();
 
for(s=1;s<48;s++){
c1[s]=0;
c2[s] = 0;
}
 
for(s=1;s<6;s++){
sx = pos[tr][s];
if(life[tr][s]>50)c1[sx]=100;
}
 
for (s = 1; s < 6; s++) {
    for (sx = 1; sx < 6; sx++) {
        tx = pos[s][sx];
        if (life[s][sx] > 50) h = 100;
        if (s == tr) h = 0;
        if (h > 50) c2[tx] = 100;
    } 
}
 
}
 
function fight(tr,a1){
 
    p1 = 0;
    p2 = 0;
 
    for(s=1;s<6;s++){
        h = 0;
    if(life[tr][s]>50)h=h+1;
    if(pos[tr][s]==a1)h=h+1;
    if(h==2)p1=p1+power_a;    
    }
 
 
  for (s = 1; s < 6; s++) {
    for (sx = 1; sx < 6; sx++) {
        tx = pos[s][sx];
        if (life[s][sx] > 50) h = h+1;
        if (pos[s][sx] == a1) h = h + 1;
        if (s == tr) h = 0;
        if (h==2)p2 = p2+power_b;
    } 
}
 
 
    mode = 1;
    n1=(p1 + p2) * Math.random();
    if (n1 > p1) mode = 2;
 
    if (mode == 1) alpha(tr,a1);
 if (mode == 2) beta(tr,a1);
 
 
} 
 
function alpha(tr,a1){
 
for (s = 1; s < 6; s++) {
    for (sx = 1; sx < 6; sx++) {
        h=0;
        if(pos[s][sx]==a1)h=h+1;
        if (life[s][sx] > 50) h =h+1;
        if (s == tr) h = 0;
        if (h==2)life[s][sx]=0;
    } 
}
 
 
}
 
function beta(tr,a1){
 
for(s=1;s<6;s++){
      h = 0;
    if(life[tr][s]>50)h=h+1;
    if(pos[tr][s]==a1)h=h+1;
    if(h==2)life[tr][s]=0;    
 
}   
 
 
 
}
 
 
function faststep(){
 
    for (s = 1; s < 48;s++ ){
    dir[s]=new Array();    
    }
 
namex[1] = "北海道";
dir[1][1] = 2;
number_dir[1] = 1;
 
namex[2]="青森県";
dir[2][1] = 1;
dir[2][2] = 3;
dir[2][3] = 5;
number_dir[2] = 3;
 
namex[3]="岩手県";
dir[3][1] = 2;
dir[3][2] = 4;
number_dir[3] = 2;
 
namex[4]="宮城県";
dir[4][1] = 3;
dir[4][2] = 6;
dir[4][3] = 7;
number_dir[4] = 3;
 
namex[5]="秋田県";
dir[5][1] = 2;
number_dir[5] = 1;
 
namex[6]="山形県";
dir[6][1] = 4;
number_dir[6] = 1;
 
namex[7]="福島県";
dir[7][1] = 4;
dir[7][2] = 9;
number_dir[7] = 2;
namex[8]="茨城県";
dir[8][1] = 13;
number_dir[8] = 1;
namex[9]="栃木県";
dir[9][1] = 7;
dir[9][2] = 11;
number_dir[9] = 2;
namex[10]="群馬県";
dir[10][1] = 15;
dir[10][2] = 11;
number_dir[10] = 2;
namex[11]="埼玉県";
dir[11][1] = 9;
dir[11][2] = 10;
dir[11][3] = 13;
number_dir[11] = 3;
namex[12]="千葉県";
dir[12][1] = 13;
number_dir[12] = 1;
namex[13]="東京都";
dir[13][1] = 11;
dir[13][2] = 12;
dir[13][3] = 8;
dir[13][4] = 14;
dir[13][5] = 19;
number_dir[13] = 5;
namex[14]="神奈川県";
dir[14][1] = 13;
dir[14][2] = 22;
number_dir[14] = 2;
namex[15]="新潟県";
dir[15][1] = 10;
number_dir[15] = 1;
namex[16]="富山県";
dir[16][1] = 17;
number_dir[16] = 1;
namex[17]="石川県";
dir[17][1] = 16;
dir[17][2] = 18;
number_dir[17] = 2;
namex[18]="福井県";
dir[18][1] = 17;
dir[18][2] = 25;
number_dir[18] = 2;
namex[19]="山梨県";
dir[19][1] = 13;
dir[19][2] = 20;
number_dir[19] = 2;
 
namex[20]="長野県";
dir[20][1] = 21;
dir[20][2] = 19;
number_dir[20] = 2;
 
namex[21]="岐阜県";
dir[21][1] = 20;
dir[21][2] = 25;
dir[21][3] = 23;
number_dir[21] = 3;
 
namex[22]="静岡県";
dir[22][1] = 14;
dir[22][2] = 23;
number_dir[22] = 2;
 
 
namex[23]="愛知県";
dir[23][1] = 22;
dir[23][2] = 21;
dir[23][3] = 24;
number_dir[23] = 3;
 
namex[24]="三重県";
dir[24][1] = 23;
number_dir[24] = 1;
 
namex[25]="滋賀県";
dir[25][1] = 26;
dir[25][2] = 21;
dir[25][3] = 18;
number_dir[25] = 3;
 
namex[26]="京都府";
dir[26][1] = 27;
dir[26][2] = 25;
number_dir[26] = 2;
 
 
namex[27]="大阪府";
dir[27][1] = 26;
dir[27][2] = 28;
dir[27][3] = 29;
dir[27][4] = 30;
number_dir[27] = 4;
 
 
namex[28]="兵庫県";
dir[28][1] = 27;
dir[28][2] = 33;
number_dir[28] = 2;
 
namex[29]="奈良県";
dir[29][1] = 27;
number_dir[29] = 1;
 
namex[30]="和歌山県";
dir[30][1] = 27;
number_dir[30] = 1;
 
namex[31]="鳥取県";
dir[31][1] = 32;
dir[31][2] = 33;
number_dir[31] = 2;
 
namex[32]="島根県";
dir[32][1] = 31;
number_dir[32] = 1;
 
namex[33]="岡山県";
dir[33][1] = 28;
dir[33][2] = 34;
dir[33][3] = 37;
dir[33][4] = 31;
number_dir[33] = 4;
 
namex[34]="広島県";
dir[34][1] = 33;
dir[34][2] = 35;
number_dir[34] = 2;
 
namex[35]="山口県";
dir[35][1] = 34;
dir[35][2] = 40;
number_dir[35] = 2;
 
 
namex[36]="徳島県";
dir[36][1] = 37;
dir[36][2] = 39;
number_dir[36] = 2;
 
namex[37]="香川県";
dir[37][1] = 36;
dir[37][2] = 38;
dir[37][3] = 33;
number_dir[37] = 3;
 
namex[38]="愛媛県";
dir[38][1] = 37;
number_dir[38] = 1;
 
namex[39]="高知県";
dir[39][1] = 36;
number_dir[39] = 1;
 
namex[40]="福岡県";
dir[40][1] = 35;
dir[40][2] = 41;
dir[40][3] = 44;
number_dir[40] = 3;
 
namex[41]="佐賀県";
dir[41][1] = 40;
dir[41][2] = 42;
dir[41][3] = 43;
number_dir[41] = 3;
 
namex[42]="長崎県";
dir[42][1] = 41;
number_dir[42] = 1; 
 
namex[43]="熊本県";
dir[43][1] = 41;
dir[43][2] = 46;
number_dir[43] = 2;
 
namex[44]="大分県";
dir[44][1] = 40;
dir[44][2] = 45;
number_dir[44] = 2;
 
namex[45]="宮崎県";
dir[45][1] = 44;
number_dir[45] = 1;
 
namex[46]="鹿児島県";
dir[46][1] = 47;
dir[46][2] = 43;
number_dir[46] = 2; 
 
namex[47]="沖縄県";
dir[47][1] = 46;
number_dir[47] = 1; 
 
 
lon[1]=43.063968;
lon[2]=40.824623;
lon[3]=39.703531;
lon[4]=38.268839;
lon[5]=39.718600;
lon[6]=38.240437;
lon[7]=37.750299;
lon[8]=36.341813;
lon[9]=36.565725;
lon[10]=36.391208;
lon[11]=35.857428;
lon[12]=35.605058;
lon[13]=35.689521;
lon[14]=35.447753;
lon[15]=37.902418;
lon[16]=36.695290;
lon[17]=36.594682;
lon[18]=36.065219;
lon[19]=35.664158;
lon[20]=36.651289;
lon[21]=35.391227;
lon[22]=34.976978;
lon[23]=35.180188;
lon[24]=34.730283;
lon[25]=35.004531;
lon[26]=35.021004;
lon[27]=34.686316;
lon[28]=34.691279;
lon[29]=34.685333;
lon[30]=34.226034;
lon[31]=35.503869;
lon[32]=35.472297;
lon[33]=34.661772;
lon[34]=34.396560;
lon[35]=34.186121;
lon[36]=34.065770;
lon[37]=34.340149;
lon[38]=33.841660;
lon[39]=33.559705;
lon[40]=33.606785;
lon[41]=33.249367;
lon[42]=32.744839;
lon[43]=32.789828;
lon[44]=33.238194;
lon[45]=31.911090;
lon[46]=31.560148;
lon[47]=26.212401;
 
lat[1]=141.347899;
lat[2]=140.740593;
lat[3]=141.152667;
lat[4]=140.872103;
lat[5]=140.102334;
lat[6]=140.363634;
lat[7]=140.467521;
lat[8]=140.446793;
lat[9]=139.883565;
lat[10]=139.060156;
lat[11]=139.648933;
lat[12]=140.123308;
lat[13]=139.691704;
lat[14]=139.642514;
lat[15]=139.023221;
lat[16]=137.211338;
lat[17]=136.625573;
lat[18]=136.221642;
lat[19]=138.568449;
lat[20]=138.181224;
lat[21]=136.722291;
lat[22]=138.383054;
lat[23]=136.906565;
lat[24]=136.508591;
lat[25]=135.868590;
lat[26]=135.755608;
lat[27]=135.519711;
lat[28]=135.183025;
lat[29]=135.832744;
lat[30]=135.167506;
lat[31]=134.237672;
lat[32]=133.050499;
lat[33]=133.934675;
lat[34]=132.459622;
lat[35]=131.470500;
lat[36]=134.559303;
lat[37]=134.043444;
lat[38]=132.765362;
lat[39]=133.531080;
lat[40]=130.418314;
lat[41]=130.298822;
lat[42]=129.873756;
lat[43]=130.741667;
lat[44]=131.612591;
lat[45]=131.423855;
lat[46]=130.557981;
lat[47]=127.680932;
 
 
miny = 9999;
maxy = 0;
maxx=0;
minx=999;
 
for (s = 1; s < 48;s++ ){
if(lat[s]>maxx)maxx=lat[s];    
if(lat[s]<minx)minx=lat[s]; 
if(lon[s]>maxy)maxy=lon[s];    
if(lon[s]<miny)miny=lon[s]; 
}
 
 
for (s = 1; s < 48;s++ ){
x[s] = 500*(lat[s] - minx) / (maxx - minx);
y[s] = 500*(lon[s] - miny) / (maxy - miny);
}
 
}
 
 
function paint(){
 
var sub=new svgpaint();
 
str="<svg width=\"700\" height=\"700\">"; 
 
for(s=1;s<48;s++){    
str=str+sub.circle(50+x[s],600-y[s],5,"green");
if(area[s]==1)str=str+sub.circle(50+x[s],600-y[s],5,"red");
}
 
for(s=1;s<48;s++){    
for(sx=1;sx<number_dir[s]+1;sx++){
s1 = dir[s][sx];
str=str+sub.line(50+x[s],600-y[s],50+x[s1],600-y[s1],2,"green");
}}
 
 
for(s=1;s<6;s++){
sx = pos[1][s];
str=str+sub.circle(50+x[sx],600-y[sx],10,"red");
sx = pos[2][s];
str=str+sub.circle(50+x[sx],600-y[sx],10,"blue");
sx = pos[3][s];
str=str+sub.circle(50+x[sx],600-y[sx],10,"pink");
sx = pos[4][s];
str=str+sub.circle(50+x[sx],600-y[sx],10,"yellow");
sx = pos[5][s];
str=str+sub.circle(50+x[sx],600-y[sx],10,"orange");
}
 
 
 
str=str+"</svg>";
 
$("#memo").html(str);   
 
}
 
function move(tr){
 
    for (s = 1; s < 6; s++) {
        sx = pos[tr][s];
        var n1 = number_dir[sx] * Math.random();
        var n2 = Math.floor(n1) + 1;
        pos[tr][s] = dir[sx][n2];
    }
 
}
 
function check(){
 
    for (s = 1; s < 6; s++) {
 for(sx=1;sx<6;sx++){
        tx = pos[s];
        if(life[s][sx]>50)area[tx] = s;
 
    }
}
 
}
最終更新:2015年06月16日 17:13