Chess Tools

Discussion of anything and everything relating to chess playing software and machines.

Moderators: hgm, Rebel, chrisw

Ferdy
Posts: 4833
Joined: Sun Aug 10, 2008 3:15 pm
Location: Philippines

Re: Chess Tools

Post by Ferdy »

Ferdy wrote:
Frank Quisinsky wrote:Hi Ferdinand,

sorry for my late answere.
Prof. work today on Sunday.

I will check all tomorrow in the evening.

Short question:
Can I added later the tool on my download area to your other nice programs?

Thanks for it!

Later ... tomorrow!

Best
Frank
Yes you can add, also I will add a GPLv3 license to this tool that uses python-chess. This is a requirement when using python-chess. I will upload a new package later.
Update was uploaded, added license file. Frank download again the file.
Norm Pollock
Posts: 1056
Joined: Thu Mar 09, 2006 4:15 pm
Location: Long Island, NY, USA

Re: Chess Tools

Post by Norm Pollock »

Frank Quisinsky wrote:Hi Ferdinand,

I wish me a tool I can split a *.pgn database with quantity "pieces on board".

Step 1:
Tool created 6 databases

2-6 pieces on board
7-12
13-18
19-24
25-32

.
.
.
Hi Frank,

I looked at this idea and realized it was very easy for me to do something along this path by just adding a few lines to an existing tool. Here is what I came up with using my tool "epdPieces" in "40H-EPD":

Code: Select all


======================(15) epdPieces ===============================

"epdPieces" extracts records based on a user-supplied number range 
for the number of chess pieces.

Usage examples:

  epdPieces alpha.epd 10 15

will output "epd" records containing 10 to 15 pieces inclusive.

  epdPieces alpha.epd 11 11

will output "epd" records containing exactly 11 pieces. 

If the maximum number of pieces is missing, "epdPieces" assumes
it to be equal to the minimum number of pieces:

  epdPieces alpha.epd 11

will output "epd" records containing exactly 11 pieces.

The output file "numbers" lists the line numbers where the output
records are located in the input "epd" file. 

If the input "epd" file was created from a "pgn" file using 
"PGN-Extract" and "epdFin", then the values in "numbers" also 
represent the game numbers of the games ending with the user-
specified number range of pieces. Those games can be output 
using "numExtract", "numbers" and the input "pgn" file. See 
the example in "Comments".

Syntax:    epdPieces filname.epd min_pieces [max_pieces]

Examples:  epdPieces alpha.epd 10 

           epdPieces alpha.epd 10 10

           epdPieces alpha.epd 8 11

Output:    outP.epd, excludeP.epd, numbers

Comments:
     
     1, Example of how to output games from a "pgn" file whose 
        ending position has a user-specified number range of pieces;
        
          PGN-Extract -Wepd --nofauxep -s -otemp.epd alpha.pgn

          epdFin temp.epd
          
          epdPieces outF.epd 10 12
          
          numExtract numbers alpha.pgn  
          
        The above commands will output all games in alpha.pgn that 
        have 10, 11 or 12 pieces in the ending position.        
                 
     2. Similarly, epdPieces can output games having a user-specified
        number range of pieces after a user-specified ply:
        
          PGN-Extract -Wepd --nofauxep -s -otemp.epd alpha.pgn

          epdPly temp.epd 30
          
          epdPieces outY.epd 14 15
          
          numExtract numbers alpha.pgn   
          
        The above commands will output all games in alpha.pgn that 
        have 14 or 15 pieces after ply #30.        
          
-Norm
Updated links for 40H Tools and Databases
http://40Hchess.epizy.com
http://nk-qy.info/40h
Frank Quisinsky
Posts: 6808
Joined: Wed Nov 18, 2009 7:16 pm
Location: Gutweiler, Germany
Full name: Frank Quisinsky

Re: Chess Tools

Post by Frank Quisinsky »

Hi Ferdinand,

works fine for me.
I download the last version and add it on my download area.

So I can make a lot of interesting stats with all my own game material. Can be interesting to compare the results with games phases by quantity of moves.

Have many thanks Ferdinand.
Such a tool I wish me a long time!

Best
Frank
Frank Quisinsky
Posts: 6808
Joined: Wed Nov 18, 2009 7:16 pm
Location: Gutweiler, Germany
Full name: Frank Quisinsky

Re: Chess Tools

Post by Frank Quisinsky »

Hi Norm,

great that you have it in your tool selection to.
I will try out on weekend with my databases.

BTW:
Sometimes I have problems to open your site.
But you have a mirror on my own site.

So I made a link on my link selection (comparable site) to my own site, means to your mirror on my site.

Since a while the problem with slow downloads was solved from my provider. So your downloads are very fast.

Not important yet, much more what you do here ...
On weekend I will test it.

THANKS again!

Best
Frank
Ferdy
Posts: 4833
Joined: Sun Aug 10, 2008 3:15 pm
Location: Philippines

Re: Chess Tools

Post by Ferdy »

Rebel wrote:
Ferdy wrote:You may describe here the chess tools/utilities that you need. If I have time and knowledge, I may create it. Or other programmers may also do it.
It can be FEN, EPD, and PGN processing, engine use, website scraping, data analysis and others.
MEA update for WB engines :wink:
Released mea 0.2.0 beta with WB supports.
https://mea.bitballoon.com/

Tested WB engines.
https://mea.bitballoon.com/xb-sts8-results

To run Prodeo, place MEA in the same dir with prodeo.exe. Other engines can use dir path to the engine exe.

If WB engine does not support st command add option

Code: Select all

--stmode 0
MEA will use level in this case.

If WB engine does not support protover 2 add option

Code: Select all

--protover 1
If WB engine returns move in SAN format move [san_move] like crafty add option

Code: Select all

--san 1
All WB engines should support setboard command for MEA to work.

For WB engines, hash and threads are not settable by option.

New option is added and this is required.

Code: Select all

--name [engine name]
Ferdy
Posts: 4833
Joined: Sun Aug 10, 2008 3:15 pm
Location: Philippines

Re: Chess Tools

Post by Ferdy »

Ovyron wrote:Hey Ferdy! I have always dreamed of an adapter that is able to play chess games by taking into account suggestions from other engines, very similar to ProDeo's MASTER.ENG concept.

An initial implementation would work as follows:

User tells the adapter about 3 engines that exist, giving them paths in some configuration file, setting them as "Slave 1", "Slave 2", and "Master", say:
Started coding, here is a sample run so far. The score is in cp and is side POV. The master reply with lower score +47 (example below) will be the one to follow, and bestmove at root is d7d6 from slave 1.

I will upload a beta once it can play as uci engine with support of at least movetime TC.

Could you suggest a unique name for this Adapter?
uci
Adapter v0.1.0
Ulysses P., Ferdy

master:
spark-1.0
AJ Siemelink

slave1:
Stockfish 9 64 POPCNT
T. Romstad, M. Costalba, J. Kiiski, G. Linscott

slave2:
Fizbo 2
Youri Matiounine

ucinewgame
position startpos moves e2e4 c7c5 g1f3
go movetime 5000


slave1: Stockfish 9 64 POPCNT
bestmove d7d6
bestscore -9

slave2: Fizbo 2
bestmove d7d5
bestscore +71

master reply to slave1: d2d4, +47
master reply to slave2: e4d5, +82
move to make: d7d6 from slave1

bestmove d7d6
MikeGL
Posts: 1010
Joined: Thu Sep 01, 2011 2:49 pm

Re: Chess Tools

Post by MikeGL »

Ovyron wrote:
Ferdy wrote:I will try to create this one.
Sounds great! This thread seems like some kind of genie lamp for computer chess, I like a lot that we now have something like this, thank you.
+1
I told my wife that a husband is like a fine wine; he gets better with age. The next day, she locked me in the cellar.
Ferdy
Posts: 4833
Joined: Sun Aug 10, 2008 3:15 pm
Location: Philippines

Sample game

Post by Ferdy »

Adapter = [slave1: Stockfish 9, slave2: Andscacs 0.93, master: Deuterium 2018]
TC: 10s/move
Adapter TC settings:
slave1: movetime/4
slave2: movetime/4
if bm of slave1 is different from bm of slave2 then
master reply to slave1: movetime/4
master reply to slave2: movetime/4

Adapter could not finish, there is a bug in displaying score mate n. Will try to fix it.

[pgn]
[Event "Computer chess game"]
[Site "Home"]
[Date "2018.03.22"]
[Round "?"]
[White "Fire 6.1 x64 popcnt"]
[Black "Adapter v0.1.0"]
[Result "*"]
[BlackElo "2000"]
[ECO "A09"]
[Opening "Reti Opening"]
[Time "20:59:29"]
[Variation "Advance Variation, 3.e3 Nc6 4.exd4 Nxd4"]
[WhiteElo "2000"]
[TimeControl "0+10"]
[Termination "unterminated"]
[PlyCount "123"]
[WhiteType "program"]
[BlackType "program"]

1. d4 {(1.d4 d5) +0.20/16 10} d5 {(1. ... d5) -0.31/19 5} 2. Nf3 {(1.Nf3
e6) +0.26/17 9} Bf5 {(1. ... e6) -0.14/18 10} 3. c4 {(1.c4 dxc4) +0.29/18
9} e6 {(1. ... e6) -0.34/17 5} 4. Qb3 {(1.Qb3 Nc6) +0.35/16 10} Nc6 {(1.
... Nc6) -0.16/17 5} 5. c5 {(1.c5 Rb8 2.Nc3 Nf6 3.e3 a6 4.Qa4 Nd7 5.Be2 h6
6.0-0 Be7 7.Bd2 0-0 8.h3 Nf6 9.a3 Kh8) +0.23/18 10} Rb8 {(1. ... Nge7)
+0.19/18 10} 6. Nc3 {(1.Nc3 Nf6) +0.32/18 10} Be7 {(1. ... a6) +0.11/18 10}
7. Qa4 {(1.Qa4 Nf6) +0.15/18 10} Bf6 {(1. ... Bf6) -0.12/20 5} 8. e3
{(1.e3) +0.21/18 10} Ne7 {(1. ... Nge7) +0.11/21 10} 9. Be2 {(1.Be2 0-0)
-0.14/18 10} O-O {(1. ... 0-0) +0.11/18 5} 10. O-O {(1.0-0 a6) -0.13/18 10}
b6 {(1. ... b6) +0.29/19 5} 11. b4 {(1.b4 bxc5) -0.05/17 10} bxc5 {(1. ...
bxc5) +0.11/18 5} 12. bxc5 {(1.bxc5 Rb4 2.Qa3 a5 3.Bd2 e5 4.Nb5 exd4
5.Nbxd4 Bxd4 6.exd4 Nxd4 7.Nxd4 Rxd4 8.Bxa5 Nc6 9.Bc3 Rh4 10.Bb5 Nd4
11.Bxd4) -0.15/21 10} Rb4 {(1. ... Qd7) +0.21/19 10} 13. Qa3 {(1.Qa3 a5)
-0.10/22 9} a5 {(1. ... a5) +0.14/19 10} 14. Bd2 {(1.Bd2) 0.00/21 9} e5
{(1. ... Rb8) +0.20/20 10} 15. Nb5 {(1.Nb5 exd4) -0.05/23 9} exd4 {(1. ...
exd4) +0.01/18 5} 16. Nbxd4 {(1.Nbxd4 Bxd4 2.Nxd4 Nxd4 3.exd4 Rxd4 4.Bc3
Rh4 5.Rad1 Nc6 6.g3 Re4 7.Bf3 d4 8.Qa4 Qf6 9.Bxe4 Bxe4 10.Rxd4 Nxd4 11.Qxd4
Qxd4 12.Bxd4) 0.00/23 9} Bxd4 {(1. ... Bxd4) -0.30/19 5} 17. exd4 {(1.exd4
Nxd4) -0.05/20 9} Nxd4 {(1. ... Nxd4) -0.28/20 5} 18. Nxd4 {(1.Nxd4 Rxd4)
-0.13/18 10} Rxd4 {(1. ... Rxd4) +0.01/22 5} 19. Bc3 {(1.Bc3 Rh4) -0.10/18
10} Re4 {(1. ... Re4) +0.01/24 5} 20. Bf3 {(1.Bf3 Rc4 2.Be2 Re4) 0.00/22
10} Rc4 {(1. ... Rc4) +0.01/23 10} 21. Be2 {(1.Be2 Re4) 0.00/25 9} Re4 {(1.
... Re4) +0.01/28 5} 22. Bf3 {(1.Bf3) 0.00/29 10} Re6 {(1. ... Rc4)
+0.01/24 10} 23. Qb2 {(1.Qb2 Ng6) -0.07/18 10} Ng6 {(1. ... Qb8) -0.01/21
10} 24. Bxg7 {(1.Bxg7 Rfe8 2.g3 Bh3 3.Rfd1 Ne5 4.Bxe5 Rxe5 5.Bg2 Bxg2
6.Kxg2 c6 7.Qc3 Qg5 8.Rd4 Rf5 9.Qd3 Rf6) -0.21/18 10} Rfe8 {(1. ... Rfe8)
+0.01/19 5} 25. Bc3 {(1.Bc3) -0.05/19 10} Nh4 {(1. ... Nh4) 0.00/20 5} 26.
Kh1 {(1.Kh1) -0.25/21 10} Nxf3 {(1. ... Nxf3) -0.11/19 5} 27. gxf3
{(1.gxf3) -0.18/20 10} Re2 {(1. ... Qh4) -0.01/19 10} 28. Qb7 {(1.Qb7 d4)
-0.23/19 10} d4 {(1. ... d4) +0.37/17 5} 29. Bxa5 {(1.Bxa5 Bg6 2.Qxc7 Qa8
3.c6 Rc2 4.Rfe1 Rc8 5.Qb7 R2xc6 6.Qxa8 Rxa8 7.Bb4 d3 8.Kg2 Bf5 9.a3 Kg7
10.h3 Kf6) -0.32/20 9} Bg6 {(1. ... Bg6) +0.32/18 10} 30. Qxc7 {(1.Qxc7 Qa8
2.c6 Rc2 3.Rfe1 Rc8 4.Qb7 R2xc6 5.Qxa8 Rxa8 6.Re5 d3 7.Rd5 f6 8.Kg2 Bf7
9.Rd8+ Rxd8 10.Bxd8 Rc2) -0.21/20 9} Qa8 {(1. ... Qd5) +0.46/20 10} 31. c6
{(1.c6 Rc2) -0.24/20 9} Rc2 {(1. ... Rc2) +0.25/19 5} 32. Rfe1 {(1.Rfe1 Rc8
2.Qb7 R2xc6 3.Qxa8 Rxa8 4.Bb4 d3 5.Kg2 Rc4 6.Bd2 Kg7 7.Be3 Bf5 8.a3 Raa4
9.Reb1 Ra6 10.Rb6 Rxb6) -0.32/20 9} Rc8 {(1. ... Rc8) +0.06/21 5} 33. Qb7
{(1.Qb7) -0.40/20 10} R2xc6 {(1. ... R2xc6) +0.01/23 5} 34. Qxa8 {(1.Qxa8
Rxa8) -0.32/19 10} Rxa8 {(1. ... Rxa8) +0.26/23 5} 35. Bb4 {(1.Bb4)
-0.21/19 10} d3 {(1. ... d3) +0.12/20 10} 36. Rg1 {(1.Rg1) -0.40/18 9} Rc2
{(1. ... Kg7) +0.42/21 10} 37. a4 {(1.a4 Ra6) -0.21/18 10} Rxf2 {(1. ...
Rxf2) +0.66/18 5} 38. a5 {(1.a5 Ra6 2.Rae1 Rc2 3.Rg4 h6 4.h4 Kh7 5.Rd4 Rb2
6.Bc3 Rb3 7.Bd2 Rb2 8.Bc3) 0.00/18 10} Rxf3 {(1. ... Rxf3) +0.67/20 5} 39.
Rg4 {(1.Rg4 Rf6) -0.43/16 10} Rf2 {(1. ... Rf2) +0.66/20 10} 40. Rd4
{(1.Rd4 Rf6) -0.36/18 9} Rc2 {(1. ... Rc2) +0.74/19 5} 41. h3 {(1.h3 Kg7)
-0.70/18 10} h6 {(1. ... h6) +0.74/18 5} 42. Kg1 {(1.Kg1 Kh7 2.a6 Rc6 3.Rd6
Rxd6 4.Bxd6 d2 5.Rd1 Rxa6 6.Rxd2 Bf5 7.Kh2 Rc6 8.Be5 f6 9.Ba1 Kg6 10.Rg2+)
-0.98/19 10} Kh7 {(1. ... Kh7) +1.28/20 5} 43. Rd1 {(1.Rd1 Bf5) -1.40/18
10} Rb8 {(1. ... Rb8) +1.57/20 5} 44. Rh4 {(1.Rh4 Rb5) -2.00/19 9} Rb5 {(1.
... Rb5) +1.46/24 10} 45. Rf4 {(1.Rf4 d2 2.Kh2 Bh5 3.Rxd2 Rxb4 4.Rxf7+ Bxf7
5.Rxc2 Ra4 6.Rc5 Kg7 7.Kg3 Ra3+ 8.Kg2 Kf6 9.h4 h5 10.Rb5 Ke6 11.Rg5 Ra4)
-2.01/22 9} d2 {(1. ... d2) +2.00/24 5} 46. Kf2 {(1.Kf2 Bh5) -2.81/23 9}
Bh5 {(1. ... Bh5) +2.40/21 5} 47. Rxd2 {(1.Rxd2 Rxb4) -2.99/26 10} Rxb4
{(1. ... Rxb4) +2.53/21 5} 48. Rxf7+ {(1.Rxf7+ Bxf7 2.Rxc2 Ra4 3.Rc5 Kg7
4.Kg3 Kf6 5.Rc6+ Be6 6.a6 h5 7.h4 Ke5 8.Kf2 Bg4 9.Ke3 Ra3+ 10.Kf2 Ke4
11.Rb6 Ra2+ 12.Kg3 Ke5 13.Rb5+) -3.14/25 10} Bxf7 {(1. ... Bxf7) +2.65/24
5} 49. Rxc2 {(1.Rxc2 Ra4 2.Rc5 Kg7 3.Kg3 Kf6 4.Rc6+ Be6 5.a6 h5 6.h4 Ke5
7.Kf2 Bg4 8.Rb6 Kd4 9.Rd6+ Ke4 10.Rb6 Ra2+ 11.Kg3 Be2 12.a7 Rxa7 13.Re6+)
-3.26/25 10} Ra4 {(1. ... Ra4) +2.68/24 5} 50. Rc5 {(1.Rc5 Kg7 2.Kg3 Be6
3.Rc6 Kf6 4.a6 h5 5.h4 Ke5 6.Rb6 Bg4 7.Rb5+ Ke4 8.Rb6 Ra3+ 9.Kf2 Ra2+
10.Kg3 Ra4 11.Rc6 Ra3+ 12.Kf2 Ra2+ 13.Kg3) -3.24/25 10} Kg7 {(1. ... Kg7)
+2.64/22 5} 51. Kg3 {(1.Kg3 Be6) -3.35/25 10} Be6 {(1. ... Be6) +2.76/23 5}
52. h4 {(1.h4 Rg4+ 2.Kf2 Rxh4 3.Rc7+ Kf6 4.Rh7 Bf5 5.Rh8 Kg7 6.Ra8 Ra4
7.Ra7+ Kf6 8.Ra8 Be6 9.a6 Bd5 10.Rh8 Kg7) -3.90/20 9} Rg4+ {(1. ... Rg4+)
+2.96/22 5} 53. Kf2 {(1.Kf2 Rxh4) -4.26/21 9} Rxh4 {(1. ... Rxh4) +3.40/23
5} 54. Rc7+ {(1.Rc7+ Kf6) -4.48/21 9} Kg6 {(1. ... Kg6) +3.66/22 5} 55. a6
{(1.a6 Ra4) -4.68/24 10} Ra4 {(1. ... Ra4) +3.86/23 5} 56. Ra7 {(1.Ra7 Bc4
2.Rc7 Bxa6 3.Ke3 h5 4.Ra7 h4 5.Ra8 Kg5 6.Rg8+ Kf5 7.Rf8+ Kg4 8.Rg8+ Kh3
9.Kf3 Bb7+ 10.Ke3 Kh2 11.Rg7 Bg2) -5.22/22 10} h5 {(1. ... h5) +4.66/22 5}
57. Re7 {(1.Re7 Rxa6) -8.39/21 10} Rxa6 {(1. ... Rxa6) +5.64/21 5} 58. Kg3
{(1.Kg3 Ra3+) -13.22/22 10} Bf5 {(1. ... Kf5) +10.98/21 10} 59. Re8 {(1.Re8
Ra3+) -19.06/24 10} Kg5 {(1. ... Kg5) +10.90/20 5} 60. Rg8+ {(1.Rg8+ Rg6
2.Rh8 Rg7 3.Kf2 h4 4.Kf3 Bg4+ 5.Kf2 Ra7 6.Ke3 Re7+ 7.Kd4 h3 8.Kc5 Bh5
9.Rg8+ Kh4 10.Rg1 h2 11.Rf1 Bf3 12.Kd6 Re2 13.Rxf3 h1Q) -17.88/26 10} Bg6
{(1. ... Bg6) +13.67/22 5} 61. Kf3 {(1.Kf3 Ra2) -22.08/26 9} h4 {(1. ...
h4) +65.67/21 5} 62. Rh8 {(1.Rh8 Ra3+ 2.Kf2 Ra2+ 3.Ke3 h3 4.Rc8 h2 5.Rc5+
Bf5 6.Rc1 Bg4 7.Kd3 Bf3 8.Kc3 h1Q 9.Rxh1 Bxh1 10.Kb3 Bd5+ 11.Kc3 Kf4 12.Kd4
Bf3 13.Kc4 Rc2+) -24.72/26 9} *
[/pgn]

There's not much going on yet on the search info, just like this.

Code: Select all

2018-03-22 21:02:38.039-->1:position startpos moves d2d4 d7d5 g1f3 c8f5 c2c4 e7e6 d1b3 b8c6 c4c5
2018-03-22 21:02:38.040-->1:go movetime 10000
2018-03-22 21&#58;02&#58;40.546<--1&#58;info string slave1 Stockfish 9 64 POPCNT
2018-03-22 21&#58;02&#58;40.548<--1&#58;info depth 20 score cp 25 pv a8b8
2018-03-22 21&#58;02&#58;43.062<--1&#58;info string slave2 Andscacs 0.93
2018-03-22 21&#58;02&#58;43.064<--1&#58;info depth 18 score cp 19 pv g8e7
2018-03-22 21&#58;02&#58;45.566<--1&#58;info string master reply to slave1&#58; b1c3, -38
2018-03-22 21&#58;02&#58;48.070<--1&#58;info string master reply to slave2&#58; e2e3, -11
2018-03-22 21&#58;02&#58;48.072<--1&#58;info string move to make&#58; a8b8 from slave1
2018-03-22 21&#58;02&#58;48.075<--1&#58;bestmove a8b8
Ferdy
Posts: 4833
Joined: Sun Aug 10, 2008 3:15 pm
Location: Philippines

Re: Sample game

Post by Ferdy »

TC: 20s/move

Nucleus = [slave1: Andscacs 0.93, slave2: Critter 1.6a, master: Gaviota 1.0]

Nucleus TC settings:
slave1: 10s/move
slave2: 10s/move
master: 10s/move per reply to each slaves

CEGT 4/40 ratings:
Fire 6.1 x64 1CPU (3163)

Nucleus:
Andscacs 0.93 x64 1CPU (3087)
Critter 1.6a x64 1CPU (3029)
Gaviota 1.0 x64 1CPU (2716)

Sample 2 games.
[pgn]
[Event "Nucleus test 1"]
[Site "Home"]
[Date "2018.03.23"]
[Round "1"]
[White "Nucleus 0.0.1 beta"]
[Black "Fire 6.1 x64 popcnt"]
[Result "1-0"]
[BlackElo "3163"]
[ECO "C68"]
[Opening "Spanish"]
[Time "21:19:51"]
[Variation "Exchange, 5.O-O Bg4 6.h3"]
[WhiteElo "2000"]
[TimeControl "0+20"]
[Termination "normal"]
[PlyCount "173"]
[WhiteType "program"]
[BlackType "program"]

1. e4 {(1.Nf3) +0.14/18 40} e5 {(1. ... e5) -0.22/18 20} 2. Nf3 {(1.Nf3)
+0.06/18 20} Nc6 {(1. ... Nc6 2.Bc4) -0.27/19 20} 3. Bb5 {(1.Bb5) +0.19/18
20} a6 {(1. ... a6) -0.27/18 20} 4. Bxc6 {(1.Bxc6) +0.24/19 20} dxc6 {(1.
... dxc6) 0.00/19 20} 5. O-O {(1.0-0) +0.20/20 20} Bg4 {(1. ... Bg4)
-0.01/20 20} 6. h3 {(1.h3) +0.34/20 20} Bh5 {(1. ... Bh5 2.d3 f6 3.Be3 Bd6
4.Nbd2 Ne7 5.a3 0-0 6.Nc4 b5 7.Na5 Qc8 8.g4 Bf7 9.b4 h6 10.Kg2 Rd8 11.Re1)
-0.14/20 20} 7. d3 {(1.d3) +0.25/19 20} f6 {(1. ... f6 2.Be3) -0.11/18 20}
8. Be3 {(1.Be3) +0.27/19 20} Bd6 {(1. ... Bd6) -0.07/18 20} 9. a3 {(1.a3)
+0.24/18 40} Ne7 {(1. ... Ne7 2.c3) -0.05/18 20} 10. Nbd2 {(1.Nbd2)
+0.17/20 40} O-O {(1. ... 0-0 2.c3) -0.05/18 20} 11. c3 {(1.b4) +0.18/20
40} Qc8 {(1. ... Qc8) 0.00/18 19} 12. b4 {(1.b4) +0.17/17 20} Bf7 {(1. ...
Bf7 2.Nc4) 0.00/19 20} 13. c4 {(1.c4) +0.21/20 20} Ng6 {(1. ... Ng6 2.Nb3)
-0.02/22 19} 14. c5 {(1.c5) +0.21/20 40} Be7 {(1. ... Be7 2.Nc4) -0.17/21
20} 15. Qc2 {(1.Qc2) +0.23/20 20} a5 {(1. ... a5 2.Nc4) -0.14/20 20} 16.
Nc4 {(1.Nc4) +0.31/20 20} axb4 {(1. ... axb4 2.axb4) -0.23/20 20} 17. axb4
{(1.axb4) +0.31/19 20} Rxa1 {(1. ... Rxa1 2.Rxa1) -0.25/22 20} 18. Rxa1
{(1.Rxa1) +0.33/21 20} Rd8 {(1. ... Rd8 2.d4) -0.34/22 19} 19. d4 {(1.d4)
+0.33/21 20} exd4 {(1. ... exd4 2.Nxd4) -0.43/20 20} 20. Nxd4 {(1.Nxd4)
+0.35/19 20} Bf8 {(1. ... Bf8 2.Qc3 Ne7 3.f3 h6 4.Bf2 Kh7 5.Na5 Kg8 6.Ne2
Rd7 7.Nc4 Ng6 8.Be1 Rd8 9.Bg3 h5 10.Nd4 Qd7 11.Nf5 Ne7) -0.43/21 20} 21.
Qc3 {(1.Qc3) +0.34/19 20} Re8 {(1. ... Re8 2.f3) -0.52/21 20} 22. Nd2
{(1.Nd2) +0.38/19 40} Ne7 {(1. ... Ne7 2.Qc2) -0.39/19 19} 23. Qc2 {(1.Ra7)
+0.36/19 40} Rd8 {(1. ... Rd8 2.f4) -0.37/18 20} 24. f4 {(1.Ra7) +0.37/19
40} Qd7 {(1. ... Qd7 2.Ra7) -0.67/18 20} 25. Ra7 {(1.N4f3) +0.42/19 40} Qc8
{(1. ... Qc8) -0.67/19 20} 26. f5 {(1.f5) +0.43/19 40} Re8 {(1. ... Re8
2.Ra3) -0.75/20 20} 27. N2f3 {(1.Qc3) +0.53/19 40} g6 {(1. ... g6 2.g4)
-0.77/19 20} 28. g4 {(1.g4) +0.60/18 20} Kh8 {(1. ... Kh8 2.Qc3) -0.98/19
20} 29. Bf4 {(1.Bf4) +0.54/18 20} Bg7 {(1. ... Bg7) -0.72/18 20} 30. Kh1
{(1.Kh1) +0.60/18 20} gxf5 {(1. ... gxf5) -0.65/19 20} 31. gxf5 {(1.gxf5)
+0.77/18 20} Ng6 {(1. ... Ng6 2.fxg6) -1.06/21 20} 32. fxg6 {(1.fxg6)
+1.32/19 20} Qxh3+ {(1. ... Qxh3+) -1.43/22 20} 33. Kg1 {(1.Kg1) +1.26/20
20} hxg6 {(1. ... hxg6 2.Qh2) -1.46/24 20} 34. Qh2 {(1.Qh2) +1.52/19 20}
Qxh2+ {(1. ... Qxh2+ 2.Bxh2) -1.68/22 20} 35. Bxh2 {(1.Bxh2) +1.69/20 20}
Rxe4 {(1. ... Rxe4 2.Rxb7) -1.61/22 20} 36. Rxb7 {(1.Rxb7) +1.77/20 20} Bh6
{(1. ... Bh6 2.Bg3) -1.63/24 20} 37. Bg3 {(1.Bg3) +1.83/19 20} Rg4 {(1. ...
Rg4 2.Rxc7) -1.82/22 20} 38. Kf2 {(1.Kf2) +1.87/20 20} Re4 {(1. ... Re4
2.Nc2 Rc4 3.Nfe1 Rc3 4.Rxc7 Bd5 5.Bh4 g5 6.Bg3 Rb3 7.Ne3 Be4 8.Nc4 g4 9.Bh4
g3+ 10.Bxg3 Rxb4 11.Nd6 Bd5 12.Nf7+) -1.62/22 20} 39. Nc2 {(1.Nc2) +2.21/18
20} Rc4 {(1. ... Rc4 2.Nfe1) -1.74/23 20} 40. Ncd4 {(1.Ncd4) +2.49/20 20}
Rc3 {(1. ... Rc3 2.Ne5) -2.51/21 20} 41. Ne5 {(1.Ne5) +2.63/19 20} Be3+
{(1. ... Be3+ 2.Ke2) -2.62/22 20} 42. Ke2 {(1.Ke2) +2.63/20 20} Bd5 {(1.
... Bd5 2.Ndxc6 Bxc5 3.Be1 Re3+ 4.Kd2 Bb6 5.Rxb6 cxb6 6.Kxe3 fxe5 7.Nxe5
Kg7 8.b5 Bb3 9.Kd3 Be6 10.Bc3 Bh3 11.Ke2 Kf8 12.Bd4) -2.72/22 20} 43. Ndxc6
{(1.Ndxc6) +2.80/20 40} Bxc5 {(1. ... Bxc5) -2.77/25 20} 44. Be1 {(1.Be1)
+2.87/20 20} Re3+ {(1. ... Re3+ 2.Kd2 Bb6 3.Rxb6 cxb6 4.Kxe3 fxe5 5.Nxe5
Kg7 6.b5 g5 7.Bc3 Bg2 8.Bd4 Kf6 9.Nd3+ Ke6 10.Bxb6 Kd6 11.Kd4 Bf1 12.Bd8
Kd7 13.Bxg5) -2.82/24 20} 45. Kd2 {(1.Kd2) +2.87/20 20} Bb6 {(1. ... Bb6
2.Rxb6) -2.94/24 20} 46. Rxb6 {(1.Rxb6) +4.33/21 20} cxb6 {(1. ... cxb6
2.Kxe3 fxe5 3.Nxe5 Kg7 4.b5 g5 5.Bc3 Bg2 6.Bd4 Kf6 7.Nd3+ Ke6 8.Bxb6 Kd5
9.Bd8 Kc4 10.b6 Kb5 11.Ne5 Ba8 12.Nf7 g4 13.Kf4 Kc6 14.Bc7) -3.21/26 20}
47. Kxe3 {(1.Kxe3) +4.63/22 20} fxe5 {(1. ... fxe5 2.Nxe5 Kg7 3.b5 g5 4.Bc3
Bg2 5.Bd4 Kf6 6.Nd3+ Ke6 7.Bxb6 Kd5 8.Bd8 Kc4 9.b6 Kb5 10.Ne5 Ba8 11.Nf7 g4
12.Kf4 Kc6 13.Bc7 Kd7 14.Ne5+ Ke6 15.Nxg4 Kd5 16.Ke3) -3.30/30 20} 48. Nxe5
{(1.Nxe5) +4.63/22 20} Kg7 {(1. ... Kg7) -3.14/28 20} 49. Kd4 {(1.Kd4)
+4.72/21 20} Bg2 {(1. ... Bg2 2.b5) -4.78/30 20} 50. Nc4 {(1.Nc4) +4.72/21
20} Kf7 {(1. ... Kf7 2.Nxb6) -17.97/27 20} 51. Nxb6 {(1.Nxb6) +5.42/21 20}
Ke6 {(1. ... Ke6) -18.42/30 20} 52. b5 {(1.b5) +5.42/21 20} Bh1 {(1. ...
Bh1 2.Nc4 g5 3.Bg3 Kd7 4.Kc5 Ke6 5.Nd6 Kd7 6.b6 Bf3 7.Be1 g4 8.Bg3 Bg2
9.Bh4 Ke6 10.b7 Bxb7 11.Nxb7 Ke5 12.Bg3+ Ke4 13.Nd6+ Kf3 14.Nf5 Ke4 15.Nh4
Kd3 16.Kd5 Ke2 17.Ke4 Kf1 18.Kf5) -18.48/34 20} 53. Nc4 {(1.Nc4) +5.46/21
40} g5 {(1. ... g5 2.b6 Ba8 3.Kc5 Kf5 4.Nd6+ Kg4 5.Bd2 Kh4 6.b7 Bxb7 7.Nxb7
g4 8.Bf4 g3 9.Kd4 Kh3 10.Ke3 g2 11.Kf2 g1N 12.Kxg1 Kg4 13.Bc7 Kf3 14.Nc5
Ke3 15.Be5 Kf3 16.Kf1 Kg4 17.Kg2 Kf5) -18.53/33 20} 54. b6 {(1.b6) +5.46/21
40} Ba8 {(1. ... Ba8) -18.72/32 20} 55. Na5 {(1.Na5) +6.70/21 20} Kd7 {(1.
... Kd7 2.b7) -19.73/30 20} 56. b7 {(1.b7) +6.81/23 20} Bxb7 {(1. ... Bxb7
2.Nxb7) -21.16/32 20} 57. Nxb7 {(1.Nxb7) +6.81/25 20} Ke6 {(1. ... Ke6
2.Ke4 Kd7 3.Kd5 Kc7 4.Nc5 Kb6 5.Ne4 g4 6.Bg3 Kb5 7.Kd4 Ka4 8.Nf2 Ka5 9.Nxg4
Kb6 10.Nf6 Kb7 11.Kc5 Kc8 12.Ne4 Kd7 13.Ng5 Ke7 14.Kc6 Kf6 15.Ne4+ Ke6
16.Nf2 Ke7) -24.88/31 20} 58. Ke4 {(1.Bb4) +6.81/22 40} Kd7 {(1. ... Kd7
2.Nc5+ Kc7 3.Kd4 Kb6 4.Bg3 Kb5 5.Ne4 g4 6.Nf6 Kb6 7.Kd5 Kb5 8.Nxg4 Ka6
9.Kc6 Ka7 10.Nf2 Ka8 11.Ne4 Ka7 12.Kb5 Kb7 13.Bf4 Ka7 14.Kc4 Ka6 15.Bc7 Kb7
16.Bg3 Kb6) -24.88/31 20} 59. Nc5+ {(1.Nc5+) +6.81/24 40} Kc6 {(1. ... Kc6
2.Nd3 Kd6 3.Bg3+ Kc6 4.Be5 g4 5.Bg3 Kb6 6.Kd5 Kb5 7.Kd4 Kb6 8.Kc4 Kc6 9.Nb2
Kd7 10.Kd5 Kd8 11.Nc4 Ke7 12.Nd6 Kd7 13.Nb7 Ke7 14.Ke4 Ke6 15.Nc5+ Kf7
16.Kd5 Ke8) -24.89/31 20} 60. Kd4 {(1.Kd4) +6.87/25 20} Kb5 {(1. ... Kb5
2.Bg3 Kb6 3.Kd5 Kb5 4.Nd3 Kb6 5.Be5 g4 6.Bg3 Kb5 7.Nc5 Ka5 8.Kd4 Kb4 9.Nd3+
Kb5 10.Kc3 Kb6 11.Kb4 Kc6 12.Kc4 Kd7 13.Kd5 Ke8 14.Ke6 Kd8 15.Kd6 Ke8
16.Ke5 Kf7) -24.89/31 20} 61. Kd5 {(1.Ne4) +6.87/25 40} Kb6 {(1. ... Kb6
2.Bf2) -24.89/30 20} 62. Ne6 {(1.Ne4) +6.87/25 40} Kb7 {(1. ... Kb7 2.Bg3
Kb6 3.Bc7+ Kb5 4.Be5 Kb6 5.Bg3 g4 6.Nc5 Ka5 7.Nd7 Kb5 8.Ne5 Kb4 9.Be1+ Kb5
10.Nd7 g3 11.Bxg3 Kb4 12.Be1+ Kb5 13.Nc5 Kb6 14.Bg3 Ka7 15.Bf4 Ka8 16.Bd6)
-24.89/30 20} 63. Nxg5 {(1.Nxg5) +6.93/25 40} Kc7 {(1. ... Kc7 2.Ne6+ Kb7
3.Kc5 Kb8 4.Kb6 Kc8 5.Kc6 Kb8 6.Bf2 Ka8 7.Bg3 Ka7 8.Bf4 Ka6 9.Nc5+ Ka7
10.Kd5 Kb6 11.Bd6 Ka7 12.Bg3 Ka8 13.Ne6 Kb7 14.Ng5 Ka8 15.Kc6 Ka7 16.Ne6
Ka8 17.Kd6 Kb7) -24.89/33 19} 64. Bf2 {(1.Bf2) +6.93/26 40} Kb7 {(1. ...
Kb7 2.Ne6 Ka8 3.Kc6 Kb8 4.Kb6 Kc8 5.Bg3 Kd7 6.Nc5+ Ke7 7.Ne4 Ke6 8.Kc6 Ke7
9.Bd6+ Kd8 10.Bc7+ Ke7 11.Nf2 Ke6 12.Bg3 Ke7 13.Ne4 Kd8 14.Bf2 Ke7 15.Be1
Kd8 16.Bh4+ Kc8 17.Ng5 Kb8) -24.89/33 20} 65. Ne6 {(1.Ne6) +6.99/27 20} Ka8
{(1. ... Ka8 2.Kc6 Kb8 3.Bb6 Ka8 4.Bd4 Kb8 5.Ng5 Kc8 6.Nf7 Kb8 7.Nd6 Ka8
8.Nc8 Kb8 9.Nb6 Ka7 10.Be5 Ka6 11.Nc8 Ka5 12.Nd6 Kb4 13.Bd4 Ka4 14.Kc5 Ka5
15.Ne4 Ka6 16.Kc6 Ka5 17.Bc5 Ka6) -99.63/33 20} 66. Kc6 {(1.Kc6) +7.04/27
20} Kb8 {(1. ... Kb8 2.Nc7 Kc8 3.Nd5 Kb8 4.Nb6 Ka7 5.Bg3 Ka6 6.Bb8 Ka5
7.Nd5 Ka4 8.Kc5 Kb3 9.Nb4 Kb2 10.Bf4 Kc3 11.Be3 Kb3 12.Bd2 Ka4 13.Kc4 Ka5
14.Be3 Ka4 15.Bg5 Ka5 16.Bd8+ Ka4 17.Nd3 Ka3) -M25/33 20} 67. Nd4 {(1.Nc7)
+7.05/28 30} Ka7 {(1. ... Ka7 2.Nb5+ Ka8 3.Nc7+ Kb8 4.Bd4 Kc8 5.Ba7 Kd8
6.Nd5 Ke8 7.Bd4 Kf7 8.Nf4 Ke7 9.Kc7 Ke8 10.Bf6 Kf7 11.Bh4 Ke8 12.Kd6 Kf7
13.Kd7 Kf8 14.Bf6 Kf7 15.Be7 Kg8 16.Ke8 Kg7 17.Bd8 Kg8) -M23/33 20} 68.
Nb3+ {(1.Be1) +7.05/28 40} Kb8 {(1. ... Kb8 2.Nc5 Ka7 3.Bg3 Ka8 4.Na6 Ka7
5.Nc7 Kb8 6.Bf2 Kc8 7.Ba7 Kd8 8.Nd5 Ke8 9.Bd4 Kf7 10.Nf4 Ke7 11.Kc7 Ke8
12.Bf6 Kf7 13.Bg5 Ke8 14.Kd6 Kf7 15.Kd7 Kf8 16.Bf6 Kf7 17.Be7 Kg8 18.Ke8)
-M25/34 20} 69. Bd4 {(1.Bd4) +7.05/29 40} Kc8 {(1. ... Kc8 2.Nc5 Kb8 3.Ne6
Ka8 4.Bb6 Kb8 5.Nc7 Kc8 6.Ba7 Kd8 7.Nd5 Ke8 8.Bd4 Kf7 9.Nf4 Ke7 10.Kc7 Ke8
11.Bf6 Kf7 12.Bg5 Ke8 13.Kd6 Kf7 14.Kd7 Kf8 15.Bf6 Kf7 16.Be7 Kg8 17.Ke8
Kg7 18.Bd8 Kg8 19.Bf6) -M24/36 20} 70. Bb6 {(1.Bb6) +7.05/30 20} Kb8 {(1.
... Kb8 2.Nd4 Kc8 3.Nb5 Kb8 4.Nc7 Kc8 5.Ba7 Kd8 6.Nd5 Ke8 7.Bd4 Kf7 8.Nf4
Ke7 9.Kc7 Ke8 10.Bf6 Kf7 11.Bg5 Ke8 12.Kd6 Kf7 13.Kd7 Kf8 14.Bf6 Kf7 15.Be7
Kg7 16.Ke8 Kg8 17.Bf6 Kh7 18.Kf7 Kh6) -M22/35 20} 71. Nd4 {(1.Nd4) +7.10/31
20} Kc8 {(1. ... Kc8 2.Nb5 Kb8 3.Nc7 Kc8 4.Ba7 Kd8 5.Nd5 Ke8 6.Bd4 Kf7
7.Nf4 Ke7 8.Kc7 Ke8 9.Bf6 Kf7 10.Bd8 Ke8 11.Bg5 Kf7 12.Kd7 Kf8 13.Bf6 Kf7
14.Be7 Kg7 15.Ke8 Kg8 16.Bf6 Kh7 17.Kf7 Kh6) -M21/33 20} 72. Ba7 {(1.Ba7)
+M16/34 20} Kd8 {(1. ... Kd8 2.Nf5 Ke8 3.Kd6 Kf7 4.Nh4 Kg7 5.Be3 Kf6 6.Bf4
Kf7 7.Bg5 Ke8 8.Ke6 Kf8 9.Nf5 Ke8 10.Bh4 Kf8 11.Be7+ Kg8 12.Kf6 Kh7 13.Kf7
Kh8 14.Kg6 Kg8 15.Nh6+ Kh8 16.Bf6+) -M15/33 19} 73. Nf5 {(1.Nf5) +M15/34
20} Ke8 {(1. ... Ke8 2.Kd6 Kf7 3.Nh4 Kg7 4.Be3 Kf6 5.Bf4 Kf7 6.Bg5 Ke8
7.Ke6 Kf8 8.Nf5 Ke8 9.Bh4 Kf8 10.Be7+ Kg8 11.Kf6 Kh7 12.Kf7 Kh8 13.Kg6 Kg8
14.Nh6+ Kh8 15.Bf6+) -M14/33 19} 74. Kd6 {(1.Kd6) +M14/35 20} Kf7 {(1. ...
Kf7 2.Nh4 Kg7 3.Be3 Kf6 4.Bf4 Kf7 5.Bg5 Ke8 6.Ke6 Kf8 7.Bf6 Kg8 8.Ng6 Kh7
9.Kf7 Kh6 10.Nf4 Kh7 11.Bg5 Kh8 12.Ng6+ Kh7 13.Nf8+ Kh8 14.Bf6+) -M13/33
20} 75. Nh4 {(1.Nh4) +M13/35 20} Kg7 {(1. ... Kg7 2.Be3 Kf6 3.Bf4 Kf7 4.Bg5
Ke8 5.Ke6 Kf8 6.Bf6 Kg8 7.Ng6 Kh7 8.Kf7 Kh6 9.Nf4 Kh7 10.Bg5 Kh8 11.Ng6+
Kh7 12.Nf8+ Kh8 13.Bf6+) -M12/32 20} 76. Be3 {(1.Be3) +M12/36 20} Kf6 {(1.
... Kf6 2.Bf4 Kf7 3.Bg5 Ke8 4.Ke6 Kf8 5.Bf6 Kg8 6.Ng6 Kh7 7.Kf7 Kh6 8.Nf4
Kh7 9.Bg5 Kh8 10.Ng6+ Kh7 11.Nf8+ Kh8 12.Bf6+) -M11/33 20} 77. Bf4 {(1.Bf4)
+M11/37 30} Kf7 {(1. ... Kf7 2.Bg5 Ke8 3.Ke6 Kf8 4.Bf6 Kg8 5.Ng6 Kh7 6.Kf7
Kh6 7.Nf4 Kh7 8.Bg5 Kh8 9.Ng6+ Kh7 10.Nf8+ Kh8 11.Bf6+) -M10/34 20} 78. Bg5
{(1.Bg5) +M10/38 20} Ke8 {(1. ... Ke8 2.Ke6 Kf8 3.Bf6 Kg8 4.Ng6 Kh7 5.Kf7
Kh6 6.Nf4 Kh7 7.Bg5 Kh8 8.Ng6+ Kh7 9.Nf8+ Kh8 10.Bf6+) -M9/36 20} 79. Ke6
{(1.Ke6) +M9/41 20} Kf8 {(1. ... Kf8 2.Bf6 Kg8 3.Ng6 Kh7 4.Kf7 Kh6 5.Nf4
Kh7 6.Bg5 Kh8 7.Ng6+ Kh7 8.Nf8+ Kh8 9.Bf6+) -M8/41 19} 80. Nf5 {(1.Nf5)
+M8/46 20} Ke8 {(1. ... Ke8 2.Nd6+ Kf8 3.Kf6 Kg8 4.Bh6 Kh7 5.Nf5 Kh8 6.Kg6
Kg8 7.Ne7+ Kh8 8.Bg7+) -M7/48 20} 81. Nd6+ {(1.Bh4) +M7/59 20} Kf8 {(1. ...
Kf8 2.Kf6 Kg8 3.Bh6 Kh7 4.Nf5 Kh8 5.Kg6 Kg8 6.Ne7+ Kh8 7.Bg7+) -M6/49 0}
82. Bh6+ {(1.Bh6+) +M6/64 11} Kg8 {(1. ... Kg8 2.Kf6 Kh7 3.Nf5 Kh8 4.Kg6
Kg8 5.Ne7+ Kh8 6.Bg7+) -M5/49 0} 83. Kf6 {(1.Kf6) +M5/64 10} Kh8 {(1. ...
Kh8 2.Kg6 Kg8 3.Nf5 Kh8 4.Bg7+ Kg8 5.Nh6+) -M4/49 0} 84. Kg6 {(1.Kg6)
+M4/64 1} Kg8 {(1. ... Kg8 2.Nf5 Kh8 3.Bg7+ Kg8 4.Nh6+) -M3/49 0} 85. Nf5
{(1.Nf5) +M3/64 0} Kh8 {(1. ... Kh8 2.Bg7+ Kg8 3.Nh6+) -M2/49 0} 86. Bg7+
{(1.Bg7+) +M2/64 0} Kg8 {(1. ... Kg8 2.Nh6+) -M1/49 0} 87. Nh6# {(1.Nh6+)
+M1/64 0} 1-0

[Event "Nucleus test 1"]
[Site "Home"]
[Date "2018.03.23"]
[Round "2"]
[White "Fire 6.1 x64 popcnt"]
[Black "Nucleus 0.0.1 beta"]
[Result "1/2-1/2"]
[BlackElo "2000"]
[ECO "C68"]
[Opening "Spanish"]
[Time "22:22:10"]
[Variation "Exchange, 5.O-O Bg4 6.h3"]
[WhiteElo "3163"]
[TimeControl "0+20"]
[Termination "normal"]
[PlyCount "95"]
[WhiteType "program"]
[BlackType "program"]

1. e4 {(1.e4 e5) +0.20/18 19} e5 {(1. ... e5) -0.12/18 20} 2. Nf3 {(1.Nf3
Nc6) +0.23/18 19} Nc6 {(1. ... Nc6) -0.12/18 20} 3. Bb5 {(1.Bb5) +0.26/18
20} a6 {(1. ... Nf6) -0.16/19 40} 4. Bxc6 {(1.Bxc6) +0.19/18 19} dxc6 {(1.
... dxc6) -0.23/18 20} 5. O-O {(1.0-0) +0.14/19 20} Bg4 {(1. ... f6)
-0.31/19 40} 6. h3 {(1.h3 Bh5) 0.00/18 19} Bh5 {(1. ... Bxf3) -0.32/19 40}
7. d3 {(1.d3 f6 2.Be3 Bd6 3.Nbd2 Ne7 4.Qb1 Bf7 5.Nc4 0-0 6.Nh4 c5 7.a4 Nc6
8.Nxd6 cxd6 9.Nf5 Be6) +0.06/18 20} f6 {(1. ... Bd6) -0.24/20 40} 8. Be3
{(1.Be3 Bd6 2.c3 Ne7 3.Nbd2 Qc8 4.b4 0-0 5.a4 Bf7 6.Nc4 Ng6 7.Nxd6 cxd6
8.a5 d5 9.Qb1 dxe4 10.dxe4) +0.06/19 20} Bd6 {(1. ... Nh6) -0.29/18 40} 9.
Nbd2 {(1.Nbd2 Ne7) +0.12/18 20} Ne7 {(1. ... Ne7) -0.25/19 20} 10. c3
{(1.c3 c5) +0.05/19 20} O-O {(1. ... Bf7) -0.22/19 40} 11. d4 {(1.d4 Kh8)
-0.02/17 19} exd4 {(1. ... exd4) -0.11/19 40} 12. cxd4 {(1.cxd4 Qc8)
+0.05/18 19} f5 {(1. ... f5) -0.05/20 40} 13. e5 {(1.e5 Bb4) +0.05/22 20}
f4 {(1. ... f4) -0.10/19 40} 14. exd6 {(1.exd6 cxd6) +0.11/18 20} cxd6 {(1.
... cxd6) -0.03/19 20} 15. Qb3+ {(1.Qb3+ Bf7 2.Qxb7 Bd5 3.Qb4 Ng6 4.Kh2 a5
5.Qc3 Qe7 6.Rac1 Rf7 7.Qa3 Qd8 8.Kh1 a4 9.Rce1 h6) +0.25/18 19} Bf7 {(1.
... Nd5) 0.00/18 40} 16. Qxb7 {(1.Qxb7 Bd5) +0.16/18 19} Bd5 {(1. ... Bd5)
-0.43/17 20} 17. Qb4 {(1.Qb4 Ng6 2.Qc3 a5 3.Qc2 a4 4.Rae1 Rb8 5.Ne4 fxe3
6.fxe3 Bxa2 7.Qxc6 Rxb2 8.Qxa4 Bd5 9.Ned2 Qc7) +0.23/18 20} Ng6 {(1. ...
Ng6) -0.38/18 20} 18. Kh2 {(1.Kh2 Qc7) +0.26/17 19} a5 {(1. ... Nh4)
-0.37/17 40} 19. Qc3 {(1.Qc3 Qb8) +0.27/17 19} Qf6 {(1. ... Qe7) -0.42/15
40} 20. Nc4 {(1.Nc4 Bxf3) +0.47/19 19} Bxf3 {(1. ... Bxf3) -0.32/17 20} 21.
gxf3 {(1.gxf3) +0.48/20 20} fxe3 {(1. ... fxe3) -0.37/18 20} 22. fxe3
{(1.fxe3) +0.74/18 20} Qe6 {(1. ... Qe6) -0.36/18 40} 23. f4 {(1.f4)
+0.71/20 20} a4 {(1. ... a4) -0.38/17 20} 24. Rae1 {(1.Rae1) +0.87/18 20}
Rab8 {(1. ... Rab8) -0.40/17 20} 25. Rf2 {(1.Rf2) +0.53/20 19} Rf6 {(1. ...
Kh8) -0.39/18 40} 26. Rg1 {(1.Rg1 Nh4 2.Nd2 d5 3.Nf3 Nxf3+ 4.Rxf3 Rg6
5.Rxg6 Qxg6 6.Rg3 Qe6 7.Qc2 Rb4 8.Qg2 Rb7 9.Qd2 Rb8 10.Qc1 Kh8 11.Qb1 Kg8
12.Kg1) +0.62/23 19} Nh4 {(1. ... Nh4) -0.30/18 20} 27. Nd2 {(1.Nd2 d5)
+0.55/24 20} d5 {(1. ... Ng6) -0.35/16 40} 28. Nf3 {(1.Nf3 Nxf3+) +0.62/25
19} Nxf3+ {(1. ... Nxf3+) -0.64/20 20} 29. Rxf3 {(1.Rxf3 Rg6 2.Rxg6 Qxg6
3.Rg3 Qe6 4.Qd2 Kh8 5.Qc2 Rb4 6.Qf2 Rb8 7.Rg1 Re8 8.Rg5 Rb8 9.Re5 Qd6
10.Qc2 Kg8 11.Rg5 Qe6 12.Rg3 Rb7 13.Qf2 Qe4 14.Qd2 Kh8 15.Qe2) +0.58/29 19}
Rg6 {(1. ... Rg6) -0.65/20 20} 30. Rxg6 {(1.Rxg6 Qxg6 2.Rg3 Qe6 3.Qc2 Kh8
4.Qf2 Qe4 5.Rg1 Re8 6.Re1 Qe7 7.Qf3 Qe6 8.Qg2 Qf5 9.Qe2 Qe4 10.Qd1 Kg8
11.Qd2 Kh8 12.Qe2 Qe7 13.Qf2 Qe4) +0.55/26 20} Qxg6 {(1. ... Qxg6) -0.63/22
20} 31. Rg3 {(1.Rg3 Qe6) +0.55/23 20} Qe6 {(1. ... Qe6) -0.64/21 20} 32.
Rg2 {(1.Rg2 Kh8) +0.57/22 19} Re8 {(1. ... Re8) -0.60/21 20} 33. Re2
{(1.Re2) +0.47/24 20} Qg6 {(1. ... Qg6) -0.59/20 20} 34. Rf2 {(1.Rf2 Qf5)
+0.59/24 20} Qf5 {(1. ... h5) -0.50/20 40} 35. Rf3 {(1.Rf3) +0.42/24 20}
Re6 {(1. ... Re6) -0.44/20 20} 36. Rg3 {(1.Rg3) +0.61/23 20} Qb1 {(1. ...
Qb1) -0.20/20 20} 37. Qb4 {(1.Qb4 g6) +0.52/23 19} Qc2+ {(1. ... Qc2+)
-0.13/19 40} 38. Rg2 {(1.Rg2 Qe4 2.Qb8+ Re8 3.Qc7 g6 4.Qxc6 Qxe3 5.Qxd5+
Kg7 6.Qd7+ Re7 7.Qg4 Qxd4 8.f5 Qe5+ 9.Kh1 Rc7 10.fxg6 Rc1+ 11.Rg1 Rxg1+
12.Kxg1 Qe3+) +0.11/24 20} Qe4 {(1. ... Qe4) -0.13/19 20} 39. Qb8+ {(1.Qb8+
Re8) +0.21/25 19} Re8 {(1. ... Re8) -0.14/20 20} 40. Qb7 {(1.Qb7 g6)
+0.18/26 19} g6 {(1. ... g6) -0.13/21 20} 41. Qxc6 {(1.Qxc6 Qxe3 2.Qxd5+
Kg7 3.Qd7+ Re7 4.Qg4 Qxd4 5.f5 Qe5+ 6.Kh1 Rf7 7.fxg6 Rf1+ 8.Rg1 Rxg1+
9.Kxg1 hxg6 10.Qd7+ Kh8 11.Qc8+ Kh7 12.Qc3 Qg5+ 13.Kf2) 0.00/25 19} Qxe3
{(1. ... Qxe3) -0.03/19 20} 42. Qxd5+ {(1.Qxd5+ Kg7 2.Qd7+ Re7 3.Qg4 Qxd4
4.f5 Qe5+ 5.Kh1 Rf7 6.fxg6 Rf1+ 7.Rg1 Rxg1+ 8.Kxg1 hxg6 9.Qd7+ Kh6 10.Qd2+
Kh7 11.Kg2 Qe4+ 12.Kg3 Qe5+ 13.Qf4 Qe1+) 0.00/26 20} Kg7 {(1. ... Kg7)
0.00/20 20} 43. Qd7+ {(1.Qd7+ Re7 2.Qg4 Qxd4 3.f5 Qe5+ 4.Kh1 Rf7 5.fxg6
Rf1+ 6.Rg1 Rxg1+ 7.Kxg1 hxg6 8.Qd7+ Kh6 9.Qd2+ Kh7 10.Kg2 Qe4+ 11.Kg3 Qe5+
12.Qf4 Qe1+ 13.Kg4 Qe2+) 0.00/26 20} Re7 {(1. ... Re7) 0.00/21 20} 44. Qd6
{(1.Qd6 Re6 2.Qb8 Re8 3.Qc7+ Re7 4.Qd6) 0.00/30 20} Re6 {(1. ... Re6)
0.00/23 20} 45. Qc7+ {(1.Qc7+ Re7 2.Qd6) 0.00/31 20} Re7 {(1. ... Re7)
0.00/24 20} 46. Qd6 {(1.Qd6) 0.00/32 20} Re6 {(1. ... Re6) 0.00/24 20} 47.
Qc7+ {(1.Qc7+) 0.00/34 20} Re7 {(1. ... Re7) 0.00/23 20} 48. Qd6 {(1.Qd6)
0.00/34 20 3-fold repetition} 1/2-1/2
[/pgn]
Wwqlcw
Posts: 10
Joined: Mon May 01, 2006 7:02 pm

Re: Chess Tools

Post by Wwqlcw »

I'm wondering if this is something you might be able to do. Years ago there was a program that (supposedly) could take scanned-in chess diagrams and turn them into .pgns or FENs. I say "supposedly," since I could never get the thing to work properly. Anyhow, is this a possible project?