アットウィキロゴ

tet98

var d_line=new Array();
var a_line=new Array();
var b_line=new Array();
var number_line;
var number;
 
var trip=new Array();
var number_trip;
 
var point=new Array();
 
function sample(){
 
var timer;
var delay = 100;
 
number=100;    
 
for(s=1;s<number;s++){
a_line[s]=s;
b_line[s]=s+1;   
d_line[s]=1;
}
 
number_line=99;       
 
 
var loop = function(){
 
gotrip();
 
for(tr1=1;tr1<number_trip;tr1++){
for(tr2=tr1+1;tr2<number_trip+1;tr2++){    
plus(tr1,tr2);    
}}
 
count_line();    
 
paint();
 
clearTimeout(timer);
timer = setTimeout(loop,delay);
}
 
loop();
 
}
 
function count_line(){
 
 
for(s=1;s<number+1;s++){
point[s]=0;
}
 
 
for(s=1;s<number_line+1;s++){
s1=a_line[s];
s2=b_line[s];
point[s1]=point[s1]+1;
point[s2]=point[s2]+1;    
}
 
 
}
 
function paint(){
 
var sub=new svgpaint();
 
str="<svg width=\"500\" height=\"500\">";
 
tx=0;    
for(s=1;s<11;s++){    
for(sx=1;sx<11;sx++){ 
tx=tx+1;
 if(point[tx]>5)str=str+sub.rect(50*s,50*sx,50,50,"blue");   
if(point[tx]>10)str=str+sub.rect(50*s,50*sx,50,50,"pink");
if(point[tx]>20)str=str+sub.rect(50*s,50*sx,50,50,"red");
}}
 
str=str+"</svg>";
 
$("#memo").html(str);   
 
}
 
 
function plus(tr1,tr2){
 
var x1=trip[tr1];
var x2=trip[tr2];    
var l1=check_line(x1,x2);
 
if(l1==0)number_line=number_line+1;
if(l1==0)a_line[number_line]=x1;
if(l1==0)b_line[number_line]=x2;
if(l1==0)d_line[number_line]=dis_trip(tr1,tr2);        
}
function dis_trip(tr1,tr2){
 
d1=0;    
for(s=tr1;s<tr2;s++){
sx=check_line(trip[s],trip[s+1]);
d1=d1+d_line[sx];    
}
 
return d1;    
}
 
 
function check_line(s1,s2){
 
var s,ss;    
    ss=0;
for(s=1;s<number_line+1;s++){
h=0;
if(a_line[s]==s1)h=h+1;
if(b_line[s]==s2)h=h+1;  
if(h==2)ss=s;    
}
 
for(s=1;s<number_line+1;s++){
h=0;
if(b_line[s]==s1)h=h+1;
if(a_line[s]==s2)h=h+1;  
if(h==2)ss=s;    
}
 
 
return ss;
 
}
 
function gotrip(){
 
trip[1]=fast();    
number_trip=1;
 
var mode=0;    
while(mode<50){
var m1=search(trip[number_trip]);    
var cc=check_trip(m1);    
if(cc<50)number_trip=number_trip+1;
if(cc<50)trip[number_trip]=m1;
if(cc>50)mode=100;
}    
 
}
 
 
function check_trip(delta){
 
var s,chx;    
    chx=0;
for(s=1;s<number_trip+1;s++){
if(trip[s]==delta)chx=100;
}
return chx;
 
}
 
 
 
function search(delta){
 
var chx=new Array();
var z=new Array();
var number_z;
 
for(s=1;s<number+1;s++){    
chx[s]=0;    
}
 
for(s=1;s<number_line+1;s++){
s1=b_line[s];
if(a_line[s]==delta)chx[s1]=100;
}
 
for(s=1;s<number_line+1;s++){
s1=a_line[s];
if(b_line[s]==delta)chx[s1]=100;
}    
 
var sx=0;
for(s=1;s<number+1;s++){    
if(chx[s]>50)sx=sx+1;
if(chx[s]>50)z[sx]=s;    
}
number_z=sx;
 
var n1=number_z*Math.random();
var n2=Math.floor(n1)+1;    
 
return z[n2];    
 
}
 
 
function fast(){
 
var n1=number*Math.random();
 var n2=Math.floor(n1)+1;
 
return n2;    
}
最終更新:2015年05月02日 13:53