アットウィキロゴ

patux

var ball = new Array();
var bx = new Array();
var by = new Array();
var dx = new Array();
var dy = new Array();
 
function sample() {
 
    for(s=1;s<101;s++){
    ball[s] = 0;
    dx[s] = 0;
    dy[s] = 0;
    bx[s] = 0;
    by[s] = 0;
    }
 
var timer;
var delay = 1000;
 
var loop = function () {
 
    var sub = new ex();
    sub.ball = ball;
    sub.bx = bx;
    sub.by = by;
    sub.dx = dx;
    sub.dy = dy;
    sub.move();
    ball = sub.ball;
    bx = sub.bx;
    by = sub.by;
    dx = sub.dx;
    dy = sub.dy;
 
    if (Math.random() > 0.5) {
 
        var sub2 = new ex();
        sub2.ball = ball;
        sub2.bx = bx;
        sub2.by = by;
        sub2.dx = dx;
        sub2.dy = dy;
        sub2.strike();
        ball = sub2.ball;
        bx = sub2.bx;
        by = sub2.by;
        dx = sub2.dx;
        dy = sub2.dy;
    }
 
 
    paint();
 
 
    clearTimeout(timer);
    timer = setTimeout(loop, delay);
}
 
loop();
 
 
 
 
}
 
function paint(){
 
var sub3=new svgpaint();
 
str="<svg width=\"500\" height=\"500\">";
 
str=str+sub3.rect(0,0,500,500,"blue");
 
for(s=1;s<101;s++){    
if(ball[s]>50)str=str+sub3.rect(bx[s],by[s],5,5,"black");
} 
 
str=str+"</svg>";
 
$("#memo").html(str);   
 
}
 
 
class ex{
 
bx:number[]=new Array();
by:number[]=new Array();
dx:number[]=new Array();
dy:number[]=new Array();
ball:number[]=new Array();
g:number;
 
move():void{
 
var s:number;
 
this.g=10;
 
for(s=1;s<101;s++){
this.dy[s]=this.dy[s]+this.g;
}
 
 
for(s=1;s<101;s++){
this.bx[s]=this.bx[s]+this.dx[s];
this.by[s]=this.by[s]+this.dy[s];
}
 
var h:number;
 
 
for(s=1;s<101;s++){
h=0;
if(this.bx[s]>500)h=h+1;
if(this.dx[s]>0)h=h+1;
if(h==2)this.dx[s]=-this.dx[s];
h=0;
if(this.bx[s]<0)h=h+1;
if(this.dx[s]<0)h=h+1;
if(h==2)this.dx[s]=-this.dx[s];
}
 
for(s=1;s<101;s++){
if(this.by[s]>500)this.ball[s]=0;
}
 
}
 
strike():void{
 
var s,sx:number;
 
sx=0;
for(s=1;s<101;s++){
if(this.ball[s]<50)sx=s;
}
 
if(sx>0){
 
this.bx[sx]=250;
this.by[sx]=0;
 
var n1:number;
var n2:number;
 
n1=10*Math.random();
n2=Math.floor(n1)-5;
this.dx[sx]=n2;
 
this.dy[sx]=0;
this.ball[sx]=100;
}
 
}
 
 
}
最終更新:2015年10月04日 10:30