var cx, cy;
var x = new Array();
var y = new Array();
var col = new Array();
function sample(){
var sub=new doragon();
sub.faststep();
x = sub.x;
y = sub.y;
col = sub.col;
var sub2 = new doragon();
sub2.x = x;
sub2.y = y;
sub2.col = col;
sub2.ch();
col = sub2.col;
var sub3 = new doragon();
sub3.x = x;
sub3.y = y;
sub3.col = col;
sub3.rep();
col = sub3.col;
mode = 0;
while (mode < 50) {
var sub22 = new doragon();
sub22.x = x;
sub22.y = y;
sub22.col = col;
sub22.ch();
col = sub22.col;
var sub23 = new doragon();
sub23.x = x;
sub23.y = y;
sub23.col = col;
sub23.rep();
col = sub23.col;
var sub4 = new doragon();
sub4.x = x;
sub4.y = y;
sub4.col = col;
z = sub4.countx();
if (z < 1) mode = 100;
}
var timer;
var delay = 1000;
var loop = function () {
var sub32 = new doragon();
sub32.x = x;
sub32.y = y;
sub32.col = col;
sub32.ch();
col = sub32.col;
var sub33 = new doragon();
sub33.x = x;
sub33.y = y;
sub33.col = col;
sub33.rep();
col = sub33.col;
var sub34 = new doragon();
sub34.x = x;
sub34.y = y;
sub34.col = col;
z = sub34.countx();
if (z < 1) {
var sub5 = new doragon();
sub5.x = x;
sub5.y = y;
sub5.col = col;
sub5.changex();
col = sub5.col;
}
paint();
clearTimeout(timer);
timer = setTimeout(loop, delay);
}
loop();
paint();
}
function paint(){
var sub=new svgpaint();
str="<svg width=\"600\" height=\"700\">";
for(s=1;s<31;s++){
if(col[s]==1)str=str+sub.rect(100*x[s]-100,600-100*y[s],100,100,"red");
if(col[s]==2)str=str+sub.rect(100*x[s]-100,600-100*y[s],100,100,"green");
if(col[s]==3)str=str+sub.rect(100*x[s]-100,600-100*y[s],100,100,"blue");
if(col[s]==4)str=str+sub.rect(100*x[s]-100,600-100*y[s],100,100,"purple");
if(col[s]==5)str=str+sub.rect(100*x[s]-100,600-100*y[s],100,100,"orange");
}
str=str+"</svg>";
$("#memo").html(str);
}
class doragon{
x: number[] = new Array();
y: number[] = new Array();
col: number[] = new Array();
changex():void{
var n1,n2,m1,m2:number;
n1=30*Math.random();
n2=30*Math.random();
m1=Math.floor(n1)+1;
m2=Math.floor(n2)+1;
var c1,c2:number;
c1=this.col[m2];
c2=this.col[m1];
this.col[m1]=c1;
this.col[m2]=c2;
}
countx():number{
var nx:number;
var n1:number;
n1=0;
for(nx=1;nx<31;nx++){
if(this.check_t(nx)>50)n1=n1+1;
}
for(nx=1;nx<31;nx++){
if(this.check_y(nx)>50)n1=n1+1;
}
return n1;
}
rep():void{
var s,sx,n1:number;
for(s=1;s<31;s++){
n1=5*Math.random();
sx=Math.floor(n1)+1;
if(this.col[s]==0)this.col[s]=sx;
}
}
ch():void{
var nx:number;
for(nx=1;nx<31;nx++){
if(this.check_t(nx)>50)this.clear_t(nx);
}
for(nx=1;nx<31;nx++){
if(this.check_y(nx)>50)this.clear_y(nx);
}
}
clear_t(nx:number):void{
var x1,y1,c1:number;
x1=this.x[nx];
y1=this.y[nx];
this.col[nx]=0;
var y2,y3:number;
y2=y1+1;
y3=y2+1;
var s,h:number;
for(s=1;s<31;s++){
h=0;
if(this.x[s]==x1)h=h+1;
if(this.y[s]==y2)h=h+1;
if(h==2)this.col[s]=0;
}
for(s=1;s<31;s++){
h=0;
if(this.x[s]==x1)h=h+1;
if(this.y[s]==y3)h=h+1;
if(h==2)this.col[s]=0;
}
}
clear_y(nx:number):void{
var x1,y1,c1:number;
x1=this.x[nx];
y1=this.y[nx];
this.col[nx]=0;
var x2,x3:number;
x2=x1+1;
x3=x2+1;
var s,h:number;
for(s=1;s<31;s++){
h=0;
if(this.x[s]==x2)h=h+1;
if(this.y[s]==y1)h=h+1;
if(h==2)this.col[s]=0;
}
for(s=1;s<31;s++){
h=0;
if(this.x[s]==x3)h=h+1;
if(this.y[s]==y1)h=h+1;
if(h==2)this.col[s]=0;
}
}
check_t(nx:number):number{
var x1,y1,c1:number;
x1=this.x[nx];
y1=this.y[nx];
c1=this.col[nx];
var c2,c3:number;
c2=900;
c3=700;
var y2,y3:number;
y2=y1+1;
y3=y2+1;
var s,h:number;
for(s=1;s<31;s++){
h=0;
if(this.x[s]==x1)h=h+1;
if(this.y[s]==y2)h=h+1;
if(c1==this.col[s])h=h+1;
if(h==3)c2=100;
}
for(s=1;s<31;s++){
h=0;
if(this.x[s]==x1)h=h+1;
if(this.y[s]==y3)h=h+1;
if(c1==this.col[s])h=h+1;
if(h==3)c3=100;
}
h=0;
var z:number;
z=0;
if(c2==100)h=h+1;
if(c3==100)h=h+1;
if(h==2)z=100;
return z;
}
check_y(nx:number):number{
var x1,y1,c1:number;
x1=this.x[nx];
y1=this.y[nx];
c1=this.col[nx];
var c2,c3:number;
c2=900;
c3=700;
var x2,x3:number;
x2=x1+1;
x3=x2+1;
var s,h:number;
for(s=1;s<31;s++){
h=0;
if(this.x[s]==x2)h=h+1;
if(this.y[s]==y1)h=h+1;
if(c1==this.col[s])h=h+1;
if(h==3)c2=100;
}
for(s=1;s<31;s++){
h=0;
if(this.x[s]==x3)h=h+1;
if(this.y[s]==y1)h=h+1;
if(c1==this.col[s])h=h+1;
if(h==3)c3=100;
}
h=0;
var z:number;
z=0;
if(c2==100)h=h+1;
if(c3==100)h=h+1;
if(h==2)z=100;
return z;
}
faststep():void{
var s,sx,tx:number;
var c1:number;
tx=0;
for(s=1;s<6;s++){
for(sx=1;sx<7;sx++){
tx=tx+1;
this.x[tx]=sx;
this.y[tx]=s;
c1=5*Math.random();
this.col[tx]=Math.floor(c1)+1;
}
}
}
}
最終更新:2016年04月02日 04:35