アットウィキロゴ

非線形j

var ux=new Array();
var wx=new Array();
var v=new Array();
var gotoc=new Array();
var gotoy=new Array();
var gotob=new Array();
 
function non(){
 
var s,s1,s2,b1,b2;
var c1,y1,u1;
var sx1,sx2;
 
for(s=1;s<101;s++){
ux[s]=new Array();
wx[s]=new Array();
v[s]=new Array();
gotoc[s]=new Array();
gotoy[s]=new Array();
gotob[s]=new Array();
}
 
 
 
for(s=1;s<101;s++){
for(s1=-5;s1<6;s1++){
for(s2=-5;s2<6;s2++){
c1=c[s]+s1;
y1=y[s]+s2;
u1=up(c1,y1,th[s]);
setu(s,s1,s2,u1);
}
}
}
 
 
for(s=1;s<100;s++){
for(s1=-5;s1<6;s1++){
for(s2=-5;s2<6;s2++){
c1=c[s]+s1;
y1=y[s]+s2;
u1=up(c1,y1,th[s+1]);
setw(s,s1,s2,u1);
}
}
}
 
s=1;
for(s1=-5;s1<6;s1++){
for(s2=-5;s2<6;s2++){
for(b1=-25;b1<26;b1++){
u1=-999;
setv(s,s1,s2,b1,u1);
}
}
}
 
 
s=1;
for(s1=-5;s1<6;s1++){
for(s2=-5;s2<6;s2++){
b1=s2-s1;
u1=getu(s,s1,s2);
setv(s,s1,s2,b1,u1);
}
}
 
 
 
 
var z,sxs1,sxs2;
var maxv,w1;
 
for(s=2;s<101;s++){
for(s1=-5;s1<6;s1++){
for(s2=-5;s2<6;s2++){
for(b1=-25;b1<26;b1++){
u1=getu(s,s1,s2);
b2=b1+s1-s2;
if(b2>25)z=100;
if(b2<-25)z=100;
if(z>50)b2=0;
maxv=-999;
sxs1=0;
sxs2=0;
for(sx1=-5;sx1<6;sx1++){
for(sx2=-5;sx2<6;sx2++){
v1=u1+getv(s-1,sx1,sx2,b2);
w1=getw(s-1,sx1,sx2);
if(w1>u1)v1=-999;
if(v1>maxv)sxs1=sx1;
if(v1>maxv)sxs2=sx2;
if(v1>maxv)maxv=v1;
}
}
if(z>50)maxv=-999;
setv(s,s1,s2,b1,maxv);
setc(s,s1,s2,b1,sxs1);
sety(s,s1,s2,b1,sxs2);
setb(s,s1,s2,b1,b2);
}
}
}
}
 
 
 
s=100;
maxv=-999;
for(s1=-5;s1<6;s1++){
for(s2=-5;s2<6;s2++){
v1=getv(s,s1,s2,0);
if(v1>maxv)maxv=v1;
}
}
 
 
alert(maxv);
 
 
 
}
 
function up(c1,y1,th1){
 
var u2,c2,x2;
var z;
 
z=0;
 
c2=c1*h;
x2=1-y1/th1;
 
if(c2<0.0001)z=100;
if(x2<0.0001)z=100;
if(x2>1)z=100;
 
if(z>50)c2=0.5;
if(z>50)x2=0.5;
 
u2=Math.log(c2)+Math.log(x2);
 
if(z>50)u2=-999;
 
 
return u2;
}
 
function getu(s,s1,s2){
 
var n1;
var u1;
 
n1=getnumber(s1,s2);
u1=ux[s][n1];
 
return u1;
}
 
function getw(s,s1,s2){
 
var n1;
var u1;
 
n1=getnumber(s1,s2);
u1=wx[s][n1];
 
return u1;
}
 
function getv(s,s1,s2,b1){
 
var n1;
var u1;
 
n1=getvnumber(s1,s2,b1);
 
u1=v[s][n1];
 
return u1;
}
function setu(s,s1,s2,u1){
 
var n1;
n1=getnumber(s1,s2);
 
ux[s][n1]=u1;
 
}
 
 
 
function setv(s,s1,s2,b1,v1){
 
var n1;
n1=getvnumber(s1,s2,b1);
 
v[s][n1]=v1;
 
}
 
function setc(s,s1,s2,b1,sx1){
 
var n1;
n1=getvnumber(s1,s2,b1);
 
gotoc[s][n1]=sx1;
 
}
 
function sety(s,s1,s2,b1,sx2){
 
var n1;
n1=getvnumber(s1,s2,b1);
 
gotoy[s][n1]=sx2;
 
}
 
 
 
function setb(s,s1,s2,b1,b2){
 
var n1;
n1=getvnumber(s1,s2,b1);
 
gotob[s][n1]=b2;
 
}
 
 
 
 
function getnumber(s1,s2){
 
var n;
 
n=15*(s1+5)+(s2+5);
 
return n;
}
 
 
 
function getvnumber(s1,s2,b1){
 
var n1;
n1=15*50*(s1+5)+50*(s2+5)+(b1+25);
return n1;
}
 
 
function setw(s,s1,s2,u1){
 
var n1;
n1=getnumber(s1,s2);
wx[s][n1]=u1;
}
 
最終更新:2013年12月29日 18:18