<!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();
var ball, a;
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;
a = 20;
var loop = function () {
var sub3 = new ex();
sub3.number_dir = number_dir;
sub3.dir = dir;
ball = sub3.move(ball);
a = sub3.move(a);
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+sub2.rect(50*x[a],50*y[a],50,50,"green");
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:31