class ex{
a:number[][]=new Array();
b:number[][]=new Array();
faststep():void{
var s,sx;
for(s=1;s<6;s++){
for(sx=1;sx<6;sx++){
this.a[s][sx]=this.point();
}
}
}
plus():void{
var s,sx:number;
for(s=1;s<6;s++){
for(sx=1;sx<6;sx++){
if(this.a[s][sx]==0)this.a[s][sx]=this.point();
}
}
}
shuffle():void{
var s,sx,z,mode:number;
mode=0;
while(mode<50){
this.check();
z=0;
for(s=1;s<5;s++){
for(sx=1;sx<6;sx++){
if(this.a[s][sx]==0)z=100;
}
}
this.bomb();
if(z<60)mode=100;
}
}
bomb():void{
var s,sx,s1:number;
for(s=1;s<5;s++){
for(sx=1;sx<6;sx++){
s1=5-s;
this.play(s1,sx);
}
}
this.plus();
}
play(s:number,sx:number):void{
var c1,c2,y1:number;
c1=this.a[s][sx];
y1=s+1;
c2=this.a[y1][sx];
var h:number;
h=0;
if(c1==0)h=h+1;
if(c2>0)h=h+1;
if(h==2)this.a[s][sx]=c2;
if(h==2)this.a[y1][sx]=0;
}
check():void{
var s,sx,lx:number;
for(s=1;s<6;s++){
for(sx=1;sx<6;sx++){
this.b[s][sx]=0;
}}
for(s=1;s<6;s++){
for(sx=1;sx<6;sx++){
for(lx=3;lx<6;lx++){
this.tate(s,sx,lx);
this.yoko(s,sx,lx);
}
}
}
for(s=1;s<6;s++){
for(sx=1;sx<6;sx++){
if(this.b[s][sx]>50)this.a[s][sx]=0;
}}
}
tate(y1:number,x1:number,z1:number):void{
var c1:number;
c1=this.a[y1][x1];
var y2,y3,c2,c3:number;
var ch,chx:number;
var s:number;
ch=0;
for(s=1;s<z1;s++){
y2=y1+s;
if(y2>5)ch=100;
if(y2>5)y2=5;
c2=this.a[y2][x1];
chx=0;
if(c1==c2)chx=100;
if(chx<50)ch=100;
}
for(s=0;s<z1;s++){
y2=y1+s;
if(ch<50)this.b[y2][x1]=100;
}
}
yoko(y1:number,x1:number,z1:number):void{
var c1:number;
c1=this.a[y1][x1];
var x2,y3,c2,c3:number;
var ch,chx:number;
var s:number;
ch=0;
for(s=1;s<z1;s++){
x2=x1+s;
if(x2>5)ch=100;
if(x2>5)x2=5;
c2=this.a[y1][x2];
chx=0;
if(c1==c2)chx=100;
if(chx<50)ch=100;
}
for(s=0;s<z1;s++){
x2=x1+s;
if(ch<50)this.b[y1][x2]=100;
}
}
point():number{
var m1,m2:number;
m1=5*Math.random();
m2=Math.floor(m1)+1;
return m2;
}
}
var a=new Array();
var b=new Array();
function sample() {
for(s=1;s<6;s++){
a[s]=new Array();
b[s]=new Array();
}
var sub=new ex();
sub.a=a;
sub.faststep();
a=sub.a;
var sub2=new ex();
sub2.a=a;
sub2.b=b;
sub2.shuffle();
a=sub2.a;
paint();
}
function paint(){
var sub3=new svgpaint();
str="<svg width=\"500\" height=\"500\">";
for(s=1;s<6;s++){
for(sx=1;sx<6;sx++){
if(a[s][sx]==1)str=str+sub3.rect(100*sx-100,500-100*s,100,100,"red");
if(a[s][sx]==2)str=str+sub3.rect(100*sx-100,500-100*s,100,100,"green");
if(a[s][sx]==3)str=str+sub3.rect(100*sx-100,500-100*s,100,100,"blue");
if(a[s][sx]==4)str=str+sub3.rect(100*sx-100,500-100*s,100,100,"yellow");
if(a[s][sx]==5)str=str+sub3.rect(100*sx-100,500-100*s,100,100,"pink");
}}
str=str+"</svg>";
$("#memo").html(str);
}
最終更新:2016年11月17日 07:00