#pc1 {position:absolute; visibility:hidden;}
<script language='JavaScript' type='text/javascript'>
<!–
var p1=new Image();
p1.src='../../pw/conpanel/p3con1.gif';
var delay=1400;
var imgurl='../../pw/p4/m/';
var gb=[[64],[64],[64]];
var gf=['rnbqkbnrpppppppp8888PPPPPPPPRNBQKBNR 1',
'rnbqkbnrpppppppp8888PPPPPPPPRNBQKBNR 1',
'rnbqkbnrpppppppp8888PPPPPPPPRNBQKBNR 1'];
var gc=['',
'',
''];
var gm=[
'rb@KS@qa@L\\@xi@ET@og@DK@sk@CEp|j@JZ@}l@IQ@{}pTc@zq@KR@ph@@J@yp@DT@|{@TV@RvIBfAum@BT@j|@M]@wz@]e@ic@lrActA\\c@lr@Vv@}v@Tt@v~@JT@{s@tm@rx@T^@qr@AJ@st@?DImf@~}@Rm@pi@mt@rt@em@tu@?D@DtIi{@D|@}|@S[@|}@|sAJeAsrAfvAJe@{m@zrAelA{mA^mAuvAfvArvA[bAkbAmsA^m@z{@m^@ut@f]@b[@el@}|@^m@|}Im~A',
'rb@JZ@qa@IQ@sk@ET@xi@MU@}l@DM@|s@CEp{}p@J@aZ@TZ@iZ@QZ@zh@JT@yr@Tc@|z@cr@zr@BR@wy@HP@rq@AH@h_@GO@qI@PX@_W@?@@yY@DB@l[@MT@M[Ab[AR[AIHA[Q@KS@um@Q@AB@ATBABA@Q@@A@@sX@OXIWGATB@XC@RD@BIAWIARIA
IA@CAIHAIH@BW@H@@DR@@H@WP@YQ@R`@CL@',
'rb@KS@}l@IY@sk@ET@|j@HP@{}pAH@xr@Yb@kb@DK@|{@CEpqi@JR@zs@DC@r|@@J@|m@KD@y]@NV@]r@BI@jq@sjIHZ@ph@IH@lf@PX@sj@m^I{kAkmAM]@fl@Zl@DMAul@DM@vf@]f@m
@HQ@}~@T^@L\\I{}@ED@L\\ArVA\\cAjkACKA}M@DM@^MArVArV@w}AMDArVADKAMV@w}@L\\@^dAc]AL\\AjkAS[A]LAVNAq\\Ajk@\\d@VNAk]AcR@QR@^mA}mAdkARLAV^Am]Akj@JD@^mA}mAJDAmUAV^AUTARKATDAKMADdACDAdeAM
A~uAjN@'
];
var gflip=[0,0,0,0];
var gres=[1,0,0,0];
var gend=[267,219,321,0];
var doc=document;
ie4=(doc.all)?1:0;
ns6=(doc.getElementById)&&!(ie4);
ns4=(doc.layers)?1:0;
doc.onkeydown = KeyDown;
var restr=['1-0','0-1','1/2-1/2','*'];
var s1=s2=r1=r2=flags=mvflg=0;
var pc=capc=cf=ep=pr=tmid=tmc=0;
var atgm=-1;
var lk=vl=cm=tm=ml=cg=cb=0;
var prepc=8;
if(ie4)doc.onmousemove=MsMove;
if(ns6)doc.onclick=ns6Click;
var gx=[-3,-3,-3,-3];
var mn=[0,0,0,0];
var pm=[0,0,0,0];
var jm=[0,0,0,0];
var gl=[0,0,0,0];
var jb=[0,0,0,0];
var st=[0,0,0,0];
var ipcs='ipnbrqkxov';
function DrawPc(g,pc,sqr)
{
var clr, pi;
clr='';
pi=ipcs.charAt(pc>=23?pc-16:pc&7);
if(pc>0&&pc clr=(pc&8)?'b':'w';
if(gflip[g])
sqr=63-sqr;
doc.images[jb[g]+sqr].src=imgurl+clr+pi+'24.gif';
}
var fench='/PNBRQK//pnbrqk12345678XOV';
function Fen2Brd(g,fn)
{
var fc;
var s=0;
for(i=0;i fc=fench.indexOf(fn.charAt(s++));
if(fc=23)
gb[g][i]=fc;
else{
fc-=14;
while(fc–)
gb[g][i++]=0;
–i;
}
}
if(s!=fn.length)
mn[g]=parseInt(fn.substr(++s));
}
var posbrd = 0;
function ShowFen(g,fn)
{
Fen2Brd(g,pos[fn]);
DrawBoard(g);
WriteCap(g,cap[fn],'black');
posbrd=1;
}
function InitBoard(g)
{
if(atgm!=cg)Astop();
Fen2Brd(g,gf[g]);
gx[g]=-3;
gl[g]=0;
prepc=8;
cg=g;
}
function FindScrBrd()
{
var targ;
j=0;
for(i=0;i if(doc.images[i].name != '')
if(doc.images[i].name=='brd'+j.toString()){
jb[j]=i;
++j;
}
j=0;
for(i=0;i if(doc.getElementById)
targ='#'+doc.links[i].name;
else
targ=doc.links[i].hash;
if(targ=='#jmv'+j){
jm[j]=i+1;
++j;
}
}
}
function DrawBoard(g)
{
for(i=0;i DrawPc(g,gb[g][i],i);
}
function DoMv(g,pc,to,from)
{
gb[g][to]=pc;
gb[g][from]=0;
}
function Gmv2lk(g)
{
lk=0;
if(gx[g]>=0)
lk=gx[g]/3+jm[g];
}
var bs;
function HiMv(g)
{
if(!ns4){
Gmv2lk(g);
if(lk==0)
lk=jm[g]-1;
if(lk==pm[g]) return;
bs=doc.links[lk].style.backgroundColor;
doc.links[lk].style.backgroundColor='lightsteelblue';
if(pm[g])
doc.links[pm[g]].style.backgroundColor=bs;
pm[g]=lk;
}
}
function MvD(g)
{
var m=gx[g];
if(m>=3)
prepc=pc;
ep=cf=pr=0;
s1=r1=gm[g].charCodeAt(m)-63;
s2=r2=gm[g].charCodeAt(m+1)-63;
flags=gm[g].charCodeAt(m+2);
ml=flags&3;
capc=gb[g][s2];
pc=gb[g][s1];
if((pc&7)==1)
if((s255)){
pr=(pc&8)+((flags>>4)&3)+2;
return;
}
if(flags&32){
flags&16?++r1:–r1;
if((pc&7)==1)
ep=(pc&8)?1:9;
else{
r2=(s1-s2)>0?s1-4:s1+3;
cf=1;
}
}
}
function Mv1(g)
{
DoMv(g,pc,s2,s1);
if(pr)
gb[g][s2]=pr;
if(ep)
gb[g][r1]=0;
if(cf)
DoMv(g,gb[g][r2],r1,r2);
if(pc&8)
++mn[g];
else
if((prepc&8)==0)
++mn[g];
gl[g]=ml;
}
function Bk1(g)
{
DoMv(g,pc,s1,s2);
if(capc)
gb[g][s2]=capc;
if(pr)
gb[g][s1]=(pc&8)+1;
if(ep)
gb[g][r1]=ep;
if(cf)
DoMv(g,gb[g][r1],r2,r1);
–mn[g];
gl[g]=ml;
}
function Nxm(g,dr)
{
var tl;
tm=gx[g];
do{
tm+=dr;
tl=gm[g].charCodeAt(tm+2)&3;
}while(tl>gl[g]);
}
function Mv(g,mv)
{
Mva(g,–mv*3);
}
function Mva(g,mv)
{
var tf;
InitBoard(g);
while(gx[g] Nxm(g,3);
if(tm>mv){
tf=gm[g].charCodeAt(gx[g]+5);
if(tf&4)
while(tm-=3){
tf=gm[g].charCodeAt(tm+2);
if((tf&7)==(gl[g]+5))
if(tm }
else
tm=gx[g]+3;
if((tf&8)==0)
Bk1(g);
}
gx[g]=tm;
MvD(g);
Mv1(g);
}
DrawBoard(g);
HiMv(g);
MvStr(g);
}
function AutoMv()
{
var cm=gx[atgm]+3;
if(cm-3>=gend[atgm]) Astop();
else{
tmc=1;
Forward(atgm);
tmc=0;
}
}
function Astop()
{
atgm=-1;
tmc=0;
clearInterval(tmid);
}
function Astart(g)
{
if(atgm>=0)Astop();
else{
atgm=g;
tmid=setInterval('AutoMv()',delay);
AutoMv();
}
}
function Flip(g)
{
gflip[g]^=1;
DrawBoard(g);
}
function Nxm5(g,dr)
{
var tl;
var i=11;
var gln=gm[g].length-3;
tm=gx[g];
while(i–){
tm+=dr;
if((tmgln)) break;
tl=gm[g].charCodeAt(tm+2)&7;
if(tl!=gl[g]) break;
}
tm-=dr;
Mva(g,tm);
}
function Forward5(g)
{
Nxm5(g,3);
}
function Back5(g)
{
Nxm5(g,-3);
}
function GoStart(g)
{
if(atgm>=0)Astop();
Mva(g,-3);
}
function GoEnd(g)
{
if(atgm>=0)Astop();
Mva(g,gend[g]);
}
function Forward(g)
{
if(atgm>=0 && tmc==0)Astop();
lm=gm[g].length-3;
if(gx[g]>=lm)return;
if(st[g])
tm=gx[g]+3;
else
Nxm(g,3);
if(tm>lm)
tm=gx[g]+3;
Mva(g,tm);
}
function Back(g)
{
if(atgm>=0)Astop();
Nxm(g,-3);
Mva(g,tm);
}
function Step(g)
{
st[g]^=1;
doc.images[jb[g]+64].src='../../pw/conpanel/p3con'+st[g]+'.gif';
}
function MvStr(g)
{
var mvs='';
var clr;
posbrd=0;
if(gx[g] WriteCap(g,gc[g],'black');
if(gc[g]!='')
posbrd=1;
return;
}
mvs=(pc&8)?mn[g]-1:mn[g];
mvs=mvs.toString()+'. ';
if(pc&8)
mvs += '… ';
if(doc.all)
mvs+=doc.links[lk].innerText;
else{
Gmv2lk(g);
mvs+=doc.links[lk].text;
}
if(gx[g]==gend[g])
mvs+=' '+restr[gres[g]];
clr=(gl[g]||(gx[g]>gend[g]))?'':'black';
WriteCap(g,mvs,clr);
}
function WriteCap(b,tx,clr)
{
var btx;
if(ns4)return;
btx='it'+b;
if(ie4){
if(!doc.getElementById)
if(tx=='')
tx='start';
doc.all[btx].innerText=tx;
doc.all[btx].style.color=clr;
doc.all['brdt'+b].title=tx;
}
else{
if(tx=='')
tx=' ';
doc.getElementById(btx).innerHTML=tx;
doc.getElementById(btx).style.color=clr;
doc.getElementById('brdt'+.title=tx;
}
}
function KeyDown(e)
{
var key = 0;
key=ie4?event.keyCode:e.which;
if(key!=0)
ActOnKey(key);
}
function ActOnKey(key)
{
if(key==37||key==100)
Back(cg)
if(key==39||key==102)
Forward(cg)
if(key==103)
GoStart(cg)
if(key==97)
GoEnd(cg)
if(key==111)
Flip(cg)
if(key==106)
Astart(cg)
if(key==96)
Step(cg);
if(!posbrd)
MvStr(cg);
}
var MsX=MsY=0;
var PcX=PcY=0;
var Bx=By=0;
var nq=dgp=dgs=0;
function MsMove()
{
if(ie4){
if(dgp){
MvPc(event.x, event.y);
}
}
}
function MvPc(x,y)
{
PcX-=MsX-x;
PcY-=MsY-y;
MsX=x;
MsY=y;
doc.all.pc1.style.pixelLeft=PcX;
doc.all.pc1.style.pixelTop=PcY;
return false;
}
function DropPc(g)
{
var Sx,Sy;
doc.all.pc1.style.visibility='hidden';
if(PcX+12(Bx+192)){
PcOffBrd(g);
return false;
}
if(PcY+12(By+192)){
PcOffBrd(g);
return false;
}
Sx=PcX-Bx+12;
Sy=PcY-By+12;
Sx=Math.floor(Sx/24);
Sy=Math.floor(Sy/24);
nq=Sy*8+Sx;
if(gflip[g])
nq=63-nq;
Kibitz(g);
return false;
}
function BrdNum(g)
{
var s,a8,sqr;
cg=g;
if(ns6){
ns6B=1;
return false;
}
if(ie4){
e=window.event;
a8=doc.images[jb[g]].sourceIndex;
if(dgp==0){
sqr=doc.elementFromPoint(MsX=e.clientX,MsY=e.clientY).sourceIndex;
PcX=MsX-e.offsetX+doc.body.scrollLeft;
PcY=MsY-e.offsetY+doc.body.scrollTop;
Bx=PcX-doc.all[sqr].offsetLeft;
By=PcY-doc.all[sqr].offsetTop;
s=sqr-a8;
s-=Math.floor(s/9);
if(gflip[g])
s=63-s;
dgp=gb[g][s];
if(dgp){
dgs=s;
col=dgp&8?'b':'w';
pcstr=imgurl+col+ipcs.charAt(dgp&7)+'24.gif';
doc.images['dpc'].src=pcstr;
gb[g][s]=0;
DrawPc(g,0,s);
doc.all.pc1.style.pixelLeft=PcX;
doc.all.pc1.style.pixelTop=PcY;
doc.all.pc1.style.visibility='visible';
return false;
}
}
else
DropPc(cg);
return false;
}
}
function PcOffBrd(g)
{
alert('Piece Off Board!');
gb[g][dgs]=dgp;
DrawPc(g,dgp,dgs);
dgp=0;
}
function Kibitz(g)
{
if(dgp==1||dgp==9)
if(nq55)
dgp+=4;
if(dgp==6&&dgs==60)
if(nq==62)
DoMv(g,4,61,63);
else
if(nq==58)
DoMv(g,4,59,56);
if(dgp==14&&dgs==4)
if(nq==6)
DoMv(g,12,5,7);
else
if(nq==2)
DoMv(g,12,3,0);
gb[g][nq]=dgp;
DrawBoard(g)
dgp=0;
}
var ns6T=ns6B=0;
function ns6Click(e)
{
ns6T=e.target;
if(ns6B)
ns6Brd(cg);
else
dgp=0;
ns6B=0;
}
function ns6Brd(g)
{
for(i=0;i if(doc.images[jb[g]+i]==ns6T)break;
if(i if(gflip[g])
i=63-i;
if(dgp){
nq=i;
gb[g][dgs]=0;
Kibitz(g);
}
else{
dgp=gb[g][i];
if(dgp)
dgs=i;
}
}
}
function InitSys()
{
FindScrBrd();
GoStart(1);
GoStart(2);
GoStart(0);
}
// –>
Carsten Hoi IM Boris F Gulko GM Olympiad Salonika (Greece), 1988 |
1. d4 e6 2. Nf3 c5 3. e3 Nf6 4. Bd3 b6 5. O-O Bb7 6. Nbd2 cxd4 7. exd4 Be7 8. Re1 O-O 9. c3 d6 10. Qe2 Re8 11. Nf1 Nbd7 12. Ng3 Bf8 13. Bg5 h6?! 14. Bd2 Qc7 15. Bc2 Makes e6-e5 less dangerous and prepares the cannon 16. Qd3 etc.
15… Bd5 16. b3 Qb7 «Fasten seatbelts, and no smoking» as Hoi wrote in his comments.
17. Nh4! Provokes a black advance on the king's side.
17… b5 18. Qd3 Now black must prevent 19. Nh5 followed by 20. Re3 and 21. Rg3 with a strong attack.
18… g5 19. Nf3 Bxf3? Better 19… Bg7
20. gxf3 Bg7 21. h4! gxh4 22. Ne4 Qc6 23. Kh1 Nh5 Threatens to win a piece with 24… f5 To continue the attack white must sacrifice.
24. Rg1! Kf8 Even if it looks very dangerous black should have played 24… f5 25. Bxh6 fxe4 26. Qe3! Re7! with a very messy position. After Kf8 it seems to be a forced win.
25. Rxg7! Kxg7 25… Nxg7 26. Bxh6
26. Bxh6+! 26. Rg1+ Kf8 27. Bxh6+ Ke7 is unclear.
26… Kxh6 27. Rg1! Blocks the escape route.
27… f5 27… Nf4 28. Ng5!! f5 29. Qe3 e5 30. Nf7+ Kh7 31. Bxf5+
28. Qe3+ f4 28… Kh7 29. Qg5
29. Nxd6!! Qxd6 29… Ng3+ 30. Rxg3 fxe3 31. Nf7+ Kh5 32. Rg5#
30. Qd3 Nf8? 30… Ng3+! 31. Rxg3 Nf8 32. Rg6+ Kh5 33. Rf6 Qe7 34. Rxf8 Qg7 35. Rxf4 Rf8 36. Rg4 Qf7 37. Kg2 and white wins due to the exposed black king.
31. Qh7+!! Comments based on Carsten Hoi's in Skakbladet 1988.
1-0
<!– game2 end –>
The chess piece set is based on the font Chess Merida by Armando Marroquin.
Notice that opening names and annotation symbols are tooltipped – when the mouse hovers a small text window appears with extended information. Playable null moves are used sometimes in the comments. For instance in the first game 13…Bxh2 and 14…Qh4 are replayed with no white moves in between. This text (table) and the text at the page top was inserted by Palview from header and footer text files. [*]Download CSS stylesheet Beware that URLs (links) in the files will need change if used for another site. |