class war{
b:number[]=new Array();
a:number[]=new Array();
x:number[]=new Array();
y:number[]=new Array();
number_dir:number[]=new Array();
dir:number[][]=new Array();
rank_a:number[]=new Array();
rank_b:number[]=new Array();
fight_a(s:number){
var sx,c,n,s1,k:number;
s1=this.a[s];
k=0;
for(n=1;n<this.number_dir[s1]+1;n++){
c=this.dir[s1][n];
for(sx=1;sx<11;sx++){
if(this.b[sx]==c)k=sx;
}
}
if(k>0)this.b[k]=100;
}
fight_b(s:number){
var sx,c,n,s1,k:number;
s1=this.b[s];
k=0;
for(n=1;n<this.number_dir[s1]+1;n++){
c=this.dir[s1][n];
for(sx=1;sx<11;sx++){
if(this.a[sx]==c)k=sx;
}
}
if(k>0)this.a[k]=1;
}
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.y[tx]=s;
this.x[tx]=sx;
}
}
var x1,y1,h,n,ch:number;
var dx=new Array();
var dy=new Array();
dx[1]=1;
dy[1]=0;
dx[2]=-1;
dy[2]=0;
dx[3]=0;
dy[3]=1;
dx[4]=0;
dy[4]=-1;
for(s=1;s<101;s++){
n=0;
for(sx=1;sx<5;sx++){
x1=this.x[s]+dx[sx];
y1=this.y[s]+dy[sx];
ch=0;
for(tx=1;tx<101;tx++){
h=0;
if(this.x[tx]==x1)h=h+1;
if(this.y[tx]==y1)h=h+1;
if(h==2)ch=tx;
}
if(ch>0)n=n+1;
if(ch>0)this.dir[s][n]=ch;
}
this.number_dir[s]=n;
}
for(s=1;s<11;s++){
this.a[s]=s;
this.b[s]=90+s;
}
}
move_a(s:number):void{
var s1,s2,sx,tx,ch,n:number;
var de=new Array();
s1=this.a[s];
n=0;
for(sx=1;sx<this.number_dir[s1]+1;sx++){
s2=this.dir[s1][sx];
ch=0;
for(tx=1;tx<11;tx++){
if(s2==this.a[tx])ch=100;
}
for(tx=1;tx<11;tx++){
if(s2==this.b[tx])ch=100;
}
if(ch<60)n=n+1;
if(ch<60)de[n]=s2;
}
var m1,m2:number;
m1=n*Math.random();
m2=Math.floor(m1)+1;
if(n>0)this.a[s]=de[m2];
}
move_b():void{
var r,s,s1,s2,s3,x1,y1,x2,y2:number;
var minp,sx,sxs,h,e1:number;
var ch:number[]=new Array();
var den:number[]=new Array();
this.ranking_a();
this.ranking_b();
for(s=1;s<11;s++){
s1=this.rank_a[s];
s2=this.a[s1];
x1=this.x[s2];
y1=this.y[s2];
s1=this.rank_b[s];
s2=this.b[s1];
minp=99999;
sxs=0;
for(sx=1;sx<this.number_dir[s2]+1;sx++){
s3=this.dir[s2][sx];
x2=this.x[s3];
y2=this.y[s3];
e1=(x1-x2)*(x1-x2)+(y1-y2)*(y1-y2);
if(e1<minp)sxs=s3;
if(e1<minp)minp=e1;
}
this.b[s1]=sxs;
}
}
ranking_b():void{
var r,s,s1,x1,y1,x2,y2:number;
var minp,sx,h,e1:number;
var ch:number[]=new Array();
for(r=1;r<11;r++){
ch[r]=0;
}
for(r=1;r<11;r++){
s=this.rank_a[r];
s1=this.a[s];
x1=this.x[s1];
y1=this.y[s1];
minp=999999;
sx=0;
for(s=1;s<11;s++){
h=0;
s1=this.b[s];
x2=this.x[s1];
y2=this.y[s1];
e1=(x1-x2)*(x1-x2)+(y1-y2)*(y1-y2);
if(e1<minp)h=h+1;
if(ch[s]<60)h=h+1;
if(h==2)minp=e1;
if(h==2)sx=s;
}
this.rank_b[r]=sx;
ch[sx]=100;
}
}
ranking_a():void{
var s,sx,r,s1:number;
var ch:number[]=new Array();
var maxp,h:number;
for(r=1;r<11;r++){
ch[r]=0;
}
for(r=1;r<11;r++){
maxp=0;
sx=0;
for(s=1;s<11;s++){
h=0;
s1=this.a[s];
if(this.y[s1]>maxp)h=h+1;
if(ch[s]<60)h=h+1;
if(h==2)maxp=this.y[s1];
if(h==2)sx=s;
}
this.rank_a[r]=sx;
ch[sx]=100;
}
}
}
最終更新:2016年11月28日 23:11