var x=new Array();
var y=new Array();
var dir=new Array();
var number_dir=new Array();
var link_a=new Array();
var link_b=new Array();
var number_link;
var card_a=new Array();
var card_b=new Array();
var number_card;
function sample(){
tx=0;
for(s=1;s<11;s++){
for(sx=1;sx<11;sx++){
tx=tx+1;
x[tx]=s;
y[tx]=sx;
}
}
for(s=1;s<101;s++){
dir[s]=new Array();
}
for(s=1;s<101;s++){
tx=0;
for(s1=-1;s1<2;s1++){
for(s2=-1;s2<2;s2++){
x1=x[s]+s1;
y1=y[s]+s2;
sx=search(x1,y1);
if(sx==s)sx=0;
if(sx>0)tx=tx+1;
if(sx>0)dir[s][tx]=sx;
}
}
number_dir[s]=tx;
}
link_a[1]=1;
link_b[1]=dir[1][1];
number_link=1;
var timer;
var delay = 1000;
var loop = function () {
card();
number_link=number_link+1;
n1=number_card*Math.random();
n2=Math.floor(n1)+1;
link_a[number_link]=card_a[n2];
link_b[number_link]=card_b[n2];
paint();
if(number_link>100)fresh();
clearTimeout(timer);
timer = setTimeout(loop, delay);
}
loop();
}
function card(){
var c=new Array();
var d=new Array();
for(s=1;s<number_link+1;s++){
sx=link_a[s];
c[sx]=100;
sx=link_b[s];
c[sx]=100;
}
sx=0;
for(s=1;s<101;s++){
if(c[s]>50)sx=sx+1;
if(c[s]>50)d[sx]=s;
}
number_d=sx;
var sublink_a=new Array();
var sublink_b=new Array();
tx=0;
for(s=1;s<number_d+1;s++){
s1=d[s];
for(sx=1;sx<number_dir[s1]+1;sx++){
tx=tx+1;
sublink_a[tx]=s1;
sublink_b[tx]=dir[s1][sx];
}
}
number_sub=tx;
number_card=0;
for(s=1;s<number_sub+1;s++){
s1=sublink_a[s];
s2=sublink_b[s];
z=0;
for(sx=1;sx<number_link+1;sx++){
h=0;
if(link_a[sx]==s1)h=h+1;
if(link_b[sx]==s2)h=h+1;
if(h==2)z=100;
h=0;
if(link_a[sx]==s2)h=h+1;
if(link_b[sx]==s1)h=h+1;
if(h==2)z=100;
}
for(sx=1;sx<number_card+1;sx++){
h=0;
if(card_a[sx]==s1)h=h+1;
if(card_b[sx]==s2)h=h+1;
if(h==2)z=100;
h=0;
if(card_a[sx]==s2)h=h+1;
if(card_b[sx]==s1)h=h+1;
if(h==2)z=100;
}
if(z<50)number_card=number_card+1;
if(z<50)card_a[number_card]=s1;
if(z<50)card_b[number_card]=s2;
}
}
function search(x1,y1){
var s,sx,h;
sx=0;
for (s = 1; s < 101; s++) {
h = 0;
if (x[s] == x1) h = h + 1;
if (y[s] == y1) h = h + 1;
if (h == 2) sx = s;
}
return sx;
}
function paint(){
var sub=new svgpaint();
str="<svg width=\"500\" height=\"500\">";
str=str+sub.rect(0,0,500,500,"blue");
for(s=1;s<number_link+1;s++){
s1=link_a[s];
s2=link_b[s];
str=str+sub.line(50*x[s1],50*y[s1],50*x[s2],50*y[s2],2,"black");
}
str=str+"</svg>";
$("#memo").html(str);
}
function fresh(){
number_link=1;
}
最終更新:2015年12月14日 00:21