var dx,dy;
var dx=new Array();
var dy=new Array();
var bx=new Array();
var by=new Array();
var ball=new Array();
function sample() {
paint();
var timer;
var delay = 100;
for(s=1;s<501;s++){
bx[s] = 50;
by[s] = 0;
dx[s] = 7;
dy[s] = 10;
ball[s]=0;
}
var loop = function () {
if(Math.random()>0.7)gun();
move();
wall();
for(s=1;s<501;s++){
if(by[s]>100)ball[s]=0;
if(by[s]>100)by[s]=0;
}
paint();
clearTimeout(timer);
timer = setTimeout(loop, delay);
}
loop();
}
function gun() {
sx=0;
for(s=1;s<501;s++){
if(ball[s]==0)sx=s;
}
ball[sx]=100;
by[sx]=0;
bx[sx]=50;
n1=10*Math.random();
n2=Math.floor(n1)-5;
dx[sx]=n2;
dy[sx]=10;
}
function paint() {
var sub = new svgpaint();
str = "<svg width=\"500\" height=\"500\">";
str = str + sub.rect(0, 0, 500, 500, "blue");
for(s=1;s<501;s++){
if(ball[s]>50) str = str + sub.rect(5*bx[s], 5*by[s], 5, 5, "red");
}
str = str + "</svg>";
$("#memo").html(str);
}
function move(){
for(s=1;s<501;s++){
d1=dx[s];
if(d1<0)d1=-1*d1;
d1=d1+dy[s];
d2=d1*Math.random();
x1=0;
y1=0;
if(d2<dy[s])y1=1;
if(d2>dy[s])x1=1;
if(dx[s]<0)x1=-1*x1;
bx[s]=bx[s]+x1;
by[s]=by[s]+y1;
}
}
function wall(){
for(s=1;s<501;s++){
h=0;
if(bx[s]>100)h=h+1;
if(dx[s]>0)h=h+1;
if(h==2)dx[s]=-1*dx[s];
h=0;
if(bx[s]<0)h=h+1;
if(dx[s]<0)h=h+1;
if(h==2)dx[s]=-1*dx[s];
}
}
最終更新:2016年11月15日 13:54