var x=new Array();
function sample() {
for(s=1;s<6;s++){
x[s]=new Array();
}
for(s=1;s<6;s++){
for(sx=1;sx<6;sx++){
n1=5*Math.random();
n2=Math.floor(n1)+1;
x[s][sx]=n2;
}
}
var timer;
var delay = 1000;
var loop = function () {
var subx=new ex();
subx.x=x;
subx.move();
x=subx.x;
var suby=new ex();
suby.x=x;
suby.check();
x=suby.x;
paint();
clearTimeout(timer);
timer = setTimeout(loop, delay);
}
loop();
}
function paint(){
var sub3=new svgpaint();
str="<svg width=\"500\" height=\"500\">";
str=str+sub3.rect(0,0,500,500,"blue");
for(s=1;s<6;s++){
for(sx=1;sx<6;sx++){
if(x[s][sx]==1)str=str+sub3.rect(100*sx-100,100*s-100,100,100,"red");
if(x[s][sx]==2)str=str+sub3.rect(100*sx-100,100*s-100,100,100,"green");
if(x[s][sx]==3)str=str+sub3.rect(100*sx-100,100*s-100,100,100,"blue");
if(x[s][sx]==4)str=str+sub3.rect(100*sx-100,100*s-100,100,100,"yellow");
if(x[s][sx]==5)str=str+sub3.rect(100*sx-100,100*s-100,100,100,"pink");
} }
str=str+"</svg>";
$("#memo").html(str);
}
class ex{
x:any[]=new Array();
check():void{
var s,sx:number;
for(s=1;s<6;s++){
for(sx=1;sx<4;sx++){
this.yoko(s,sx);
}
}
for(s=1;s<4;s++){
for(sx=1;sx<6;sx++){
this.tate(s,sx);
}
}
var c1,c2:number;
for(s=1;s<6;s++){
for(sx=1;sx<6;sx++){
c1=5*Math.random();
c2=Math.floor(c1)+1;
if(this.x[s][sx]==0)this.x[s][sx]=c2;
}
}
}
yoko(y1:number,x1:number):void{
var c1:number;
c1=this.x[y1][x1];
var x2,x3,c2,c3:number;
var ch:number;
ch=0;
x2=x1+1;
if(x2>5)ch=100;
x3=x1+2;
if(x3>5)ch=100;
c2=this.x[y1][x2];
c3=this.x[y1][x3];
var h:number;
h=0;
if(c1==c2)h=h+1;
if(c1==c3)h=h+1;
if(ch<50)h=h+1;
if(h==3)this.x[y1][x1]=0;
if(h==3)this.x[y1][x2]=0;
if(h==3)this.x[y1][x3]=0;
}
tate(y1:number,x1:number):void{
var c1:number;
c1=this.x[y1][x1];
var y2,y3,c2,c3:number;
var ch:number;
ch=0;
y2=y1+1;
if(y2>5)ch=100;
y3=y1+2;
if(y3>5)ch=100;
c2=this.x[y2][x1];
c3=this.x[y3][x1];
var h:number;
h=0;
if(c1==c2)h=h+1;
if(c1==c3)h=h+1;
if(ch<50)h=h+1;
if(h==3)this.x[y1][x1]=0;
if(h==3)this.x[y2][x1]=0;
if(h==3)this.x[y3][x1]=0;
}
move():void{
var m1,mx2,m2,nx2,n2,n1,c1,c2:number;
m1=5*Math.random();
m2=Math.floor(m1)+1;
n1=5*Math.random();
n2=Math.floor(n1)+1;
c1=this.x[m2][n2];
m1=5*Math.random();
mx2=Math.floor(m1)+1;
n1=5*Math.random();
nx2=Math.floor(n1)+1;
c2=this.x[mx2][nx2];
this.x[m2][n2]=c2;
this.x[mx2][nx2]=c1;
}
}
<!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="app.js"></script>
<title>パズル</title>
</head>
<body onload="sample()">
<p id="memo"></p>
</body>
</html>
最終更新:2016年11月14日 11:26