p6668

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