アットウィキロゴ

sho@p

var sale = new Array();
var shop = new Array();
var number_dir = new Array();
var dir = new Array();
var dis = new Array();
var d = new Array();
 
function sample() {
 
    for (s = 1; s < 101; s++) {
        dir[s] = new Array();
        dis[s] = new Array();
        d[s] = new Array();
    }
 
    for (s = 1; s < 101; s++) {
    shop[s] = 100;
    }
 
    for (s = 2; s < 100; s++) {
        dir[s][1] = s - 1;
        dir[s][2] = s + 1;
        number_dir[s] = 2;
        dis[s][1] = 1;
        dis[s][2] = 1;
    }
 
 
    dir[1][1] = 2;
    number_dir[1] = 1;
    dis[1][1] = 1;
 
    dir[100][1] = 99;
    number_dir[100] = 1;
    dis[100][1] = 1;
 
 
    var timer;
    var delay = 100;
 
    var loop = function () {
 
        trip();
 
        dem();
 
        salex();
 
 
        rev();
 
        paint();
 
        clearTimeout(timer);
        timer = setTimeout(loop, delay);
    }
 
    loop();
 
 
}
 
function trip() {
 
    var p1 = 100 * Math.random();
    var s1 = Math.floor(p1) + 1;
 
 
    var t1 = number_dir[s1] * Math.random();
    var t2 = Math.floor(t1) + 1;
    var s2 = dir[s1][t2];
 
 
    var d1 = dis[s1][t2];
    t1 = number_dir[s2] * Math.random();
    t2 = Math.floor(t1) + 1;
    var s3 = dir[s2][t2];
    var d2 = dis[s2][t2];
 
 
    ch = 0;
    for (s = 1; s < number_dir[s1] + 1; s++) {
    if (dir[s1][s] == s3) ch = 100;
    }
 
 
 
    if (ch > 60) {
 
        n = 0;
        for(s=1;s<number_dir[s1]+1;s++){
        if(dir[s1][s]==s3)n=s;
    }
 
   if(dis[s1][n]>d1+d2)dis[s1][n] = d1 + d2;
 
   n = 0;
   for (s = 1; s < number_dir[s3] + 1; s++) {
  if (dir[s3][s] == s1) n = s;
   }
 
   if (dis[s3][n] > d1 + d2) dis[s3][n] = d1 + d2;
 
 
    }
 
 
 
    if (s3 == s1) ch = 100;
 
 
    if (ch < 60) {
 
        number_dir[s1] = number_dir[s1] + 1;
        n = number_dir[s1];
        dir[s1][n] = s3;
        dis[s1][n] = d1+d2;
 
        number_dir[s3] = number_dir[s3] + 1;
        n = number_dir[s3];
        dir[s3][n] = s1;
        dis[s3][n] = d1 + d2;
 
    }
 
 
 
 
}
 
 
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 < 101; s++) {
 str = str + sub.rect(5 *s, 500 -3*shop[s] ,5, 3*shop[s], "red");
    }
 
    str = str + "</svg>";
 
    $("#memo").html(str);
 
}
 
 
function rev() {
 
    for (s = 1; s < 101; s++) {
     if(sale[s]/shop[s]>1)shop[s]=1.05*shop[s];
    if (sale[s] / shop[s] > 1) shop[s] = 0.95 * shop[s];
    }
 
 
}
function salex() {
 
    for (s = 1; s < 101; s++) {
        sale[s] = 0;
    }
 
 
 
    for (dx = 1; dx < 101; dx++) {
        sale[dx] =d[dx][0];
        for (sx = 1; sx < number_dir[dx] + 1; sx++) {
        tx = dir[dx][sx];
        sale[tx] = sale[tx] + d[dx][sx];
        }
    }
 
}
 
function dem() {
 
 
    /**dx 需要側**/
 
    for (dx = 1; dx < 101; dx++) {
        d1 = shop[dx];
        for (sx = 1; sx < number_dir[dx] + 1; sx++) {
            d1 = d1 + shop[sx] / (dis[dx][sx] + 1);
        }
 
        r1 = shop[dx];
        d[dx][0] = 100 * r1 / d1;
        for (sx = 1; sx < number_dir[dx] + 1; sx++) {
            r1 = shop[sx] / (dis[dx][sx] + 1);
            d[dx][sx] = 100 * r1 / d1;
        }
 
    }
 
 
 
}
 
最終更新:2015年06月27日 01:54