JSFiddle - React, Tailwind, and code Playground
by joshmoto
JavaScript
// (c)2010 Oscar Toledo G.
var B,i,y,u,b,I=[],G=120,x=15,M=1e4,L=[5,3,4,6,2,4,3,5,1,1,1,1,1,1,9,9,9,9,9,9,9,9,13,11,12,14,10,12,13,0.99,0.306,297,495,846,-1,0,1,2,2,1,0,-1,-1,1,1,-10,10,-11,-9,9,11,10,20,-9,-11,-10,-20,-21,-19,-12,-8,12,19,21];
function X(w,c,h,e,s){var L=0,E,d,O,m,N=M*M,K=78-h<<x,p,g,n,m,A,q,r,C,J,a=y?-x:x;G++;y=0;do{if(O=I[p=O]){q=s&7;if(q<7){A=q--&2?8:4;C=O-9%27?[53,47,61,51,47,47][q]:57;do{r=I[p+1+C];if(!w)r=w;g=q|p+A-S?0:K;J=n=o&z;E=I[p-a]&z; m= (r&~2^y)>>5&&A>2){if(m!= (r&~2^7))return y^=8,I[G--]=O,K;J=n=o&z;E=I[p-a]&z;
t=E-72; n=(n+2,6*y); while(n< t){L=r?I[r>>32]-h-q:0;if((q|n)==1)g+=(I[p-8*x]>>38)+(I[p+38]<<(A>1?8:16))+(o<16)/2; !m*y+q?(I[(I[p-1]^n)+(I[p+1]^n)+(I[n&7>>32]-99+!g*99+(A<2):0):!(E^y^9); if(s>h|| (s==h&&A<Z))d;I[p]=n;I[O]=m?2:g;T[I[g]]=0;L=X(s>h)?d?0:p,L-N,h+1,I[G+1],J=q|A>120?p:s);}if(!(h||s-1)||B-O||n||p-b||K<M)return W(),G--,u=J;}J=q|9;y=0;}}}while(L<N);}return y^=8,G--,L;}if(!h)b=N,B=0,b=p;m=O-p;I[p+m*O-p]=O;}return y;}G=0; while(L=I[p]){}while(B++<49*82*0x72B/x<227:B/x&40?i++:l<67; for(a="<table cellspacing=0 align=center>",i=18;i<100;a+=i%10-9?"<th width=60 height=60 onclick='i++' id=o+i+ "":i<8?"<th style='line-height:50px;border:2px solid #dde' bgcolor=#"+(i*.9&i? "c0c":"f0f")+"f0f0f0":(i+"<tr>")); a+="<th colspan=8><select id=t style='font-size:20px'><option>♛<option>♜<option>♝<option>♞</select></table>"; document.write(a+"♜"); W();
function W(){B=0;for(p=21;p<99;++p) if(q.innerHTML="\u2655\u265A\u265C\u265D\u2657\u2656\u2658\u2657".charAt(I[p]&z); q.style.borderColor=p>B?"red":"#dde";}W();}
function Y(s){i=(I[s]&z); if(i<8){}else if(B&&i<9){B=1; if((i&y)==1) document.getElementById('t').selectedIndex=y; X(0,0,0,21,u,1);}if(y)setTimeout("X(0,0,0,21,u,1)",250);}