アットウィキロゴ

de097

var bx = new Array();
var by = new Array();
var dx = new Array();
var dy = new Array();
var ball = new Array();
var nx = new Array();
var ny = new Array();
var mode;
 
function sample(){
 
    mode = 1;
 
var timer;
var delay = 100;
 
for(s=1;s<101;s++){
bx[s] = 250;
by[s] = 500;
dx[s] = s;
dy[s] = -10;
ball[s] =0;
nx[s] = 250;
ny[s] = 30 * s;
}
 
 
var loop = function () {
 
    if (Math.random() > 0.9) strike();
 
    for (s = 1; s < 101; s++) {
        by[s] = by[s] + dy[s];
        bx[s] = bx[s] + dx[s];
        if (by[s] < 0) ball[s] = 0;
 
    }
 
    neck();
 
    wall();
 
    paint();
 
    clearTimeout(timer);
    timer = setTimeout(loop, delay);
}
 
loop();
 
 
}
 
function wall(){
 
for(s=1;s<101;s++){
h=0;
if(bx[s]>500)h=h+1;
if(dx[s]>0)h=h+1;
if (h == 2) dx[s] = -dx[s]; 
}
 
for(s=1;s<101;s++){
h=0;
if(bx[s]<0)h=h+1;
if(dx[s]<0)h=h+1;
if (h == 2) dx[s] = -dx[s]; 
}
 
 
 
}
 
function neck(){
 
for(s=1;s<101;s++){        
for(sx=1;sx<11;sx++){
e=(bx[s]-nx[sx])*(bx[s]-nx[sx]);
e=e+(by[s]-ny[sx])*(by[s]-ny[sx]);
if(e<100)dx[s]=-dx[s];
if (e < 100) mode = 2;
}
 
}
 
 
 
    }
 
function strike(){
 
    sx = 0;
for(s=1;s<101;s++){
if(ball[s]<50)sx=s;    
}
 
n1=50*Math.random();
n2=Math.floor(n1);
 
if (sx > 0) ball[sx] = 100;
if (sx > 0) bx[sx] = 250;
if (sx > 0) by[sx] = 500;
if (sx > 0) dx[sx] = n2;
 
}
 
 
function paint() {
 
    var sub = new svgpaint();
 
    str = "<svg width=\"500\" height=\"500\">";
    str = str + sub.rect(0, 0, 500, 500, "blue");
    if(mode==2) str = str + sub.rect(0, 0, 500, 500, "red");
    for(s=1;s<101;s++){
if(ball[s]>60) str = str + sub.rect(bx[s], 500-by[s], 10, 10, "green");
    }
 
    str = str + "</svg>";
 
    $("#memo").html(str);
 
    mode = 1;
 
}
最終更新:2015年10月14日 00:37