animex9

var point=new Array();
var dir=new Array();
var number_dir=new Array();
var y=new Array();
var x=new Array();
var power=new Array();
var c=new Array();
 
function sample(){
 
 
power[1]=15;
power[2]=10;
c[1]=1;
c[2]=25;
 
 
tx=0;
for(s=1;s<6;s++){
for(sx=1;sx<6;sx++){
tx=tx+1;
x[tx]=s;
y[tx]=sx;
point[tx]=1;
if(Math.random()>0.5)point[tx]=2;
}
}
 
for(s=1;s<26;s++){
dir[s]=new Array();
}
 
 
 
 
 
 
 
 
var timer;
var delay = 100;
 
var loop = function () {
 
 
f();  
 
    paint();
 
    clearTimeout(timer);
    timer = setTimeout(loop, delay);
}
 
loop();
 
 
 
paint();
 
 
}
 
function f(){
 
for(s=1;s<26;s++){
tx=0;
for(sx=1;sx<26;sx++){
d=dis(s,sx);
if(s==sx)d=400;
if(d<2)tx=tx+1;
if(d<2)dir[s][tx]=sx;
}
number_dir[s]=tx;
}
 
minp=500;
sxs=0;
for(s=1;s<26;s++){
h=0;
if(point[s]==2)h=h+1;
d=dis(c[1],s);
if(d<minp)h=h+1;
h1=0;
for(sx=1;sx<number_dir[s]+1;sx++){
s1=dir[s][sx];
if(point[s1]==1)h1=100;
}
if(h1>50)h=h+1;
if(h==3)sxs=s;
if(h==3)minp=d;
}
 
var c1=0;
for(s=1;s<26;s++){
if(point[s]==1)c1=c1+1;
}
 
var c2=0;
for(s=1;s<26;s++){
if(point[s]==2)c2=c2+1;
}
 
 
p1=0;
for(sx=1;sx<number_dir[sxs]+1;sx++){
s1=dir[sxs][sx];
if(point[s1]==1)p1=p1+power[1]/c1;
}
 
p2=power[2]/c2;
 
if(p1>p2)point[sxs]=1;
 
minp=500;
sxs=0;
for(s=1;s<26;s++){
h=0;
if(point[s]==1)h=h+1;
d=dis(c[2],s);
if(d<minp)h=h+1;
h1=0;
for(sx=1;sx<number_dir[s]+1;sx++){
s1=dir[s][sx];
if(point[s1]==2)h1=100;
}
if(h1>50)h=h+1;
if(h==3)sxs=s;
if(h==3)minp=d;
}
 
var c1=0;
for(s=1;s<26;s++){
if(point[s]==1)c1=c1+1;
}
 
var c2=0;
for(s=1;s<26;s++){
if(point[s]==2)c2=c2+1;
}
 
 
p2=0;
for(sx=1;sx<number_dir[sxs]+1;sx++){
s1=dir[sxs][sx];
if(point[s1]==2)p2=p2+power[2]/c2;
}
 
p1=power[1]/c1;
 
if(p2>p1)point[sxs]=2;
 
}
 
 
function dis(s1,s2){
 
x1=x[s1]-x[s2];
y1=y[s1]-y[s2];
 
e1=x1*x1+y1*y1;
 
return Math.sqrt(e1);
 
}
 
function paint(){ 
 
var sub=new svgpaint();
 
 
str="<svg width=\"500\" height=\"500\">";
for(s=1;s<26;s++){
if(point[s]==1)str=str+sub.rect(50*x[s],50*y[s],50,50,"green");
if(point[s]==2)str=str+sub.rect(50*x[s],50*y[s],50,50,"red");
}
str=str+"</svg>";
$("#memo").html(str);
 
 
}
 
最終更新:2017年03月03日 09:02