<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>TypeScript HTML App</title>
<script src="triangle.js"></script>
<script src="sample.js"></script>
<script src="jquery.js"></script>
<script src="svgpaint.js"></script>
</head>
<body onload="sample()">
<div id="memo"></div>
</body>
</html>
var x = new Array();
var y = new Array();
var number_dir = new Array();
var dir = new Array();
var a = new Array();
var b = new Array();
function sample() {
for (s = 1; s < 101; s++) {
dir[s] = new Array();
}
var sub2 = new triangle();
sub2.faststep();
x = sub2.x;
y = sub2.y;
dir = sub2.dir;
number_dir = sub2.number_dir;
for (s = 1; s < 11; s++) {
a[s] = 1;
b[s] = 100;
}
var timer;
var delay = 1000;
var loop = function () {
move();
paint();
clearTimeout(timer);
timer = setTimeout(loop, delay);
}
loop();
}
function paint() {
var sub = new svgpaint();
str = "<svg width=\"500\" height=\"500\">";
for (s = 1; s < 11; s++) {
n1 = a[s];
str = str + sub.rect(50 * x[n1] - 50, 50 * y[n1] - 50, 50, 50, "red");
}
for (s = 1; s < 11; s++) {
n1 = b[s];
str = str + sub.rect(50 * x[n1] - 50, 50 * y[n1] - 50, 50, 50, "blue");
}
str = str + "</svg>";
$("#memo").html(str);
}
function move() {
for (s = 1; s < 11; s++) {
s1 = a[s];
n1 = number_dir[s1] * Math.random();
n2 = Math.floor(n1) + 1;
a[s] = dir[s1][n2];
}
for (s = 1; s < 11; s++) {
s1 = b[s];
n1 = number_dir[s1] * Math.random();
n2 = Math.floor(n1) + 1;
b[s] = dir[s1][n2];
}
}
class triangle {
x: number[] = new Array();
y: number[] = new Array();
number_dir: number[] = new Array();
dir: any[] = new Array();
faststep(): void {
var tx: number;
var s: number;
var sx: number;
var t: number;
tx = 0;
for (s = 1; s < 11; s++) {
for (sx = 1; sx < 11; sx++) {
tx = tx + 1;
this.x[tx] = s;
this.y[tx] = sx;
}
}
for (s = 1; s < 101; s++) {
this.dir[s] = new Array();
}
var s1: number;
var s2: number;
var x1: number;
var y1: number;
for (t = 1; t < 101; t++) {
tx = 0;
for (s1 = -1; s1 < 2; s1++) {
for (s2 = -1; s2 < 2; s2++) {
x1 = this.x[t] + s1;
y1 = this.y[t] + s2;
sx = this.search(x1, y1);
if (sx == t) sx = 0;
if (sx > 0) tx = tx + 1;
if (sx > 0) this.dir[t][tx] = sx;
}
}
this.number_dir[t] = tx;
}
}
search(x1: number, y1: number) {
var s: number;
var sx: number;
var h: number;
sx = 0;
for (s = 1; s < 101; s++) {
h = 0;
if (this.x[s] == x1) h = h + 1;
if (this.y[s] == y1) h = h + 1;
if (h == 2) sx = s;
}
return sx;
}
}
最終更新:2015年06月24日 16:57