My code is here:
<!doctype html public "-//W3C//DTD HTML 4.0 //EN">
<head>
<title>PGN Browser!</title>
</head>
<body>
<?
//Settings
define("MAX_LINE_SIZE", 255);
//**************************************************************
// Class PGN - to handle chess PGN files
//**************************************************************
class clsPGNGame {
var $filename; //name of the PGN file
var $games; //Array of all PGN games.
//**************************************************************
// Class constructor, reads PGN file and sets variables
//**************************************************************
function clsPGNGame($filename) {
$fd = fopen ("$filename", "r");
//read one line, max line size=500
$line = fgets($fd, MAX_LINE_SIZE);
$gamenum=0;
while (!feof ($fd)) {
//removes any junk (empty lines, spaces) between header and game
// (there should be only one line, but just in case)
while (! ereg('[^\r\n\t] ',$line) && (!feof ($fd))) {
//read next line
$line = fgets($fd, MAX_LINE_SIZE);
}
//Important ! Exit loop if end of file
if (feof ($fd)) {
break;
}
//*****************************************************************
//Read Header
//*****************************************************************
//check if it is a tag line, if yes that means header starts here
if (ereg("\\[(.+) \"(.+)\"]", $line)) {
$gamenum++;
$tagnum=0;
//echo "<br> Game # $game <br><br>";
while (ereg("\\[(.+) \"(.+)\"]", $line, $matches) && (!feof ($fd))){
//read tags
$tagnum++;
$this->games[$gamenum]["tags"][$matches[1]]=$matches[2];
//$games[$gamenum]["tagnames"][$tagnum]=$matches[1];
//keys($games($gamenum)) will return a list of all the keys that
//$game uses
//Test if tag exist - isset($array['tagname'])
//read new line
$line = fgets($fd, 500);
}
//Total number of tags for this game:
$this->games[$gamenum]["tagnum"]=$tagnum;
//echo "<br>";
//echo "Total number of tags = $tagnum <br><br>";
}
//*****************************************************************
//Removes any junk (empty lines, spaces) between header and game
//(there should be only one line anyway, but just in case)
while (! ereg('[^\r\n\t] ',$line) && (!feof ($fd))) {
//read next line
$line = fgets($fd, MAX_LINE_SIZE);
}
//*****************************************************************
// Read game text
//*****************************************************************
//To avoid long names we use reference
$gametext=&$this->games[$gamenum]["rawgame"];
$gametext=$line;
while (!ereg(" ((1-0)|(0-1)|(1/2-1/2)|(\\*))\r?\n", $line) &&
(!feof ($fd))){
//next line
$line = fgets($fd, MAX_LINE_SIZE);
$gametext=$gametext.$line;
}
//Remove next line characters - span lines
$gametext=ereg_replace("[\n\r\t]+", "", $gametext);
//*****************************************************************
if (!feof ($fd)) {
$line = fgets($fd, MAX_LINE_SIZE);
}
} //end main while loop
fclose ($fd);
} //end PGNGame constructor
//***************************************************************************
function PrintGame($anum) {
//Display tags
foreach($this->games[$anum]["tags"] as $tagname => $tagvalue) {
echo "$tagname - $tagvalue<BR>\n";
}
//Display Game Text
echo "<br>";
echo $this->games[$anum]["rawgame"];
echo "<br><br>\n";
}
//***************************************************************************
function PrintAllGames() {
foreach($this->games as $gamenum => $game) {
foreach($game["tags"] as $tagname => $tagvalue) {
echo "[$tagname = $tagvalue]<BR>\n";
}
//Display Game Text
echo "<br>{$this->games[$gamenum]["rawgame"]}<br><br>\n";
}
}
//***************************************************************************
//***************************************************************************
function PrintMoves($anum) {
//Display Game Text
echo "<br>";
echo $moveno, $this->games[$anum]["moves"][$moveno];
echo "<br><br>\n";
}
//***************************************************************************
//Convert PGN games to long format using external tool PGN-Extract
//The path to PGN-Extract needs to be declared
function ConvertToLongSAN {
' ~/www/cgi-bin/pgn-extract b52.pgn -ob52_new.pgn -Whalg';
}
}
//**************************************************************************
//end class
//**************************************************************************
?>
<?
//**************************************************************************
//Main Program
//**************************************************************************
$Game=new clsPGNGame("b52.pgn");
//Prints the game #2
//$Game->PrintGame(11);
$Game->PrintAllGames();
?>
</body>
PGN file:
[Event "Sanghi Nagar"]
[Site "Sanghi Nagar"]
[Date "1994.??.??"]
[Round "3"]
[White "Kramnik, Vladimir"]
[Black "Gelfand, Boris"]
[Result "1-0"]
[ECO "B52"]
[Annotator "Horvath,T"]
[EventDate "1994.??.??"]
[PlyCount "71"]
- e4 { Horvath,T: 'Kramnik,V. Ftacnik' } 1... c5 2. Nf3 d6 3. Bb5+ Bd7 4.
Bxd7+ Qxd7 5. c4 Nf6 (5... e5 6. Nc3 Nc6 7. d3 g6 8. Nd5 Nce7 9. O-O Bg7
- Rb1 $1 $14 { /\b4 Keres-Panno/Petropolis/1973 }) 6. Nc3 Nc6 (6... Qg4
$2 7. O-O Nxe4 8. Qb3 $1 b6 9. h3 Qf5 10. Qa4+ Kd8 (10... Nd7 $2 11. Qc6
$18) 11. Nd5 Nd7 12. d3 Nef6 13. Ng5 Qg6 14. Nf4 $18) 7. O-O g6 {
Horvath,T: 'Kramnik,V: N' } (7... e6 {
(Kramnik,V) - 28/406 }) 8. d4 cxd4
- Nxd4 Bg7 10. Nde2 { '!?' Horvath,T. } (10. Be3 O-O 11. f3 Rac8 12. b3 e6
$13) 10... O-O 11. f3 a6 12. a4 (12. Be3 { Ftacnik
} 12... Ne5 13. b3 b5
- Nd5 Qb7 15. Nb6 Rab8 16. cxb5 axb5 17. Nc3 b4 18. Nca4 Rfd8 19. Qe2 d5
- exd5 Nxd5 21. Nxd5 Rxd5 22. Rad1 Rbd8 23. Nb6 R5d6 24. Nc4 {
Tseitlin,Ma-Lerner,K/St.Petersburg/1992/0.5 (44) }) (12. Bg5 { Ftacnik }
12... Ne5 13. b3 b5 14. cxb5 axb5 15. a4 bxa4 16. Rxa4 Rab8 17. b4 Rfc8 18.
b5 Nc4 19. Qb3 Qc7 20. Rc1 Qc5+ 21. Kh1 Qxg5 22. Rxc4 Nd7 23. Nd5 Nc5 24.
Qb1 {
Kubala,P-Dumitrescu,D/Szombathely EUchJM-U16 (5)/1993/1-0 (41) })
12... Rac8 (12... Qd8 { Ftacnik Kramnik,V-Gelfand,B (7)/FIDE-cm2 Sanghi
Nagar/1994/ }) (12... Rfc8 13. b3 Na7 $6 (13... e6 { Kramnik,V } 14. Bg5 (
- Ra2 $5) 14... h6 15. Bh4 g5 (15... d5 $2 16. cxd5 exd5 17. Bxf6 Bxf6
- Nxd5) 16. Bg3 $140 d5 $2 17. cxd5 exd5 18. Nxd5 Nxd5 19. Qxd5 Qxd5 20.
exd5 Nb4 21. Rad1 $16) (13... Qd8 14. Be3 { Kramnik,V } (14. Kh1 Qa5 {
Kramnik,V } (14... Nd7 15. Bg5 Rab8 {
Kramnik,V } (15... Qa5 16. Qd2 Nc5
- Rab1 Rab8 { Ftacnik } (17... Ne6 { Kramnik,V
} 18. Be3 $14) (17... e6
- Qxd6 (18. Rfd1 Bf8 $14 { Kramnik,V } (18... Rab8 19. Bh4 { '!'
Kramnik,V. } 19... Rc7 { Kramnik,V } (19... Qb4 { Kramnik,V } 20. Qc2 (20.
Qxd6 Be5 $13) 20... Qa5 21. Qc1 $14) (19... Bf8 { Kramnik,V } 20. f4 $14) (
19... Qb6 20. Qxd6 { '!?' Kramnik,V. } 20... Rd8 { Ftacnik } (20... Nxb3 $2
{ Kramnik,V } 21. a5) (20... Bf8 $6 { Kramnik,V }) (20... Be5 21. Qd2 Nxb3
- Qa2 { Kramnik,V } (22. Qb2 { '!' Kramnik,V. } 22... Nca5 23. Nd5 $3 {
'!' Kramnik,V. } 23... Bxb2 (23... exd5 24. Qxe5 dxc4 (24... dxe4 {
Kramnik,V } 25. Nf4 $5 Nxc4 26. Nd5 $1) (24... Nxc4 25. Qf4 $5 $44 {
Kramnik,V } (25. Qxd5 Ne3 (25... Qe3 { '?' Kramnik,V. } 26. Re1 { '+/-!'
Kramnik,V. } 26... Ncd2 { Ftacnik } (26... Nba5 { Ftacnik } 27. Nd4 Qa3 28.
Bg3 $16) (26... Nbd2 27. Bg5 { Kramnik,V } (27. Rxb7 Rxb7 28. Qxb7 Rf8 $16
{ Kramnik,V }) 27... Rc5 $2 28. Rxb7 $3) 27. Nc1 (27. Bg5 { Kramnik,V }
27... Qc5 28. Rbd1 (28. Rb2 Qf2 $140 $1 29. Bxd2 Rd8 30. Qxb3 Rxd2) 28...
Nc4 {
'[]' Kramnik,V. '[]' Horvath,T. } 29. Bf4 (29. Nf4 $5) 29... Qxd5 (
29... Ra8 30. Qxb7) 30. exd5 Ra8 31. d6 $16 Nc5 32. Nc3 $16) 27... Qc3 28.
Nxb3 $16) 26. Qd3 $1 (26. Qd6 Qxd6 27. Rxd6 Nc5 28. Nc3 $5 $14) 26... Nxd1
- Qxd1 $18 Qc6 $1 28. Qxb3 Qc2 $132 29. Nd4 $5 $14)) 25. Nc3 { /\Nd5 } (
- Nf4 $40 { Kramnik,V })) 24. Nxb6 Nxc4 (24... Bg7 { Ftacnik } 25. Bg3
$16) (24... Rc6 25. Nd7 $18) 25. Nxc8 Rxc8 26. Rd7 $16) 22... Nca5 23. Rd3
Rxc4 24. Nd1 Qc6 $132) 21. Bxd8 (21. Qg3 Rxd1+ 22. Nxd1 Nxa4 $13) (21. Qg3
$5 { (Kramnik,V) Hickl,J }) 21... Rxd8 22. Qg3 (22. a5 Qxa5 23. b4 Rxd6 24.
bxa5 Rxd1+ 25. Nxd1 Nxa5 $14 { Gelfand,B }) 22... Nd3 23. Rf1 (23. Nd5 Rxd5
(23... Nf2+ 24. Kg1 Nh3+ 25. Kf1) 24. exd5 (24. cxd5 Nf2+ 25. Qxf2 Qxf2 26.
dxc6 bxc6 $13) 24... Nf2+ 25. Qxf2 Qxf2 26. dxc6 bxc6 (26... Qxe2 $2 27. c7
$18) 27. Ng3 Be5 $13) 23... Qb4 $132 24. Nd1 Qd2) 20. Be1 $1 { /\ b4 }))
18... Rd8 $5 (18... Nxb3 19. Rxb3 Qxg5 20. Rxb7 Na5 21. Rc7 Nxc4 22. Rxc8+
Rxc8 23. Qxa6 Qc5 $44) (18... f6 { Ftacnik } 19. Be3 Bf8 20. Qd2 Rd8 21.
Qc2 Nb4 $44) (18... Nxa4 { Ftacnik } 19. Nxa4 Qxg5 20. Nb6 Rd8) 19. Bxd8
Rxd8 20. b4 Nxb4 21. Qg3 Nbd3 22. Nd1 Qd2 $44) 18. b4 Nxb4 19. Nd5 Nc6 20.
Qxa5 Nxa5 21. Nxe7+ $18) 16. Rb1 Qf8 17. Qd2 $14) 15. Bd2 Qc5 16. Nd5 $1))
- Be3 $2 (14. a5 $16) 14... b5) 13. b3 Qd8 14. Kh1 Nd7 15. Bg5 Qa5 16.
Qd2 Nc5 17. Rab1 e6 18. Rfd1 Rb8 19. Bh4 Qb6 20. Qxd6 Be5 21. Qd2 Nxb3 22.
Qb2 Nca5 23. Nd5 exd5 24. Qxe5 Nxc4 25. Qxd5 Qe3 26. Re1 Nbd2 27. Rxb7 Rxb7
- Qxb7 Re8 {
Horvath,T: ''?' Kramnik,V. Kramnik,V: ' } 29. Qd7 {
Horvath,T: ''!' Kramnik,V. ' } 29... Rb8 (29... Rf8 { Kramnik,V }) 30. Bg3
{
Horvath,T: ''+-!' Kramnik,V. ' } 30... Nxf3 (30... Rf8 31. Nf4 $1 (31.
Bf4 Qb6 32. Bxd2 Rd8 33. a5 Rxd7 34. axb6 Rxd2 35. b7 $18) 31... Qc5 32.
Nd5 { /\Bh6 }) (30... Rb1 { Kramnik,V } 31. Rxb1 Qxe2 (31... Nxb1 32. Qc8+)
32. Re1) (30... Rb2 {
Kramnik,V } 31. Nd4 $5 Qc3 (31... Rb1 32. Rxb1 Nxb1
33. Qc8+ Kg7 34. Qxc4) 32. Qc8+ Kg7 33. Be5+) 31. Bxb8 Qxe4 (31... Qf2 {
Ftacnik } 32. Bg3) (31... Nxe1 {
Ftacnik } 32. Qc8+ Kg7 33. Qxc4 Nd3 (
33... Qf2 { Kramnik,V } 34. Qd4+) 34. Qd4+ Qxd4 35. Nxd4 $18) 32. gxf3 (32.
Rc1 { Kramnik,V }) 32... Qxf3+ 33. Kg1 Qe3+ (33... Ne3 { Ftacnik } 34. Qe8+
(34. Nf4 { Kramnik,V }) 34... Kg7 35. Be5+ $18) 34. Kg2 Qe4+ 35. Kh3 Qf3+
36. Ng3 1-0
[Event "Russia"]
[Site "?"]
[Date "1996.??.??"]
[Round "?"]
[White "Rublevsky, S."]
[Black "Brodsky, M."]
[Result "*"]
[WhiteElo "2645"]
[BlackElo "2510"]
[ECO "B52"]
[EventDate "1996.??.??"]
[PlyCount "53"]
{ 69/(180) }
- e4 c5 2. Nf3 d6 3. Bb5+ Bd7 4. Bxd7+ Qxd7 5. c4 Nc6 6. Nc3 Nf6 7. O-O g6
- d4 cxd4 9. Nxd4 Bg7 10. Nde2 O-O 11. f3 a6 12. a4 Qd8 13. Kh1 $146 (13.
b3 { - 63/(158) }) (13. Be3 { - 63/(158) }) 13... Nd7 14. Rb1 Rc8 15. Bg5
Nb4 16. b3 Re8 17. Qd2 Qc7 18. f4 h6 19. Bh4 e6 20. Rfd1 d5 21. exd5 exd5
- Nxd5 Nxd5 23. Qxd5 Nc5 24. Qf3 Qc6 25. Rd5 Qe6 26. Ng1 f5 27. h3 $14 *
[Event "Istanbul ol (Men)"]
[Site "Istanbul"]
[Date "2000.11.01"]
[Round "5"]
[White "Rublevsky, Sergei"]
[Black "Leitao, Rafael"]
[Result "1-0"]
[WhiteElo "2670"]
[BlackElo "2567"]
[ECO "B52"]
[EventDate "2000.10.??"]
[PlyCount "119"]
[Source "ChessBase"]
[SourceDate "2000.11.22"]
- e4 c5 2. Nf3 d6 3. Bb5+ Bd7 4. Bxd7+ Qxd7 5. c4 Nf6 6. Nc3 Nc6 7. O-O g6
- d4 cxd4 9. Nxd4 Bg7 10. Nde2 O-O 11. f3 a6 12. a4 e6 13. Bg5 Qc7 14. Kh1
Nd7 15. b3 Nc5 16. Rb1 Rfe8 17. Bh4 Nb4 18. Qd2 Ncd3 19. Na2 Nxa2 20. Qxd3
Nb4 21. Qd2 Nc6 22. Rfd1 Bf8 23. Bf6 Ne5 24. h3 Qc6 25. Rbc1 b6 26. a5 Rac8
- axb6 Qxb6 28. Rb1 Qb7 29. Nc3 Rb8 30. Na4 Rec8 31. Qf4 Nd7 32. Ba1 e5
- Qe3 Nc5 34. Nxc5 Rxc5 35. Bc3 a5 36. Rb2 Be7 37. Qd2 Qc7 38. Ra1 Bd8
- Ra3 Rb7 40. Qc2 Qb8 41. Qd2 Bb6 42. f4 Rc8 43. f5 Bc5 44. Rxa5 Rxb3 45.
f6 Kh8 46. Rb5 Rxb2 47. Bxb2 Qa8 48. Qh6 Rg8 49. Bxe5 Ba7 50. Bxd6 Qc6 51.
e5 Qxc4 52. Rb1 Qe4 53. Ra1 Be3 54. Re1 Qxg2+ 55. Kxg2 Bxh6 56. Rb1 Rd8 57.
Rb7 Bf8 58. Rxf7 Bxd6 59. exd6 Kg8 60. Rg7+ 1-0
[Event "Vienna Millenium"]
[Site "Vienna"]
[Date "1996.??.??"]
[Round "4"]
[White "Shirov, Alexei"]
[Black "Polgar, Judit"]
[Result "1/2-1/2"]
[WhiteElo "2685"]
[BlackElo "2665"]
[ECO "B52"]
[Annotator "Shirov"]
[EventDate "1996.08.09"]
[PlyCount "120"]
[Source "ChessBase"]
- e4 { Horvath,T } 1... c5 2. Nf3 d6 3. Bb5+ Bd7 4. Bxd7+ Qxd7 5. c4 Nc6
- Nc3 g6 (6... Nf6 { Horvath,T } 7. d4 (7. O-O $142) 7... cxd4 8. Nxd4 Qg4
$10) 7. d4 cxd4 8. Nxd4 Bg7 9. Nde2 Nf6 10. O-O O-O 11. f3 a6 12. a4 e6 13.
Bg5 Qc7 14. b3 Nd7 15. Kh1 Qa5 (15... f5 $5 16. exf5 Rxf5 17. Be3 $13) 16.
Qd2 (16. Qxd6 $6 Qxg5 17. Qxd7 Qc5 $1 { ><Qd7 }) 16... Nc5 17. Rab1 Qb4 (
17... f5 $5 18. exf5 Rxf5 19. Bh4 $13) (17... Be5 $5) 18. Qc2 Qa5 (18...
Nd4 $2 19. Nxd4 Bxd4 20. Ne2 $1) 19. Bh4 (19. Qd2 $10 { Horvath,T }) 19...
Nb4 20. Qd1 (20. Qd2 Nbd3 21. Be1 $1 {
(J.Polgar) } 21... Qb4 (21... b6
$5) 22. Bg3 Rad8 23. Bh4 $14) 20... Ncd3 (20... Nbd3 $6 21. Na2 $1 $16) 21.
Qd2 Qc5 22. f4 $5 {
Weiss kann nicht weiter warten, Schwarz droht schon
mit Rac8;d5 } 22... b5 23. f5 (23. cxb5 $2 { Horvath,T } 23... Rfc8 $1 $17)
(23. axb5 $2 { Horvath,T } 23... axb5 24. Nxb5 Ra2 25. Qd1 d5 $1 $17) 23...
exf5 $6 (23... bxc4 24. f6 (24. Be7 { Horvath,T } 24... Rfe8 25. f6 Rxe7 $5
- fxe7 Re8 $44) 24... Bh8 25. bxc4 Qxc4 26. Bg3 $44) 24. exf5 Rfe8 (24...
bxc4 25. f6 (25. bxc4 Rfe8) 25... Bh8 26. Ng3 $1 $40 { /\Nf5 }) 25. f6 Bf8
- cxb5 axb5 27. Nxb5 Re4 $6 (27... Qh5 28. Nf4 Qxh4 (28... Bh6 {
Horvath,T } 29. Nxh5 Bxd2 30. Ng7 Red8 31. Bg3 $16) 29. Nxd3 Nd5 $1 $44)
- Bg3 Rae8 29. Nf4 (29. Nc1 $5) 29... Qg5 (29... Bh6 $2 {
Horvath,T }
- Nxd3 Bxd2 31. Nxc5 dxc5 32. Nd6 $18) 30. Rbd1 Re3 $1 (30... Bh6 $2 31.
Nxd6 $18) 31. Nxd3 Nxd3 32. Bxd6 (32. Nxd6 Bxd6 33. Bxd6 Qd5 34. Be7 Qe4
- Rg1 h5 $1 $44) 32... Bh6 33. Be7 (33. Nc7 R8e4 $44) 33... Qh5 34. Qxe3
(34. Qxd3 { Horvath,T } 34... Rxd3 35. Rxd3 Bg5 { Siehe Partie. }) 34...
Bxe3 35. Rxd3 $16 Bg5 36. Nc3 (36. Rfd1 { Horvath,T } 36... Bf4 $2 (36...
Rxe7 $2 37. Rd8+ $18) (36... h6 $1) 37. h3 $18) 36... h6 37. a5 Qg4 38. h3
(38. a6 { Horvath,T } 38... Qe6 39. Ra1 Bxf6 $44) 38... Qe6 39. b4 Qa6 40.
Rff3 $6 (40. Rdd1 $142 $16) (40. Rfd1 { Horvath,T } 40... Bxf6 41. b5 Qe6
- Bxf6 Qxf6 43. b6 $13) 40... Rc8 41. Bc5 (41. Bd8 $1 { Horvath,T /\b5+-
}) 41... Re8 42. Bf2 $1 Bc1 43. Rd1 Bb2 44. Nd5 $2 (44. Na4 Re2 45. Nc5 Qc4
- a6 Qa2 47. b5 $18) 44... Qc4 $132 45. Bc5 Re2 46. Nf4 Rc2 47. Nxg6 Rc1
- Rxc1 Qxc1+ 49. Kh2 Qa1 50. Ne7+ (50. Be7 Kh7 51. Nf8+ (51. Nf4 Bd4 52.
h4 h5 53. Nxh5 Qg1+ 54. Kg3 Qe1+ 55. Kg4 Qe6+ 56. Kg5 Qe5+ 57. Rf5 Be3+ 58.
Kg4 Qe4+ 59. Nf4 Bxf4 60. Rxf4 Qxg2+ 61. Kf5 Qd5+ $10) 51... Kh8 52. Nd7 $2
Qd1 $19) 50... Kh7 51. Nc6 (51. g3 $5 Bxf6 52. Rf2 $14) 51... Qa4 $1 52.
Nd4 Bxd4 53. Bxd4 Qxb4 54. Bb6 Qd6+ 55. g3 Kg6 $10 56. h4 h5 57. Rf4 Qd2+
- Rf2 Qb4 59. Kg2 Qe4+ 60. Kh2 Qb4 1/2-1/2
[Event "Cannes op"]
[Site "Cannes"]
[Date "1996.??.??"]
[Round "4"]
[White "Tkachiev, Vladislav"]
[Black "Sadler, Matthew"]
[Result "1-0"]
[WhiteElo "2600"]
[BlackElo "2600"]
[ECO "B52"]
[EventDate "1996.02.??"]
[PlyCount "80"]
[Source "ChessBase"]
- e4 c5 2. Nf3 d6 3. Bb5+ Bd7 4. Bxd7+ Qxd7 5. c4 Nc6 6. Nc3 g6 7. d4 cxd4
- Nxd4 Bg7 9. Nde2 Nf6 10. f3 O-O 11. O-O Ne8 12. Be3 Nc7 13. b3 h6 14.
Qd2 Kh7 15. Rfd1 Rfd8 16. Rac1 b6 17. Qe1 Qe8 18. Nd5 Rac8 19. Qh4 Qf8 20.
Rd2 Ne8 21. Rcd1 Rd7 22. Qh3 Rcd8 23. Ndc3 Qh8 24. Nb5 Nf6 25. Ned4 Nxd4
- Nxd4 Rb7 27. e5 dxe5 28. Ne6 Rxd2 29. Ng5+ Kg8 30. Qc8+ Bf8 31. Rxd2
Rd7 32. Rxd7 Nxd7 33. Nxf7 Kxf7 34. Qxd7 Qf6 35. Qxa7 e4 36. Qa8 Qc3 37.
Kf2 exf3 38. Qxf3+ Ke8 39. Qc6+ Kf7 40. Qd5+ Ke8 1-0
[Event "Candidats FIDE sf2"]
[Site "Sanghi Nagar"]
[Date "1994.??.??"]
[Round "7"]
[White "Kramnik, Vladimir"]
[Black "Gelfand, Boris"]
[Result "1/2-1/2"]
[WhiteElo "2710"]
[BlackElo "2685"]
[ECO "B52"]
[Annotator "Ftacnik"]
[EventDate "1994.07.??"]
[PlyCount "45"]
[Source "ChessBase"]
- e4 c5 2. Nf3 d6 3. Bb5+ Bd7 4. Bxd7+ Qxd7 5. c4 Nf6 6. Nc3 Nc6 7. O-O g6
- d4 cxd4 9. Nxd4 Bg7 10. Nde2 O-O 11. f3 a6 12. a4 Qd8 (12... b6 13. Be3
Qb7 14. b3 Nd7 15. Rb1 Rfe8 16. Kh1 Rad8 17. Qd2 Nc5 18. Bg5 Ne5 19. Nd5 f6
- Bh4 g5 21. Bf2 e6 22. Ndc3 a5 23. Qc2 Bh6 24. Rbd1 {
Bologan,V-Golubev,M/Biel op (08)/1993/0-1 (60) }) (12... Qc7 13. Be3 e6 14.
Rc1 Nd7 15. Kh1 Nc5 16. Bg1 Nb4 17. b3 Rad8 18. Rb1 Rd7 19. Qd2 f5 20. exf5
Rxf5 21. Ng3 Rf8 22. Nce4 Ncd3 23. Nf2 Nxf2+ 24. Bxf2 {
Brandis,I-Iosif,C/Bucharest-W (02)/1993/1-0 (58) }) (12... Na5 13. b3 e6
14. Ra2 Rfd8 15. Be3 Qe7 16. Rd2 Rd7 17. Qb1 d5 $132 {
Khomyakov,V-Dukaczewski,P/Warszaw op/1993/1-0 (27) }) 13. Be3 Qa5 14. Rc1 (
14. Nd5 $5 Nxd5 (14... Nd7 15. b4 $1 Nxb4 16. Nxe7+ Kh8 17. Rb1 $36) 15.
exd5 Ne5 (15... Nb4 16. Nd4 Rac8 17. b3 $13) 16. b3 Qb4 17. Nd4 $14) 14...
Nd7 15. b3 Nc5 16. Na2 (16. Nd5 e6 17. b4 Nxb4 18. Nxb4 Qxb4 19. Qxd6 Rfc8)
16... Rac8 17. Rb1 (17. b4 $2 Nxb4 18. Bd2 Ncd3 $1) 17... b5 $1 18. cxb5 (
18. b4 Qxa4 19. cxb5 axb5 20. bxc5 Qxa2 21. cxd6 Rfd8 $15) 18... axb5 19.
axb5 Qxb5 (19... Qxa2 20. bxc6 Rxc6 21. Nd4 Rb6 $10) 20. Nac3 Qd3 $1 21.
Nd5 (21. Bxc5 Qxd1 22. Rfxd1 dxc5 $10) 21... Rb8 (21... e6 22. Bxc5 Qxd1
23. Rfxd1 dxc5 24. Nb6 Rc7 $10) 22. b4 Nxb4 $1 23. Nxe7+ (23. Rxb4 $2 Rxb4
24. Qxd3 Nxd3 25. Nxb4 Nxb4 $17) 1/2-1/2
[Event "URS-ch42"]
[Site "Leningrad"]
[Date "1974.??.??"]
[Round "?"]
[White "Tal, Mihail"]
[Black "Balashov, Yuri S"]
[Result "1-0"]
[WhiteElo "2635"]
[BlackElo "2540"]
[ECO "B52"]
[EventDate "1974.??.??"]
[PlyCount "107"]
[Source "ChessBase"]
- e4 c5 2. Nf3 d6 3. Bb5+ Bd7 4. Bxd7+ Qxd7 5. c4 Nc6 6. d4 Qg4 7. d5 Nd4
- Nbd2 Nxf3+ 9. Qxf3 Nf6 10. Qxg4 Nxg4 11. Nf3 e5 12. dxe6 fxe6 13. h3 Nf6
- e5 dxe5 15. Nxe5 Bd6 16. Bf4 Rf8 17. Bh2 O-O-O 18. Rd1 Bc7 19. Ke2 Rxd1
- Rxd1 Nh5 21. Ke3 g5 22. b3 a5 23. g4 Nf4 24. Bxf4 Rxf4 25. Nf3 h6 26.
a4 b6 27. Nd2 Be5 28. f3 Rf8 29. Ne4 Kc7 30. Rh1 Bf4+ 31. Ke2 Kd7 32. h4
gxh4 33. Rxh4 Ke7 34. Nf2 Rd8 35. Nd3 Bg5 36. Rh1 e5 37. Rd1 Ke6 38. Nf2
Rd4 39. Ne4 Bf4 40. Rd3 Bg5 41. Rd1 Bf4 42. Nc3 Bg5 43. Nd5 Bd8 44. Rh1 Bg5
- Rd1 Bd8 46. Rd3 Kf7 47. Nc3 Be7 48. Nb5 e4 49. Re3 Rd7 50. Rxe4 Bf6 51.
f4 Bg7 52. f5 Kf6 53. Re6+ Kg5 54. Kf3 1-0
[Event "Capablanca mem-A"]
[Site "Cienfuegos"]
[Date "1975.??.??"]
[Round "?"]
[White "Vasiukov, Evgeni"]
[Black "Triana, Justo"]
[Result "1-0"]
[ECO "B52"]
[EventDate "1975.??.??"]
[PlyCount "57"]
[Source "ChessBase"]
[SourceDate "1997.11.17"]
- e4 c5 2. Nf3 d6 3. Bb5+ Bd7 4. Bxd7+ Qxd7 5. c4 Nc6 6. d4 cxd4 7. Nxd4
Nf6 8. O-O g6 9. f3 Nxd4 10. Qxd4 Bg7 11. Nc3 O-O 12. Qd3 Rac8 13. Be3 a6
- Rac1 Qc6 15. b3 Rfd8 16. Rfd1 Re8 17. Kh1 Nd7 18. Nd5 Nc5 19. Qd2 b6
- Bh6 Bxh6 21. Qxh6 Nd7 22. Qh4 f6 23. Rc3 Nc5 24. f4 Nxe4 25. Rh3 Qc5
- Rf1 Qd4 27. f5 h5 28. Re3 gxf5 29. Rxf5 1-0
[Event "Smartchess.com Int"]
[Site "New York USA"]
[Date "2001.06.13"]
[Round "9"]
[White "Yudasin, L."]
[Black "Krush, I."]
[Result "1/2-1/2"]
[WhiteElo "2568"]
[BlackElo "2380"]
[ECO "B52"]
[EventDate "2001.06.04"]
[PlyCount "47"]
[Source "Mark Crowther"]
[SourceDate "2001.06.18"]
- e4 c5 2. Nf3 d6 3. Bb5+ Bd7 4. Bxd7+ Qxd7 5. c4 Nc6 6. d4 cxd4 7. Nxd4
Nf6 8. Nc3 g6 9. f3 Bg7 10. Nde2 O-O 11. O-O a6 12. a4 Qd8 13. Kh1 Qa5 14.
Rb1 Rfd8 15. Nd5 Nxd5 16. cxd5 Ne5 17. b3 Rdc8 18. h3 Qc5 19. Bg5 Qc7 20.
Rc1 Qd8 21. Qd2 Nd7 22. a5 Bf6 23. Bxf6 Nxf6 24. Nd4 1/2-1/2
[Event "2nd IECC"]
[Site "Ohrid MKD"]
[Date "2001.06.06"]
[Round "6"]
[White "Ehlvest, J."]
[Black "Atalik, S."]
[Result "1/2-1/2"]
[WhiteElo "2630"]
[BlackElo "2537"]
[ECO "B52"]
[EventDate "2001.06.05"]
[PlyCount "94"]
[Source "Mark Crowther"]
[SourceDate "2001.06.11"]
- e4 c5 2. Nf3 d6 3. Bb5+ Bd7 4. Bxd7+ Qxd7 5. c4 Nf6 6. Nc3 Nc6 7. d4
cxd4 8. Nxd4 g6 9. f3 Bg7 10. Nde2 O-O 11. O-O e6 12. Bg5 h6 13. Bh4 a6 14.
a4 Qc7 15. Kh1 Nd7 16. Rb1 Rfe8 17. f4 Nb4 18. b3 Nc5 19. f5 Ncd3 20. Na2
Qc6 21. Nxb4 Nxb4 22. Be1 Qc5 23. Nf4 g5 24. Nh5 Nc6 25. Nxg7 Kxg7 26. Bc3+
e5 27. f6+ Kg6 28. Qg4 Nd4 29. Rf5 Qc8 30. Bxd4 exd4 31. Rd1 Re5 32. h4 Qe6
- Rxd4 Re8 34. Kh2 Rxf5 35. exf5+ Qxf5 36. Qxf5+ Kxf5 37. Rxd6 Re6 38.
Rd7 Rb6 39. Rxf7 Rxb3 40. Rh7 Kxf6 41. Rxh6+ Kg7 42. hxg5 Rb4 43. c5 Rxa4
- Rb6 Rc4 45. Rxb7+ Kg6 46. Rc7 Kxg5 47. Kh3 a5 1/2-1/2
[Event "2nd IECC"]
[Site "Ohrid MKD"]
[Date "2001.06.06"]
[Round "6"]
[White "Moreno Carnero, J."]
[Black "Ruck, R."]
[Result "1/2-1/2"]
[WhiteElo "2480"]
[BlackElo "2557"]
[ECO "B52"]
[EventDate "2001.06.05"]
[PlyCount "67"]
[Source "Mark Crowther"]
[SourceDate "2001.06.11"]
- e4 c5 2. Nf3 d6 3. Bb5+ Bd7 4. Bxd7+ Nxd7 5. O-O Ngf6 6. Qe2 e6 7. d3
Be7 8. Ng5 h6 9. Nh3 Ne5 10. f4 Nc6 11. c4 Nd7 12. Nc3 Nd4 13. Qd1 Bf6 14.
Be3 g6 15. Kh1 Bg7 16. Bxd4 cxd4 17. Nb5 Qb6 18. a4 a6 19. a5 Qc6 20. Na3
O-O 21. f5 g5 22. Nf2 exf5 23. exf5 Nf6 24. Nc2 Rfe8 25. Ng4 Qc5 26. b4 Qa7
- Rb1 b5 28. axb6 Qxb6 29. Nxf6+ Bxf6 30. Qf3 Ra7 31. Rfe1 Rae7 32. Rxe7
Rxe7 33. Ra1 Kg7 34. Kg1 1/2-1/2
[Event "2nd IECC"]
[Site "Ohrid MKD"]
[Date "2001.06.04"]
[Round "4"]
[White "Rublevsky, S."]
[Black "Shneider, A."]
[Result "1-0"]
[WhiteElo "2657"]
[BlackElo "2516"]
[ECO "B52"]
[EventDate "2001.06.05"]
[PlyCount "75"]
[Source "Mark Crowther"]
[SourceDate "2001.06.11"]
- e4 c5 2. Nf3 d6 3. Bb5+ Bd7 4. Bxd7+ Qxd7 5. c4 Nc6 6. Nc3 g6 7. d4 cxd4
- Nxd4 Bg7 9. Nde2 Nf6 10. O-O O-O 11. f3 Qd8 12. Kh1 a6 13. a4 Re8 14.
Rb1 Ne5 15. b3 Ned7 16. Bg5 Rc8 17. Qd2 Qa5 18. Rfd1 Kf8 19. Qf4 Nh5 20.
Qe3 Nhf6 21. h3 Kg8 22. f4 Qc5 23. Qf3 e6 24. Bh4 Qc7 25. Rf1 h6 26. Rbd1
Nh7 27. Bf2 Nc5 28. e5 dxe5 29. Bxc5 Qxc5 30. Ne4 Qc6 31. Nd6 e4 32. Qe3 f5
- Rd2 Nf6 34. Nxe8 Qxe8 35. Qb6 Nd7 36. Qxb7 Nc5 37. Qb6 Bf8 38. Rfd1 1-0