アットウィキロゴ

鉄道097y

var d_line=new Array();
var a_line=new Array();
var b_line=new Array();
var number_line;
var number;
var x=new Array();
var y=new Array();
 
var trip=new Array();
var number_trip;
 
var point=new Array();
 
function sample(){
 
 
faststep();       
 
for(tr=1;tr<101;tr++){    
 
gotrip();
 
for(tr1=1;tr1<number_trip;tr1++){
for(tr2=tr1+1;tr2<number_trip+1;tr2++){    
plus(tr1,tr2);    
}}
 
}
 
count_line();    
 
paint();
 
}
 
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\">";
 
for(s=1;s<101;s++){     
if(point[s]>0)str=str+sub.rect(50*x[s],50*y[s],50,50,"blue");   
if(point[s]>9)str=str+sub.rect(50*x[s],50*y[s],50,50,"brown");
if(point[s]>24)str=str+sub.rect(50*x[s],50*y[s],50,50,"yellow");
if(point[s]>49)str=str+sub.rect(50*x[s],50*y[s],50,50,"pink");
if(point[s]>74)str=str+sub.rect(50*x[s],50*y[s],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;    
}
 
function faststep(){
 
var s,sx,tx,delta;    
 
tx=0;
for(s=1;s<11;s++){
for(sx=1;sx<11;sx++){
tx=tx+1;
x[tx]=sx;
y[tx]=s;
}}
 
number=tx;
 
number_line=0;    
 
for(delta=1;delta<101;delta++){
changex(delta);
}
 
for(delta=1;delta<101;delta++){
changey(delta);
}
 
 
 
 
}
 
function changex(delta){
 
var x1=x[delta]+1;
var y1=y[delta];
var sp=0;   
 
var s,h;    
for(s=1;s<number+1;s++){
h=0;
if(x[s]==x1)h=h+1;
if(y[s]==y1)h=h+1;    
if(h==2)sp=s;
}
 
var ch;    
ch=0;    
for(s=1;s<number_line+1;s++){
h=0;
if(a_line[s]==delta)h=h+1;
if(b_line[s]==sp)h=h+1;    
if(h==2)ch=100;
}    
 
for(s=1;s<number_line+1;s++){
h=0;
if(b_line[s]==delta)h=h+1;
if(a_line[s]==sp)h=h+1;    
if(h==2)ch=100;
}      
 
 
if(sp<1)ch=100;    
if(ch<50)number_line=number_line+1;
if(ch<50)a_line[number_line]=delta;
if(ch<50)b_line[number_line]=sp;        
if(ch<50)d_line[number_line]=1; 
 
}
 
function changey(delta){
 
var x1=x[delta];
var y1=y[delta]+1;
var sp=0;   
 
var s,h;    
for(s=1;s<number+1;s++){
h=0;
if(x[s]==x1)h=h+1;
if(y[s]==y1)h=h+1;    
if(h==2)sp=s;
}
 
var ch;    
ch=0;    
for(s=1;s<number_line+1;s++){
h=0;
if(a_line[s]==delta)h=h+1;
if(b_line[s]==sp)h=h+1;    
if(h==2)ch=100;
}    
 
for(s=1;s<number_line+1;s++){
h=0;
if(b_line[s]==delta)h=h+1;
if(a_line[s]==sp)h=h+1;    
if(h==2)ch=100;
}      
 
 
if(sp<1)ch=100;    
if(ch<50)number_line=number_line+1;
if(ch<50)a_line[number_line]=delta;
if(ch<50)b_line[number_line]=sp;        
if(ch<50)d_line[number_line]=1; 
 
}
 
最終更新:2015年05月02日 16:03