アットウィキロゴ

えx092901

<!DOCTYPE html>
<html lang="ja">
    <head>
        <meta charset="utf-8" />
        <script src="sample.js"></script>
        <script src="jquery.js"></script>
        <script src="svgpaint.js"></script>
        <script src="ex.js"></script>
        <title>信長の野望</title>
    </head>
    <body onload="sample()">
        <p id="memo"></p>
 
 
    </body>
</html>
 
 
var number_link = new Array();
var link = new Array();
var x = new Array();
var y = new Array();
var delta = new Array();
var k = new Array();
 
function sample(){
 
    for (s = 1; s < 101;s++ ){
    link[s]=new Array();    
    }
 
 
    var sub = new ex();
    sub.faststep();
    number_link = sub.number_link;
    link = sub.link;
    x = sub.x;
    y = sub.y;
    delta = sub.delta;
    k = sub.k;
 
var timer;
var delay = 1000;
 
var loop = function () {
 
    for (s = 1; s < 101; s++) {
        var s4 = delta[s];
        var n1 = number_link[s4];
        var n2 = n1 * Math.random();
        var n3 = Math.floor(n2) + 1;
        delta[s] = link[s4][n3];
        sx = delta[s];
        k[sx] = s;
    }
 
 
 
    paint();
 
    clearTimeout(timer);
    timer = setTimeout(loop, delay);
}
 
loop();
 
 
 
 
 
 
}
 
function paint(){
 
var sub2=new svgpaint();
 
str="<svg width=\"500\" height=\"500\">";
for(s=1;s<101;s++){
if(k[s]>50)str=str+sub2.rect(50*x[s]-50,500-50*y[s],50,50,"blue");
if(k[s]<50)str=str+sub2.rect(50*x[s]-50,500-50*y[s],50,50,"red");
}
str=str+"</svg>";
 
$("#memo").html(str);   
 
}
 
 
 
 class ex{
 
x: number[] = new Array();
y: number[] = new Array();
delta: number[] = new Array();
k: number[] = new Array();
link: any[] = new Array();
number_link: number[] = new Array();
 
faststep():void{
 
var s:number;
var sx:number;
var tx: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;
this.delta[tx]=tx;
this.k[tx]=tx;
}
}
 
 
 
for(s=1;s<101;s++){
this.link[s]=new Array();
}
 
var dx:number;
var dy:number;
var s1:number;
 
for(s=1;s<101;s++){
tx=0;
for(dx=-1;dx<2;dx++){
for(dy=-1;dy<2;dy++){
s1=this.search(s,dx,dy);
if(s1>0)tx=tx+1;
if(s1>0)this.link[s][tx]=s1;
}
}
this.number_link[s]=tx;
}
 
 
 
 
}
 
search(s:number,dx:number,dy:number):number{
 
var x1=this.x[s]+dx;
var y1=this.y[s]+dy;
 
var sx:number;
var h:number;
var s1:number;
 
 
s1=0;
for(sx=1;sx<101;sx++){
h=0;
if(x1==this.x[sx])h=h+1;
if(y1==this.y[sx])h=h+1
if(h==2)s1=sx;
}
 
if(s1==s)s1=0;
 
return s1;
}
 
 
 
 
}
 
最終更新:2015年09月28日 22:33