En kısa satranç program kodu

SonsuzUs Her şeyCategory: YaşamEn kısa satranç program kodu
bilisim sordu 2 sene önce

Paylaşacağım kod en kısa satranç kodu olarak sanat eseri gibidir. Javascriptle yazılmış kodun kaynağı ve nasıl kullanılacağı cevaplarda verilmiştir.

3 Cevap
En iyi cevap
bilisim cevapladı 2 sene önce

M=I=P=N=q=K=J=0
Bt=1999
Al=-Bt
Ds=[10,-10]
BE=120
G=[]
R=[]
KL=[3,3]
j=[0,1,5,3,3,9,63,0]
MV=[0,0,[1,10],[21,19,12,8],[11,9],[1,10,11,9],[1,10,11,9],0]
for(z=0;z<8;){j[z+8]=j[z]<<=4
m=MV[z++]
if(m){s=m.length
for(x=0;x<s;){m[s+x]=-m[x++]}}}x='g00000000g'
y='gggggggggg'
b=y+y+"g23456432gg11111111g"+x+x+x+x+"g99999999ggABCDECBAg"+y+y
w=x+x+x+"000111100000123321000123553210"
a='000012346900'
Y=[]
PY=[]
bY=[]
for(y=0;y<12;y++){for(x=0;x<10;x++){z=(y*10)+x
PY[z]=parseInt(a.charAt(y))
bY[z]=parseInt(w.charAt((z<60)?z:119-z),35)&7
R[z]=parseInt(b.charAt(z),35)}}R[BE]=0
d=document
cp=new Function('a','b','return b[0]-a[0]')
function Z(c,U,C,s,e,A,B,K){var z=-1,C=-C,V=8-U,b=Al,r=R,S,E=r[e],g,d
if(C>3]]>15){r[e]+=4}if(S-U==6&&(s-e==2||e-s==2)){g=s-4+(s>1
r[g]=0
r[d]=U+2}var L=Pz(U,K,C),N=L.length,n
if(N){if(c){L.sort(cp)
c--
var i=L[0],j=i[1],k=i[2],t
b=-Z(c,V,i[0],j,k,-B,-A,i[3])[0]
for(z=1;zA)A=b
n=L[z]
t=-Z(c,V,n[0],n[1],n[2],-A-1,-A,n[3])[0]
if((t>A)&&(tb){b=t
j=n[1]
k=n[2]
if(t>A)A=t
if(b>B)break}}}else{b=Al
while(--N&&B>b){if(L[N][0]>b){b=L[N][0]}}}}else{J=c+1}if(g){r[g]=U+2
r[d]=0}r[s]=S
r[e]=E
G[V].length--
return[b,j,k]}function Sf(c,U,s,e,K){var E=R[e],S=R[e]=R[s]
R[s]=0
H()
U=Z(c,U,0,BE,BE,Al,Bt,K)
R[s]=S
R[e]=E
return U[0]}function mv(s,e,b){var E=R[e],S=R[s],a=S&7,u=M>>3,c=0,t=0,z=0,p
if(!M){H()
p=Pz(M,K,0)
for(;z400)return 0}if(Sf(0,M,s,e,K)>400)c=1
var x=s%10,g=e-s,D=Ds[u],t=e%10,n=1+(N>>1)
if(Sf(1,8-M,s,e,K)15)R[s]+=4-b
if(g==2*D&&(R[e-1]&1||R[e+1]&1))K=s+D
if(!E&&g%10)Sh(e,e-D)}if(s==21+u*70||s==28+u*70)KL[u]&=(x<5)+1
if(e==21+u*70||e==28+u*70)KL[!u]&=(x<5)+1
if(a==6){if(g*g==4)Sh(s-4+(s<e)*7,s+g/2)
KL[u]=0}Sh(s,e)
H()
N++
M=8-M
return 1}
function H(){var z=99,Q
s0=(N>3):(N>64)
G[0]=[]
G[8]=[]
kY=[]
pY=[[],[]]
for(;z>20;z--){a=R[z]
if(a&7)G[a&8][G[a&8].length]=[a,z]
Y[z]=bY[z]*s0
kY[z]=(N>40)||(10-2*bY[z])*s0
Q=pY[1][119-z]=pY[0][z]=PY[z]
if (N40){pY[0][z]=pY[1][119-z]=Q+(Math.random()*Y[z])|1
Y[24]=Y[94]=29}}}function Pz(U,K,b){var W,X,h,E,a,v,n,k=-1,u=U>>3,V=U^8,D=Ds[u],w=[],m,T,p=pY[u],H,d=KL[u],z,c,g,e=G[U],f=e.length,B=R,J=j
for (z=0;z1){c=a==6
H=c?kY:Y
T=b-H[W]
n=MV[a]
if(a==3||c){for(v=0;v<8;){X=W+n[v++]
E=B[X]
if(!E||(E&24)==V){w[++k]=[T+J[E]+H[X],W,X]}}if(c&&d){if(d&1&&!(B[W-1]+B[W-2]+B[W-3])&&CH(W-2,V,D,-1))w[++k]=[T+11,W,W-2]
if(d&2&&!(B[W+1]+B[W+2])&&CH(W,V,D,1))w[++k]=[T+12,W,W+2]}}else{g=n.length
for(v=0;v<g;){E=0
m=n[v++]
X=W
while(!E){X+=m
E=B[X]
if(!E||(E&24)==V){w[++k]=[T+J[E]+H[X],W,X]}}}}}else{T=b-p[W]
X=W+D
if(!B[X]){w[++k]=[T+p[X],W,X]
if(!p[W]&&(!B[X+D])){w[++k]=[T+p[X+D],W,X+D,X]}}if(K&&(K==X+1||K==X-1))w[++k]=[T+p[X],W,K]
for(h=X-1;h<X+2;h+=2){E=B[h]+U
if(E&7&&E&8){w[++k]=[T+J[E]+p[h],W,h]}}}}}return w}
function CH(W,V,D,T){var X,E,x,m,S=W+3,a=D+2,k=MV[3],B=R
for(;W<S;W++){for(m=D-2;++m<a;){E=B[W+m]
if(E&&(E&8)==V&&((E&8)==1||(E&7)==6))return 0
E=0
X=W
while(!E){X+=m
E=B[X]
if((E==V+2+(m!=D)*2)||E==V+5)return 0}}for(z=0;z<8;)if(B[W+k[z++]]-V==3)return 0}E=0
W-=3
while(!E){W-=T
E=B[W]
if(E==V+2||E==V+5)return 0}return 1}function B(Q){var a=R[Q]
if(J)return
if(q==Q&&I){
O(q,I,1)
I=0
return}if(a&&M==(a&8)){if(I)O(q,I,1)
I=a
q=Q
O(q,0,1)
return}if(I){if(mv(q,Q,d.FF.h.selectedIndex,y)){I=0
if(!J){var t=Z(2,M,0,BE,BE,Al,Bt,K)
mv(t[1],t[2],0)}}}}function Sh(s,e){var a=R[s]
R[e]=a
R[s]=0
O(s,0,1)
O(e,a,1)}function Rf(a){P=a
for(var z=0;z<BE;z++)if(R[z]<16)O(z,R[z],1)}function O(x,y,z){if(z)x="i"+(x)
d.images[x].src=y+'.gif'}h=''
for(y=90;y>10;y-=10){h+=""
for(x=0;x<10;x++){z=y+x
if(x&&x<9){h+=('\n')}}h+='\n'}h+=''
d.write(h)
Rf(0)

bilisim cevapladı 2 sene önce

Yukarıdaki kodu şu satırlar içine almanız gerekir.
<style>a,body{color:#778}.w{background:#ccc}.b{background:#888}</style><body bgcolor=”#eeeeeeonload=”H()“><form name=FF><center><script>
buraya kod eklenecek ve altta bitiriş
</script><p><select name=h><option selected>Q<option>B<option>kn<option>R</select></center></form>

sonsuz Kurucu cevapladı 2 sene önce

Güzel katkı teşekkür ederiz. Bu bilgisayar koduna benzer satranç kodlarına denk geldikçe eklerim ben de.

Cevapla