var ax = new Array();
var ay = new Array();
var a = new Array();
var bx = new Array();
var by = new Array();
var b = new Array();
function sample(){
faststep();
var timer;
var delay = 1000;
var loop = function () {
move_a();
move_b();
tank();
check();
paint();
clearTimeout(timer);
timer = setTimeout(loop, delay);
}
loop();
}
function check(){
for(s=1;s<11;s++){
if(ay[s]>10)faststep();
}
for(s=1;s<11;s++){
if(by[s]<1)faststep();
}
}
function tank(){
for (s = 1; s < 11; s++) {
for (sx = 1; sx < 11; sx++) {
x1 = ax[s] - bx[sx];
y1 = ay[s] - by[sx];
x1 = x1 * x1;
y1 = y1 * y1;
h = 0;
if (x1 < 2) h = h + 1;
if (y1 < 2) h = h + 1;
if (a[s] > 50) h = h + 1;
if (b[s] > 50) h = h + 1;
if (h == 4) fight(s, sx);
}
}
}
function fight(s,sx){
xx = 0;
if (Math.random() > 0.5) xx = 100;
if(xx<50)a[s] = 0;
if(xx>50)b[sx] = 0;
}
function move_a(){
for(s=1;s<11;s++){
r1 = Math.random();
dx = 0;
if (r1 < 0.5) dx = -1;
if (r1 > 0.5) dx = 1;
r1 = Math.random();
dy = 0;
if (r1 > 0.5) dy = 1;
ax[s] = ax[s] + dx;
ay[s] = ay[s] + dy;
}
for(s=1;s<11;s++){
if(ax[s]>10)ax[s]=10;
if(ax[s]<1)ax[s]=1;
if(ay[s]<1)ay[s]=1;
}
}
function move_b(){
for(s=1;s<11;s++){
r1 = Math.random();
dx = 0;
if (r1 > 0.5) dx = -1;
if (r1 < 0.5) dx = 1;
r1 = Math.random();
dy = 0;
if (r1 > 0.5) dy = -1;
bx[s] = bx[s] + dx;
by[s] = by[s] + dy;
}
for(s=1;s<11;s++){
if(bx[s]>10)bx[s]=10;
if(bx[s]<1)bx[s]=1;
if(by[s]>10)by[s]=10;
}
}
function faststep(){
for(s=1;s<11;s++){
ax[s]=5;
ay[s]=1;
a[s] =100;
}
for(s=1;s<11;s++){
bx[s]=5;
by[s]=10;
b[s] =100;
}
}
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<11;s++){
if(a[s]>50)str=str+sub.circle(50*ax[s]-25,525-50*ay[s],25,"red");
}
for(s=1;s<11;s++){
if(b[s]>50)str=str+sub.circle(50*bx[s]-25,525-50*by[s],25,"green");
}
str=str+"</svg>";
$("#memo").html(str);
}
最終更新:2015年06月03日 00:58