var mode;
var ball = new Array();
var bx = new Array();
var by = new Array();
var dx = new Array();
var dy = new Array();
var a1 = new Array();
var a2 = new Array();
var a3 = new Array();
var n;
var number;
var delta = new Array();
var ne = new Array();
function sample(){
number=1000;
mode = 1;
n = 1;
faststep();
var timer;
var delay = 100;
var loop = function () {
strike();
move();
point();
cal();
de();
f();
paint();
clearTimeout(timer);
timer = setTimeout(loop, delay);
}
loop();
}
function f() {
for(s=1;s<101;s++){
x1=Math.floor(bx[s]/10);
y1=Math.floor(by[s]/10);
if(x1>99)x1=99;
if(y1 > 99)y1 = 99;
if(x1<2)x1=1;
if(y1<2)y1 = 1;
if(ne[x1][y1]> 50)dx[s] = -dx[s];
}
}
function cal() {
if (Math.random() > 0.9) mode = 3;
h=0;
if (a1[n] == a2[n]) h = h + 1;
if (a1[n] == a3[n]) h = h + 1;
if (mode == 3) h = h + 1;
if (h == 3) number = number + 100;
if (mode == 3) mode = 1;
}
function de(){
for(s=1;s<101;s++){
h = 0;
if (by[s] < 20) h = h + 1;
if (ball[s] >50) h = h + 1;
if (h == 2) ball[s] = 0;
}
}
function point(){
for(s=1;s<101;s++){
x1=Math.floor(bx[s]/10);
y1=Math.floor(by[s]/10);;
if(x1>99)x1=99;
if(y1 > 99)y1 = 99;
if(x1<2)x1=1;
if (y1<2) y1 = 1;
if (delta[x1][y1] > 50) mode = 2;
}
}
function move(){
for(s=1;s<101;s++){
bx[s]=bx[s]+dx[s];
by[s]=by[s]+dy[s];
}
if (mode == 2) n=n+1;
if (n > 100) n = 1;
}
function faststep(){
for(s=1;s<101;s++){
a1[s]=randx();
a2[s]=randx();
a3[s]=randx();
}
for (s = 1; s < 101;s++ ){
delta[s]=new Array();
}
for (s = 1; s < 101;s++ ){
for (sx = 1; sx < 101;sx++ ){
delta[s][sx]=0;
}}
delta[50][50] = 100;
delta[51][50] = 100;
delta[49][50] = 100;
delta[48][50] = 100;
delta[47][50] = 100;
for (s = 1; s < 101;s++ ){
ne[s]=new Array();
}
for (s = 1; s < 101;s++ ){
for (sx = 1; sx < 101;sx++ ){
ne[s][sx]=0;
if (Math.random() > 0.9) ne[s][sx] = 100;
}}
for (s = 1; s < 101; s++) {
ball[s] = 0;
bx[s] = 0;
by[s] = 0;
dx[s] = 0;
dy[s] = 0;
}
}
function strike(){
var s,sx;
sx=0;
for(s=1;s<101;s++){
if(ball[s]<50)sx=s;
}
if(sx>0)ball[sx]=100;
if(sx>0)number=number-1;
if(sx>0)bx[sx]=500;
if(sx>0)by[sx]=1000;
if(sx>0)dx[sx]=randx();
if(sx>0)dy[sx]=-randx();
}
function randx(){
x1 = 10 * Math.random();
x2 = Math.floor(x1) + 1;
return x2;
}
function paint(){
var sub=new svgpaint();
str="<svg width=\"500\" height=\"500\">";
str=str+sub.rect(5,5,500,500,"blue");
for(s=1;s<number+1;s++){
if(ball[s]>50)str=str+sub.rect(5*bx[s]/10,500-5*by[s]/10,5,5,"red");
}
for (s = 1; s < 101;s++ ){
for (sx = 1; sx < 101;sx++ ){
if(ne[s][sx]>50)str=str+sub.rect(5*s,500-5*sx,5,5,"yellow");
}}
str=str+"</svg>";
$("#memo").html(str);
}
最終更新:2015年05月19日 21:24