var a = new Array();
var b = new Array();
var x = new Array();
var y = new Array();
var dir = new Array();
var number_dir = new Array();
function sample() {
for (s = 1; s < 11; s++) {
a[s] = 1;
b[s] = 100;
}
tx = 0;
for (s = 1; s < 11; s++) {
for (sx = 1; sx < 11; sx++) {
tx = tx + 1;
x[tx] = s;
y[tx] = sx;
}
}
for (s = 1; s < 101; s++) {
dir[s] = new Array();
}
for (s = 1; s < 101; s++) {
t = 0;
for (s1 = -1; s1 < 2; s1++) {
for (s2 = -1; s2 < 2; s2++) {
tx = search(x[s] + s1, y[s] + s2);
if (tx == s) tx = 0;
if (tx > 0) t = t + 1;
if (tx > 0) dir[s][t] = tx;
}
}
number_dir[s] = t;
}
var timer;
var delay = 100;
var loop = function () {
move();
paint();
clearTimeout(timer);
timer = setTimeout(loop, delay);
}
loop();
}
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++) {
sx = a[s];
str = str + sub.rect(50 * x[sx] - 50, 500 - 50 * y[sx], 50, 50, "red");
}
for (s = 1; s < 11; s++) {
sx = b[s];
str = str + sub.rect(50 * x[sx] - 50, 500 - 50 * y[sx], 50, 50, "green");
}
str = str + "</svg>";
$("#memo").html(str);
}
function move() {
for (s = 1; s < 11; s++) {
v = a[s];
var n1 = number_dir[v] * Math.random();
var n2 = Math.floor(n1) + 1;
a[s] = dir[v][n2];
}
for (s = 1; s < 11; s++) {
v = b[s];
var n1 = number_dir[v] * Math.random();
var n2 = Math.floor(n1) + 1;
b[s] = dir[v][n2];
}
}
function search(x1, y1) {
var s, sx;
sx = 0;
for (s = 1; s < 101; s++) {
h = 0;
if (x[s] == x1) h = h + 1;
if (y[s] == y1) h = h + 1;
if (h == 2) sx = s;
}
return sx;
}
最終更新:2015年06月20日 15:27