| | | 08 МАЙ 04:34
Preobragenskiy Жирный у Дугласа исходник. Вот сутреца навоял, 2290 байт. Минимакс 3 полухода. Баги нужно еще конешо пофиксить, но уже завтра наверно.
<SCRIPT>
var m=0,a,b,d="lksfwsklpppppppp PPPPPPPPLKSFWSKL";
function C(x,y){
if(m==0){a=x;b=y;m=1;}
else if(m==1){e=B(1,d);n=S(y*8+x,G(b*8+a,d),d);n=S(b*8+a," ",n);
for(i=0;i<e.length;i++)if(e[i]==n){R();d=N(n,0,0);R();break;}m=0;}}
function W(s){document.write(s);}
function G(x,n){return n.substr(x,1)}
function S(x,s,n){return n.substr(0,x)+s+n.substr(x+1)}
function R(){for(var y=0;y<8;y++)for(var x=0;x<8;x++)D.rows[y].cells[x].innerText=G(y*8+x,d);}
W("<TABLE id=D>");for(var y=0;y<8;y++){W("<TR>");for(var x=0;x<8;x++)W("<TD onclick='C("+x+","+y+");' align=center valign=middle style='width:20px;height:20px;background-color:" + (((x%2==1&&y%2==0)||(x%2==0&&y%2==1))?"Gray":"White") + "'>"+G(y*8+x,d)+"</TD>");W("</TR>");}W("</TABLE>");
function T(c){return c.toLowerCase()}
function L(c){return T(c)==c&&c!=""}
function M(a,b,t,n,e,i,j){c=G(b,n);
if((c==" "&&i!=1)||((!t&&!L(c))||(t&&L(c))&&j!=1)){
r=G(b,n);n=S(b,G(a,n),n);n=S(a," ",n);e[e.length]=n;return r==" ";}return 0;}
function Z(x,z,t,n,e,o){for(var i=0;i<z.length;i++){y=x;while(M(x,y+=z[i],t,n,e)&&o!=1);}}
function H(t,n){e=B(t==0?1:0,n,1);for(i=0;i<e.length;i++)if(e[i].indexOf(t==0?"w":"W")==-1)return 1;return 0;}
function B(t,n,p){var e=new Array();l=new Array(8,-8,1,-1);s=new Array(-9,-7,9,7);k=new Array(-17,-15,-6,-10,17,15,6,10);
for(var x=0;x<64;x++){c=G(x,n);g=L(c);if((g&&!t)||(!g&&t))if(T(c)=="p"){u=L(c)?1:-1;j=x+8*u;
if(M(x,j,t,n,e,0,1))if((!t&&x>7&&x<16)||(t&&x>47&&x<56))M(x,x+16*u,t,n,e,0,1);M(x,j+1,t,n,e,1);M(x,j-1,t,n,e,1);}
else if(T(c)=="k")Z(x,k,t,n,e,1);else if(T(c)=="s")Z(x,s,t,n,e);else if(T(c)=="l")Z(x,l,t,n,e);
else if(T(c)=="f"){Z(x,s,t,n,e);Z(x,l,t,n,e);}else if(T(c)=="w"){Z(x,s,t,n,e,1);Z(x,l,t,n,e,1);}}
if(p!=1){v=0;q=new Array();for(var z=0;z<e.length;z++)if(!H(t,e[z])) q[v++]=e[z];e=q;}return e;}
var h=new Array();h["p"]=1;h["k"]=3;h["s"]=3;h["l"]=5;h["f"]=9;h["w"]=100;
function I(v,t){x=0;l=(t==1?0:1000);for(i=0;i<v.length;i++)if((t==0&&v[i]>l)||(t==1&&v[i]<l)){l=v[i];x=i;}return x;}
function N(n,u,t){if(u<1){e=B(t,n);if(e.length>0){v=new Array();for(i=0;i<e.length;i++)v[i]=N(e[i],u+1,t==0?1:0);return (u?v[I(v,t)]:e[I(v,t)]);}}r=100;for(x=0;x<64;x++){c=G(x,n);if(c!=" ")r+=h[T(c)]*(L(c)?1:-1)};return r;}
</SCRIPT>
Короче Украина Чемпион :-D |