アットウィキロゴ

patink

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