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 (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*sale[s] ,5, 3*sale[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:42