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