<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script>
var point=new Array();
var delta=new Array();
function sample(){
for(s=1;s<701;s++){
point[s]=new Array();
delta[s]=new Array();
}
for(s=1;s<701;s++){
for(sx=1;sx<701;sx++){
delta[s][sx]=0;
}}
for(s=200;s<501;s++){
for(sx=200;sx<501;sx++){
delta[s][sx]=100;
}}
for(sx=1;sx<701;sx++){
point[1][sx]=0;
}
point[1][350]=100;
for(s=2;s<701;s++){
for(sx=1;sx<701;sx++){
s1=sx-1;
s2=sx;
s3=sx+1;
if(s1<1)s1=1;
if(s3>700)s3=700;
z=0;
if(point[s-1][s1]>50)z=100;
if(point[s-1][s2]>50)z=100;
if(point[s-1][s3]>50)z=100;
if(delta[s][sx]>50)z=0;
point[s][sx]=z;
}
}
var timer;
var delay = 10;
bx=350;
by=700;
var loop = function () {
by=by-1;
if(by<1)bx=350;
if(by<1)by=700;
b1=bx-1;
b2=bx;
b3=bx+1;
if(b1<1)b1=1;
if(b3>700)b3=700;
var a=new Array();
var b=new Array();
a[1]=b1;
a[2]=b2;
a[3]=b3;
if(point[by][b1]<50)a[1]=0;
if(point[by][b2]<50)a[2]=0;
if(point[by][b3]<50)a[3]=0;
sx=0;
for(s=1;s<4;s++){
if(a[s]>0)sx=sx+1;
if(a[s]>0)b[sx]=a[s];
}
n1=sx*Math.random();
n2=Math.floor(n1)+1;
bx=b[n2];
paint();
clearTimeout(timer);
timer = setTimeout(loop, delay);
}
loop();
}
function paint(){
var sub=new svgpaint();
str="<svg width=\"700\" height=\"700\">";
str=str+sub.rect(bx,700-by,10,10,"red");
str=str+"</svg>";
$("#memo").html(str);
}
</script>
<script>
class svgpaint{
chop(strp){
this.strx="\""+strp+"\"";
return this.strx;
}
rect(x1,y1,w1,h1,col){
this.strx="<rect x="+this.chop(x1)+"\" y="+this.chop(y1)+"\" width="+this.chop(w1);
this.strx=this.strx+"\" height="+this.chop(h1)+" fill="+this.chop(col)+"/>";
return this.strx;
}
text(x1,y1,size,strp){
this.strx="<text x="+this.chop(x1)+" y= "+this.chop(y1)+" font-size="+this.chop(size)+">";
this.strx=this.strx+strp;
this.strx=this.strx+"</text>";
return this.strx;
}
circle(x1,y1,r,col){
this.strx="<circle cx="+this.chop(x1)+"\" cy="+this.chop(y1)+"\" r="+this.chop(r)+" fill="+this.chop(col)+"/>";
return this.strx;
}
line(x1,y1,x2,y2,wide,col){
this.strx="<line x1="+this.chop(x1)+" y1="+this.chop(y1)+" x2="+this.chop(x2)+" y2=";
this.strx=this.strx+this.chop(y2)+"style= \" stroke:"+col+";stroke-width:"+wide+"\"/>";
return this.strx;
}
}
</script>
最終更新:2018年06月11日 16:35