var point=new Array();
var delta=new Array();
var bx,by;
function sample(){
for(s=1;s<101;s++){
point[s]=new Array();
}
for(s=1;s<101;s++){
delta[s]=new Array();
}
for(s=1;s<101;s++){
for(sx=1;sx<101;sx++){
point[s][sx]=0;
delta[s][sx]=0;
}
}
for(s=30;s<71;s++){
for(sx=30;sx<71;sx++){
delta[s][sx]=100;
}
}
point[1][50]=100;
for(n=2;n<101;n++){
for(sx=1;sx<101;sx++){
z=0;
for(tr=-1;tr<2;tr++){
var x1=sx+tr;
if(x1>100)x1=100;
if(x1<1)x1=1;
if(point[n-1][x1]>50)z=100;
}
if(delta[n][sx]>50)z=0;
if(z>50)point[n][sx]=100;
}
}
bx=50;
by=100;
var timer;
var delay = 100;
var loop = function () {
by=by-1;
x1=bx-1;
if(x1<1)x1=1;
x2=bx;
x3=bx+1;
if(x3>100)x3=100;
var z=new Array();
k=0;
if(point[by][x1]>50)k=k+1;
if(point[by][x1]>50)z[k]=x1;
if(point[by][x2]>50)k=k+1;
if(point[by][x2]>50)z[k]=x2;
if(point[by][x3]>50)k=k+1;
if(point[by][x3]>50)z[k]=x3;
m1=k*Math.random();
m2=Math.floor(m1)+1;
bx=z[m2];
if(by<2)by=100;
paint();
clearTimeout(timer);
timer = setTimeout(loop, delay);
}
loop();
paint();
}
function paint(){
var sub=new svgpaint();
str="<svg width=\"500\" height=\"500\">";
for(s=1;s<101;s++){
for(sx=1;sx<101;sx++){
if(point[s][sx]>40)str=str+sub.rect(5*sx,500-5*s,5,5,"red");
}
}
str=str+sub.rect(5*bx,500-5*by,20,20,"blue");
str=str+"</svg>";
$("#memo").html(str);
}
最終更新:2016年04月28日 00:07