アットウィキロゴ

type987

<!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