アットウィキロゴ

yoki

<!DOCTYPE html>
<html lang="ja">
    <head>
        <meta charset="utf-8" />
        <script src="sample.js"></script>
        <script src="jquery.js"></script>
        <script src="ex.js"></script>
        <script src="svgpaint.js"></script>
        <title>信長の野望</title>
    </head>
    <body onload="sample()">
        <p id="memo"></p>
 
    </body>
</html>
 
 
var dir = new Array();
var x = new Array();
var y = new Array();
var number_dir = new Array();
 
function sample() {
 
for(s=1;s<101;s++){
dir[s]=new Array();
}
 
var sub = new ex();
sub.dir = dir;
sub.faststep();
dir = sub.dir;
number_dir = sub.number_dir;
x = sub.x;
y = sub.y;
 
var timer;
var delay = 100;
 
ball = 5;
 
var loop = function () {
 
    var sub3 = new ex();
    sub3.number_dir = number_dir;
    sub3.dir = dir;
    ball=sub3.move(ball);
 
    paint();
 
    clearTimeout(timer);
    timer = setTimeout(loop, delay);
}
 
loop();
 
 
 
}
 
 
function paint(){
 
var sub2=new svgpaint();
 
str="<svg width=\"500\" height=\"500\">"; 
str=str+sub2.rect(0,0,500,500,"blue");
str=str+sub2.rect(50*x[ball],50*y[ball],50,50,"red");
str=str+"</svg>";
 
$("#memo").html(str);   
 
}
 
 
class ex{
 
y:number[]=new Array();
x:number[]=new Array();
dir:any[]=new Array();
number_dir:number[]=new Array();
 
 
faststep():void{
 
var s,sx,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;    
}}
 
var t,s1,s2,x1,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):number{
 
    var s,sx,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;
 
}
 
move(bx:number):number{
 
var n1:number;
var n2:number;
 
n1=this.number_dir[bx]*Math.random();
n2=Math.floor(n1)+1;
 
 
var k:number;
 
k=this.dir[bx][n2];
return k;
}
 
 
} 
 
最終更新:2015年10月03日 20:20