アットウィキロゴ

pat

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