Bitboard CHESS ENGINE in C: YouTube series by Code Monkey King

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

Moderators: hgm, Rebel, chrisw

User avatar
mvanthoor
Posts: 1784
Joined: Wed Jul 03, 2019 4:42 pm
Location: Netherlands
Full name: Marcel Vanthoor

Re: Bitboard CHESS ENGINE in C: YouTube series by Code Monkey King

Post by mvanthoor »

maksimKorzh wrote: Sun Sep 27, 2020 10:22 am Hold on a sec...

Marcel, isn't y = (a * x) + b just an equation that can be drawn as straight line???
I remember from school this one y = kx + b
And the idea is that the more coefficient k is growing the more y is growing (sorry my English is too poor to express myself)
So it's what is known as linear dependency right?
Yes, "y = (a * x) + b" is the function for a straight line.

The higher 'a' is, the steeper the line is (if a = 0, the line is flat, the higher you make 'a', the more the line points upward; indeed, if you make 'a' negative, the line points downwards), and 'b' determines how "high" the line is on the axis. So if b = 0, the line runs through the axis origin which is y = 0, and if b is 20, it runs through y = 20.

You can play with that over here: https://www.geogebra.org/graphing?lang=en
Don't make the values too big. Start out with something like "y = 0.2 * x + 5", and then change 0.2 and 5 to see what happens.

I don't know the term linear dependency; but I assume you're right. The outcome 'y' linearly depends on what you put in 'x'.
Author of Rustic, an engine written in Rust.
Releases | Code | Docs | Progress | CCRL
User avatar
maksimKorzh
Posts: 771
Joined: Sat Sep 08, 2018 5:37 pm
Location: Ukraine
Full name: Maksim Korzh

Re: Bitboard CHESS ENGINE in C: YouTube series by Code Monkey King

Post by maksimKorzh »

FANTASTIC!

I've just implemented tapered evaluation to make use of PeSTO material and positional scores tables for BBC and the results are just fantastic!
Time control: 30sec + 0

-----------------BBC [PeSTO]-----------------
BBC [PeSTO] - Vice : 5,0/8 4-2-2 (01==0111) 63% +92
-----------------Vice-----------------
Vice - BBC [PeSTO] : 3,0/8 2-4-2 (10==1000) 38% -85

While with BBC's original evaluation VICE has crushed BBC horribly.
So new tutorials on improving evaluation are coming soon!
User avatar
maksimKorzh
Posts: 771
Joined: Sat Sep 08, 2018 5:37 pm
Location: Ukraine
Full name: Maksim Korzh

Re: Bitboard CHESS ENGINE in C: YouTube series by Code Monkey King

Post by maksimKorzh »

If I understand correctly the latest improvement of evaluation using PST(from PeSTO engine by Ronald Friederich) and interpolation method gave for about 200 ELO to BBC, can you believe it? It's very hard for me to believe because BBC was no stronger than 1800 and VICE is at least 2000...
It's incredible how strong tuned PST values could be... AMAZING!

Well, anyway, here're a couple of tutorials I've made today implementing interpolation between opening and endgame values using PST from PeSTO engine:

User avatar
mvanthoor
Posts: 1784
Joined: Wed Jul 03, 2019 4:42 pm
Location: Netherlands
Full name: Marcel Vanthoor

Re: Bitboard CHESS ENGINE in C: YouTube series by Code Monkey King

Post by mvanthoor »

maksimKorzh wrote: Sun Sep 27, 2020 5:50 pm FANTASTIC!

I've just implemented tapered evaluation to make use of PeSTO material and positional scores tables for BBC and the results are just fantastic!
Time control: 30sec + 0

-----------------BBC [PeSTO]-----------------
BBC [PeSTO] - Vice : 5,0/8 4-2-2 (01==0111) 63% +92
-----------------Vice-----------------
Vice - BBC [PeSTO] : 3,0/8 2-4-2 (10==1000) 38% -85

While with BBC's original evaluation VICE has crushed BBC horribly.
So new tutorials on improving evaluation are coming soon!
You're moving quickly. BBC seems to be shaping up to be quite a strong engine. If you score +92 against VICE, that would mean that it sits somewhere around 2130 in the CCRL Blitz list. Very respectable for a new from-scratch engine. (But do keep in mind that you would need to run MUCH longer tests to get a more accurate Elo rating. With only 8 games, you can only say that BBC is *probably* 92 Elo stronger than Vice. It isn't certain, because if you had played 10 games, BBC might have lost game 9 and 10 for a score of 5-5, which would put your rating at around 2040.)

My advice would be to run a 200 game match, time control 1 minute + 1 second or so, both with BBC as before, and with BBC+Pesto tables.
Author of Rustic, an engine written in Rust.
Releases | Code | Docs | Progress | CCRL
User avatar
MikeB
Posts: 4889
Joined: Thu Mar 09, 2006 6:34 am
Location: Pen Argyl, Pennsylvania

Re: Bitboard CHESS ENGINE in C: YouTube series by Code Monkey King

Post by MikeB »

maksimKorzh wrote: Sun Sep 27, 2020 9:02 am
MikeB wrote: Sun Sep 27, 2020 2:12 am hey code Monkey — this might have been a better forum for your youtube series about programming — Computer Chess Club: Programming and Technical Discussions maybe one of the moderators will move it for you if you ask ...
Hi Mike. I believe noone in tech room would be interested. Judge it yourself - Harald, Pedro, Sven and others are literally teaching me, so what can they learn from my videos? And here it's more likely to find noobs like me interested in these tutorials.

What do you think?
My question would be - so why are you posting here ? What is the point? I think noobs interested in programming would be able to find their to the programming section ... that's just my $.02 - I have no axe to grind - feel free to post wherever the moderators let you post.
Image
User avatar
maksimKorzh
Posts: 771
Joined: Sat Sep 08, 2018 5:37 pm
Location: Ukraine
Full name: Maksim Korzh

Re: Bitboard CHESS ENGINE in C: YouTube series by Code Monkey King

Post by maksimKorzh »

MikeB wrote: Mon Sep 28, 2020 11:45 pm
maksimKorzh wrote: Sun Sep 27, 2020 9:02 am
MikeB wrote: Sun Sep 27, 2020 2:12 am hey code Monkey — this might have been a better forum for your youtube series about programming — Computer Chess Club: Programming and Technical Discussions maybe one of the moderators will move it for you if you ask ...
Hi Mike. I believe noone in tech room would be interested. Judge it yourself - Harald, Pedro, Sven and others are literally teaching me, so what can they learn from my videos? And here it's more likely to find noobs like me interested in these tutorials.

What do you think?
My question would be - so why are you posting here ? What is the point? I think noobs interested in programming would be able to find their to the programming section ... that's just my $.02 - I have no axe to grind - feel free to post wherever the moderators let you post.
Mike, initially this thread was announcing a beginning of youtube series dedicated to creating a bitboard chess engine from scratch. Now after 80+ videos (almost livecoded) we are at the stage where version 1.0 is currently tested by CCRL team member, so the initial rating is coming soon.

It just happened so that people want to see the strength improvement of the engine, hence I'm forced to learn new things that I've never been implementing before, hence being a complete dumb noob in those things. Now guys from talkchess seeing my efforts are willing to support me by teaching the basics so from time to time it happens that Marcel is teaching me linear algebra and Harald is teaching how to apply that to tapered evaluation)

I'm also posting some announcements on the series itself, so it's more like a post on new engine release rather than technical discussion.
As far as new engine releases are published in general discussions I decided that as far as this is the same format then general discussions is right place for this thread.

Anyway if it's NECESSARY to move it to tech room I'll certainly do that without arguing just because of a deep respect to senior community members like you Mike.
User avatar
mvanthoor
Posts: 1784
Joined: Wed Jul 03, 2019 4:42 pm
Location: Netherlands
Full name: Marcel Vanthoor

Re: Bitboard CHESS ENGINE in C: YouTube series by Code Monkey King

Post by mvanthoor »

maksimKorzh wrote: Tue Sep 29, 2020 10:13 am It just happened so that people want to see the strength improvement of the engine, hence I'm forced to learn new things that I've never been implementing before, hence being a complete dumb noob in those things. Now guys from talkchess seeing my efforts are willing to support me by teaching the basics so from time to time it happens that Marcel is teaching me linear algebra and Harald is teaching how to apply that to tapered evaluation)
And at the same time, HG Mueller improved my hash table implementation by teaching me about hash buckets, FabianVDW pointed me to parts of the Rust language that I didn't encounter yet. The Vice series (re)taught me many algorithms I once knew but of which my knowledge and understanding had become very sketchy due to not using them.

Now I can repay a little bit to the community by explaining interpolation to you, so you can implement a tapered evaluation. And so we all learn from one another. That's the entire point in writing a chess engine nowadays, in my opinion. Learning and teaching new concepts, both in computer science and chess.

Oh, by the way... one or two of your video's actually made "move scoring" click for me. It's actually about the move ordering, not about the evaluation. So I had to replace my field "eval" with "score" in my move integer... so even though you call yourself dumb all the time, you have already managed to teach me something that may have prevented me from making a costly mistake within a week or two. (Or at the least, implement something under a different name that may cause confusion for someone else reading that code someday.)
Author of Rustic, an engine written in Rust.
Releases | Code | Docs | Progress | CCRL
User avatar
maksimKorzh
Posts: 771
Joined: Sat Sep 08, 2018 5:37 pm
Location: Ukraine
Full name: Maksim Korzh

Re: Bitboard CHESS ENGINE in C: YouTube series by Code Monkey King

Post by maksimKorzh »

mvanthoor wrote: Tue Sep 29, 2020 2:54 pm
maksimKorzh wrote: Tue Sep 29, 2020 10:13 am It just happened so that people want to see the strength improvement of the engine, hence I'm forced to learn new things that I've never been implementing before, hence being a complete dumb noob in those things. Now guys from talkchess seeing my efforts are willing to support me by teaching the basics so from time to time it happens that Marcel is teaching me linear algebra and Harald is teaching how to apply that to tapered evaluation)
And at the same time, HG Mueller improved my hash table implementation by teaching me about hash buckets, FabianVDW pointed me to parts of the Rust language that I didn't encounter yet. The Vice series (re)taught me many algorithms I once knew but of which my knowledge and understanding had become very sketchy due to not using them.

Now I can repay a little bit to the community by explaining interpolation to you, so you can implement a tapered evaluation. And so we all learn from one another. That's the entire point in writing a chess engine nowadays, in my opinion. Learning and teaching new concepts, both in computer science and chess.

Oh, by the way... one or two of your video's actually made "move scoring" click for me. It's actually about the move ordering, not about the evaluation. So I had to replace my field "eval" with "score" in my move integer... so even though you call yourself dumb all the time, you have already managed to teach me something that may have prevented me from making a costly mistake within a week or two. (Or at the least, implement something under a different name that may cause confusion for someone else reading that code someday.)
Thanks Marcel, this is so kind of you!
Btw the fact that I'm not posting in Rustic progress thread doesn't mean that I don't read that)))

And regarding move scoring - obviously meaningful and correct variable names make the code cleaner, but I really doubt that you could encounter some issue assuming that move score is stored within the move structure (struct move {int move, int score}) because assuming that structure you would be referencing inner fields of - move and score - still there would be a difference in referencing like move->eval VS position->eval or global position eval or whatever data structure you'll encapsulate your eval within. In BBC I've dropped the move struct completely and using move integer only for simplicity, clarity and to completely modularize move ordering itself, so it's done just right before the loop over the moves within alpha beta search instead of ordering moves on the fly within that loop like VICE, TSCP and many other monolithic engines do.
User avatar
maksimKorzh
Posts: 771
Joined: Sat Sep 08, 2018 5:37 pm
Location: Ukraine
Full name: Maksim Korzh

Re: Bitboard CHESS ENGINE in C: YouTube series by Code Monkey King

Post by maksimKorzh »

Results of recent ULTRA BULLET match between BBC 1.1a (bug fixes + PeSTO tables) vs VICE 1.0:

-----------------BBC 1.1a-----------------
BBC 1.1a - Vice : 11,0/16 10-4-2 (111001==11001111) 69% +139
-----------------Vice-----------------
Vice - BBC 1.1a : 5,0/16 4-10-2 (000110==00110000) 31% -139

PGNs: https://github.com/maksimKorzh/bbc/blob ... nament.pgn

This doesn't mean that I'm a good programmer, not at all, this only means that PeSTO engine's tables working like a charm.
Thanks to Ronald Friederich for posting those tables!

[pgn]

[Event "Arena Tournament"]
[Site "maksim-Inspiron-3582"]
[Date "2020.09.29"]
[Round "1"]
[White "BBC 1.1a"]
[Black "Vice"]
[Result "1-0"]
[BlackElo "2000"]
[ECO "C43"]
[Opening "Russian Game"]
[Time "14:38:53"]
[Variation "Modern Attack"]
[WhiteElo "2000"]
[TimeControl "30+0"]
[Termination "normal"]
[PlyCount "151"]
[WhiteType "program"]
[BlackType "program"]

1. e4 e5 2. Nf3 Nf6 3. d4 exd4 4. e5 {(e4-e5 Nf6-e4 Qd1xd4 d7-d5 e5xd6/ep
Ne4xd6 Bc1-g5 Nb8-c6) +0.02/8 1} Nd5 {(Nf6-d5 c2-c4 Nd5-e7 Nf3xd4 c7-c5
Nd4-f3 Nb8-c6) -0.08/7 0} 5. Qxd4 {(Qd1xd4 Nd5-b6 c2-c3 Nb8-c6 Qd4-d1 d7-d5
Bc1-e3) -0.00/7 0} Nb4 {(Nd5-b4 Qd4-e4 Bf8-e7 c2-c3 Nb4-c6) -0.05/7 0} 6.
Qe4 {(Qd4-e4 Bf8-e7 c2-c3 Nb4-c6 Bf1-c4 O-O O-O d7-d6) +0.48/8 0} Be7
{(Bf8-e7 Bc1-f4 Ke8-f8 c2-c3) -0.25/7 0} 7. c3 {(c2-c3 Nb4-c6 Bf1-d3 d7-d5
e5xd6/ep c7xd6 O-O) +0.56/7 0} N4c6 {(Nb4-c6 Bf1-c4 d7-d6 O-O) -0.15/7 0}
8. Bc4 {(Bf1-c4 d7-d6 e5-e6 f7xe6 Bc4xe6 Bc8xe6 Qe4xe6) +0.53/7 0} d6
{(d7-d6 Bc1-f4 O-O O-O d6xe5 Nf3xe5 Nc6xe5) -0.20/7 0} 9. Bf4 {(Bc1-f4
a7-a5 e5xd6 c7xd6 O-O O-O Bc4-d5) +0.60/7 0} O-O {(O-O) -0.25/7 0} 10. O-O
{(O-O d6xe5 Nf3xe5 Nc6xe5 Qe4xe5 c7-c6 Nb1-d2 Be7-f6) -0.00/8 0} dxe5
{(d6xe5 Nf3xe5 Nc6xe5 Qe4xe5 Rf8-e8 Qe5xc7 Qd8xc7) -0.05/7 0} 11. Nxe5
{(Nf3xe5 Nc6xe5 Bf4xe5 Nb8-d7 Rf1-d1 Be7-f6 Be5xf6 Nd7xf6) -0.00/8 0} Nxe5
{(Nc6xe5 Qe4xe5 Be7-d6 Qe5-g5 Nb8-c6 Nb1-d2) -0.10/8 0} 12. Bxe5 {(Bf4xe5
Nb8-c6 Be5-g3 Be7-d6 Bg3xd6 c7xd6 Bc4-d5) +0.28/7 0} Nc6 {(Nb8-c6 Be5-f4
Rf8-e8 Rf1-e1 Bc8-d7 Nb1-d2 Be7-d6) -0.00/7 0} 13. Bg3 {(Be5-g3 Be7-f6
Bc4-d5 Ra8-b8 h2-h3 Nc6-e7 Bd5-b3) +0.08/7 0} Bd7 {(Bc8-d7 Nb1-d2 Rf8-e8
Ra1-d1 Be7-d6 Qe4-d3) +0.10/6 0} 14. Bd5 {(Bc4-d5 Be7-f6 Qe4-f3 Ra8-c8
Rf1-d1 h7-h6 Nb1-d2) -0.00/7 0} Kh8 {(Kg8-h8 Nb1-d2 f7-f5 Qe4-e3 Rf8-e8
Ra1-e1) +0.05/6 0} 15. Na3 {(Nb1-a3 f7-f5 Qe4-f3 Ra8-c8 Na3-c4 Be7-f6)
+0.62/6 0} f5 {(f7-f5 Qe4-c4 Be7xa3 b2xa3 Rf8-e8 Ra1-d1) +0.15/7 0} 16. Qc4
{(Qe4-c4 Ra8-c8 Ra1-d1 a7-a6 Qc4-b3 f5-f4) +0.61/6 0} Rc8 {(Ra8-c8 Ra1-d1
Nc6-a5 Qc4-f4 Be7xa3 b2xa3 Rf8-e8) +0.05/7 0} 17. Rad1 {(Ra1-d1 Nc6-a5
Qc4-e2 f5-f4 Bd5-e6 Be7-d6) +0.77/6 0} Na5 {(Nc6-a5 Qc4-d4 c7-c5 Qd4-d2
Bd7-a4 b2-b3) -0.00/8 0} 18. Qd4 {(Qc4-d4 Na5-c6 Qd4-d2 Be7-g5 Qd2-c2 f5-f4
Bd5-e6) +0.57/7 0} Bxa3 {(Be7xa3 b2xa3 c7-c5 Qd4-d2 Bd7-a4 Rd1-e1 Rf8-e8)
-0.00/7 0} 19. bxa3 {(b2xa3 Na5-c6 Qd4-c4 Rf8-e8 Qc4-b3 Re8-e2 Qb3xb7)
+0.89/7 0} c5 {(c7-c5 Qd4-f4 Rf8-e8) -0.00/7 0} 20. Qf4 {(Qd4-f4 Rf8-e8
Qf4-f3 Bd7-a4 Rd1-e1 Ba4-b5) +1.03/6 0} Re8 {(Rf8-e8 Rf1-e1) -0.00/6 0} 21.
Bf7 {(Bd5-f7 Re8-e4 Qf4-d6 f5-f4 Qd6xd7 Qd8xd7 Rd1xd7 f4xg3) +1.93/8 0} Re4
{(Re8-e4 Qf4-d2 f5-f4) -1.02/8 0} 22. Qd6 {(Qf4-d6 f5-f4 f2-f3 Re4-a4
Bg3-f2 Rc8-c7 Bf2xc5 Na5-c4) +1.99/8 0} f4 {(f5-f4 Bg3xf4 Rc8-c6) -1.05/8
0} 23. f3 {(f2-f3 Re4-a4 Bg3-f2 Rc8-c7 Bf2xc5 Na5-c4 Qd6-d4) +1.84/7 0} Ra4
{(Re4-a4 Bg3-h4 Qd8-c7 Qd6xc7 Rc8xc7 Bh4-d8 Bd7-b5) -2.50/7 0} 24. Bf2
{(Bg3-f2 Ra4xa3 Qd6xd7 Qd8xd7 Rd1xd7 Ra3xc3 Bf2-e1 Rc3-a3) -0.00/8 0} Rxa3
{(Ra4xa3) -2.40/8 0} 25. Bxc5 {(Bf2xc5 Ra3xc3 Bc5-b4 Na5-c4 Qd6xd7 Qd8xd7
Rd1xd7 Rc3-c2) +2.87/8 0} Rxc3 {(Ra3xc3 Bc5-b4 Rc3-c2 Qd6xd7 Qd8-b6+ Qd7-d4
Na5-c4) -2.20/7 0} 26. Bb4 {(Bc5-b4 Na5-c4 Qd6xd7 Qd8xd7 Rd1xd7 Rc3-c2
Rd7xb7) +2.87/7 0} Nc4 {(Na5-c4 Qd6xd7 Qd8-b6+ Kg1-h1 Nc4-e5 Qd7-a4 Ne5xf7)
-2.15/7 0} 27. Qxd7 {(Qd6xd7 Qd8-b6+ Kg1-h1 Nc4-e5 Qd7-d5 Rc3-d3 Qd5xe5
Rd3xd1 Rf1xd1) +2.97/8 0} Qb6+ {(Qd8-b6+ Kg1-h1 Nc4-e5 Qd7-a4 Ne5xf7)
-2.15/7 0} 28. Kh1 {(Kg1-h1 Nc4-e5 Qd7-f5 Qb6xb4 Qf5xe5 Rc3-c2 Rd1-d7
Rc8-c3) +2.96/7 0} Ne5 {(Nc4-e5 Qd7-a4 Rc3-c2 Bf7-d5) -2.30/8 0} 29. Qf5
{(Qd7-f5 Qb6xb4 Qf5xe5 Rc3-c2 Qe5-f5 Rc8-c3 Rd1-d7) +3.03/7 0} Qxb4
{(Qb6xb4 Qf5xe5 Rc3-c2 Qe5-e4 Rc2-b2 Qe4xb4 Rb2xb4) -2.10/7 0} 30. Qxe5
{(Qf5xe5 Rc3-c2 Rd1-d7 Rc2-c1 Rf1-g1 Qb4-b1 Rg1xc1) +2.89/7 0} Rc2
{(Rc3-c2) -2.20/6 0} 31. Rg1 {(Rd1-d7 Rc2-c1 Rf1-g1 Qb4-b1 Rg1xc1) +2.89/5
0} R2c5 {(Rc2-c5 Rd1-d4 Rc5xe5 Rd4xb4 Rc8-c7 Rb4xf4) -2.75/6 0} 32. Qd6
{(Qe5-d6 Rc5-b5 Qd6-e6 Qb4-c5 Rg1-e1 Qc5-f5 Qe6-e7) +3.20/7 0} Rb5 {(Rc5-b5
Qd6-d7) -2.75/7 0} 33. Qd7 {(Qd6-d7 Rc8-b8 Rg1-e1 Rb5-c5 Re1-e7 Rc5-c2
Rd1-d6) +3.55/7 0} Ra8 {(Rc8-a8 Rd1-d4 Qb4-a5 Bf7-c4 Rb5-b2 Rd4xf4 Ra8-d8)
-2.85/7 0} 34. Rge1 {(Rg1-e1 Qb4-a5 Qd7-d6 Rb5-b2 Qd6xf4 Ra8-d8) +3.81/6 0}
Rf8 {(Ra8-f8 Re1-e8 Rb5-b6 Re8-e4 Qb4-c5) -3.20/6 0} 35. Re4 {(Re1-e4
Qb4-c5 Re4xf4 Rb5-b4 Rf4xb4 Qc5xb4) +3.89/6 0} Qc5 {(Qb4-c5 Re4xf4 Rb5-b2
Rf4-d4 Qc5-g5) -3.05/6 0} 36. Rxf4 {(Re4xf4 Rb5-b2 Rf4-g4 Qc5-f2 Bf7-b3
g7-g6) +3.61/6 0} Rb2 {(Rb5-b2 Rf4-g4 g7-g6 Bf7-e6 Qc5-f2 Be6-d5) -3.22/6
0} 37. Rg4 {(Rf4-g4 Qc5-f2 Bf7-b3 g7-g6 Qd7xb7) +3.61/5 0} Qe5 {(Qc5-e5
Bf7-b3) -3.30/6 0} 38. Bd5 {(Bf7-d5 g7-g6 Bd5xb7 Qe5-g7 Qd7xg7+) +3.82/5 0}
Rd2 {(Rb2-d2 Rd1-c1 g7-g5 Qd7xb7 Qe5xd5 Qb7xa7 Rd2xa2) -0.80/7 0} 39. Rb1
{(Rd1-b1 Rd2xd5 Qd7xb7 Rd5-a5 Qb7-b2 Kh8-g8) +0.73/6 0} Rg8 {(Rf8-g8 Qd7xb7
Qe5xd5 Qb7xa7 Rd2xa2 Rg4-d4) -0.95/6 0} 40. Ra4 {(Rg4-a4 Rd2xd5 Qd7-f7
b7-b5 f3-f4 Qe5-f5) +1.00/6 0} Qg5 {(Qe5-g5 Qd7-h3 Qg5xd5 Ra4xa7 Rg8-b8
Qh3-g3) -0.90/6 0} 41. f4 {(f3-f4 Qg5xd5 Qd7xd5 Rd2xd5 Ra4xa7 b7-b5)
+1.00/6 0} Rxd5 {(Rd2xd5 Qd7xb7 Qg5-d8 Ra4-e4 Rd5-d7 Qb7-b5 Rg8-e8) -1.00/7
0} 42. fxg5 {(f4xg5 Rd5xd7 Ra4xa7 Rg8-b8 Kh1-g1 Rd7-d2 Ra7xb7) +1.29/7 0}
Rxd7 {(Rd5xd7 Ra4xa7 Rg8-b8 Kh1-g1) -1.15/11 0} 43. Rxa7 {(Ra4xa7 Rg8-b8
Kh1-g1 Kh8-g8 a2-a4 Kg8-f7 a4-a5 Kf7-g6 h2-h4) +1.29/9 0} Rb8 {(Rg8-b8
Kh1-g1) -1.15/9 0} 44. Kg1 {(Kh1-g1 Kh8-g8 h2-h4 Rd7-f7 Rb1-d1 b7-b5 Rd1-d7
Rf7xd7) +1.30/8 0} Kg8 {(Kh8-g8 Kg1-f2 Rb8-f8+ Kf2-g3 Rf8-f7 Ra7-a8+ Rf7-f8
Ra8xf8+) -1.10/8 0} 45. h4 {(h2-h4 Rd7-f7 h4-h5 Rf7-f5 Ra7xb7 Rb8xb7
Rb1xb7) +1.36/7 0} Rd2 {(Rd7-d2 h4-h5 Rd2-c2 Ra7xb7 Rb8xb7 Rb1xb7 Rc2xa2)
-1.00/7 0} 46. a4 {(a2-a4 b7-b6 a4-a5 b6-b5 a5-a6 b5-b4 Ra7-b7 Rb8-a8)
+1.55/8 0} Rd4 {(Rd2-d4 a4-a5 Rd4xh4 Ra7xb7 Rb8xb7 Rb1xb7 Rh4-g4 Rb7-b5)
-1.15/8 0} 47. a5 {(a4-a5 Rd4xh4 a5-a6 b7-b5 Ra7-b7 Rb8xb7 a6xb7 b5-b4)
+1.71/8 0} Rxh4 {(Rd4xh4 a5-a6 b7-b6 Ra7-b7 Rb8-d8 Rb1xb6 Rh4-g4 Rb6-b5
Rg4-d4) -1.40/9 0} 48. a6 {(a5-a6 b7-b6 Ra7-b7 Rb8-f8 Rb1xb6 Rh4-h5 a6-a7
Rh5xg5 Rb7-c7) +2.09/9 0} b6 {(b7-b6 Ra7-b7 Rb8-f8 Rb1xb6 Rh4-h5 g5-g6
h7xg6 Rb6xg6) -1.70/8 0} 49. Rb7 {(Ra7-b7 Rb8-f8 Rb1xb6 Rh4-g4 a6-a7 Rg4xg5
Rb7-c7) +2.09/7 0} Rf8 {(Rb8-f8 a6-a7 Rh4-a4 Rb1xb6 Ra4-a1+ Kg1-h2 Ra1-a2
g5-g6) -1.90/8 0} 50. a7 {(a6-a7 Rh4-a4 Rb1xb6 Ra4-a2 Rb6-b5 Ra2-a1+ Rb5-b1
Ra1xb1+ Rb7xb1 Rf8-f4) +2.77/8 0} Ra4 {(Rh4-a4 Rb1xb6 Ra4-a1+ Kg1-h2 Ra1-a2
g5-g6 Rf8-f2) -1.90/7 0} 51. R1xb6 {(Rb1xb6 Ra4-a5 Rb6-b5 Ra5-a1+ Kg1-h2
Ra1-c1 Rb5-b1 Rc1-c2) +2.67/7 0} Ra5 {(Ra4-a5 g5-g6 h7xg6 Rb6xg6 Rf8-f7
Rb7-b8+) -2.00/6 0} 52. Rb5 {(Rb6-b5 Ra5-a2 Kg1-h2 g7-g6 Rb7-c7 Rf8-f2
Rb5-b8+) +2.83/7 0} Ra1+ {(Ra5-a1+ Kg1-h2 Ra1-f1 Kh2-g3 Rf1-f7 Rb5-b2
Rf8-a8) -2.05/7 0} 53. Kh2 {(Kg1-h2 Ra1-a2 Rb7-c7 h7-h6 g5xh6 g7xh6 Rb5-b8)
+3.01/6 0} Ra2 {(Ra1-a2 Rb5-d5 Ra2-a6 Rb7-e7 Ra6-g6 Kh2-g3) -2.30/7 0} 54.
Rc7 {(Rb7-c7 Ra2-a6 Rb5-b7 Ra6-g6 Rb7-b8 Rg6-a6 Kh2-g3) +3.47/7 0} Ra6
{(Ra2-a6 Rc7-d7 Rf8-e8 Rb5-b8 Re8-f8 Rb8-b7 Ra6-g6) -2.30/7 0} 55. Rb8
{(Rb5-b8 Ra6-a3 Rb8xf8+ Kg8xf8 Rc7-c8+ Kf8-f7 a7-a8Q Ra3xa8 Rc8xa8 Kf7-g6
Ra8-a5) -0.00/9 0} Ra5 {(Ra6-a5 Rb8xf8+ Kg8xf8 Rc7-c8+) -5.55/9 0} 56.
Rxf8+ {(Rb8xf8+ Kg8xf8 Rc7-c8+ Kf8-f7 a7-a8Q Ra5xa8 Rc8xa8 Kf7-g6 Ra8-a5
h7-h5) +5.10/8 0} Kxf8 {(Kg8xf8 Rc7-c8+ Kf8-f7 a7-a8Q Ra5xa8 Rc8xa8 Kf7-g6
Ra8-a7 Kg6xg5 Ra7xg7+) -5.65/10 0} 57. Rc8+ {(Rc7-c8+ Kf8-f7 a7-a8Q Ra5xa8
Rc8xa8 h7-h6 g5xh6 g7xh6 Ra8-c8 Kf7-e6 Kh2-g3) +5.24/10 0} Kf7 {(Kf8-f7
a7-a8Q Ra5xa8 Rc8xa8 Kf7-g6) -5.90/11 0} 58. a8=Q {(a7-a8Q Ra5xa8 Rc8xa8
Kf7-g6 Ra8-a7 Kg6xg5 Ra7xg7+ Kg5-h6 Rg7-a7 Kh6-g6 Kh2-g3 h7-h5) +5.26/11 0}
Rxa8 {(Ra5xa8 Rc8xa8 Kf7-g6 Ra8-a7 h7-h6 g5xh6 g7xh6 Kh2-g3 Kg6-g5 Ra7-a5+
Kg5-g6 Ra5-a6+ Kg6-h7) -6.00/13 0} 59. Rxa8 {(Rc8xa8 Kf7-g6 Ra8-a7 h7-h6
g5xh6 g7xh6 Kh2-g3 Kg6-f5 Ra7-a5+ Kf5-f6 Kg3-f4 Kf6-e6 Ra5-c5) +5.35/12 0}
Ke7 {(Kf7-e7 Ra8-a7+ Ke7-f8 Kh2-g3 Kf8-g8 Ra7-b7 Kg8-f8 Kg3-f3 Kf8-g8
Rb7-a7 Kg8-f8 Kf3-e4 Kf8-g8) -6.10/13 0} 60. Ra7+ {(Ra8-a7+ Ke7-f8 Kh2-g3
Kf8-g8 Kg3-f4 Kg8-f8 Ra7-b7 Kf8-g8 Kf4-g3 Kg8-f8 Kg3-g4 Kf8-g8 Kg4-f5)
+6.06/12 0} Kf8 {(Ke7-f8 Kh2-g3 Kf8-g8 Kg3-f4 h7-h6 g5xh6 g7xh6 Ra7-b7
h6-h5 Rb7-a7 Kg8-f8 Kf4-g5) -6.90/12 0} 61. Kg3 {(Kh2-g3 Kf8-g8 Kg3-f4
g7-g6 g2-g4 Kg8-f8 Ra7xh7 Kf8-g8 Rh7-a7 Kg8-f8 Kf4-e4 Kf8-g8) +6.89/12 0}
Kg8 {(Kf8-g8 Kg3-f4 Kg8-f8 Kf4-f5 Kf8-g8 g5-g6 h7xg6+ Kf5xg6 Kg8-f8 g2-g4
Kf8-e8 g4-g5 Ke8-d8) -7.15/13 0} 62. Kg4 {(Kg3-g4 Kg8-f8 Kg4-f5 Kf8-g8
g5-g6 h7xg6+ Kf5xg6 Kg8-f8 Ra7xg7 Kf8-e8 Kg6-f6 Ke8-d8 Rg7-b7) +6.77/12 0}
g6 {(g7-g6 Kg4-f4 Kg8-f8 Kf4-e5 Kf8-e8 Ra7xh7 Ke8-f8 Ke5-f6 Kf8-e8 Kf6xg6)
-8.70/14 0} 63. Kf4 {(Kg4-f4 Kg8-f8 Ra7xh7 Kf8-g8 Rh7-b7 Kg8-f8 Kf4-e5
Kf8-e8 Ke5-f6 Ke8-d8 Kf6xg6 Kd8-c8 Rb7-a7) +7.95/13 0} Kf8 {(Kg8-f8 Kf4-e5
Kf8-e8 Ra7xh7 Ke8-f8 Ke5-f6 Kf8-e8 Kf6xg6 Ke8-d8 Kg6-f6 Kd8-e8 g5-g6 Ke8-d8
g6-g7) -9.20/14 0} 64. Ke5 {(Ra7xh7 Kf8-g8 Rh7-b7 Kg8-f8 Kf4-e5 Kf8-e8
Ke5-f6 Ke8-d8 Kf6xg6 Kd8-c8 Rb7-a7 Kc8-d8) +7.85/12 0} Ke8 {(Kf8-e8 Ra7xh7
Ke8-f8 Ke5-f6 Kf8-e8 Kf6xg6 Ke8-d8 Kg6-f6 Kd8-e8 g5-g6 Ke8-d8 g6-g7)
-9.20/12 0} 65. Kf6 {(Ke5-f6 Ke8-d8 Ra7xh7 Kd8-e8 Kf6xg6 Ke8-d8 Kg6-f6
Kd8-c8 Rh7-h8+ Kc8-d7 g5-g6 Kd7-d6 g6-g7 Kd6-c5 g7-g8Q) -0.00/14 0} Kd8
{(Ke8-d8 Ra7xh7 Kd8-c8 Kf6xg6 Kc8-b8 Kg6-f6 Kb8-c8 g5-g6 Kc8-d8 g6-g7
Kd8-c8 g7-g8Q+) -17.05/12 0} 66. Rxh7 {(Ra7xh7 Kd8-c8 Kf6xg6 Kc8-d8 Kg6-f6
Kd8-c8 g2-g4 Kc8-b8 g5-g6 Kb8-c8 g6-g7) +9.37/11 0} Kc8 {(Kd8-c8 Kf6xg6
Kc8-d8 g2-g3 Kd8-c8 Kg6-f6 Kc8-b8 g5-g6 Kb8-c8 g6-g7 Kc8-d7 g7-g8Q+ Kd7-d6)
-17.65/13 0} 67. Kxg6 {(Kf6xg6 Kc8-b8 Kg6-f7 Kb8-b7 g5-g6 Kb7-c6 g6-g7
Kc6-c5 g7-g8Q Kc5-b4 Qg8-b8+ Kb4-c3 Qb8-e5+) +16.25/12 0} Kd8 {(Kc8-d8
g2-g3 Kd8-c8 Kg6-f6 Kc8-b8 g5-g6 Kb8-c8 g6-g7 Kc8-d7 g7-g8Q+ Kd7-d6 Qg8-e6+
Kd6-c5) -18.10/14 0} 68. Kf6 {(Kg6-f6 Kd8-c8 g5-g6 Kc8-d8 g6-g7 Kd8-d7
g7-g8Q+ Kd7-d6 Qg8-g5 Kd6-c6 Qg5-e5 Kc6-b6 Rh7-c7 Kb6-a6) +16.78/13 0} Kc8
{(Kd8-c8 g2-g3 Kc8-b8 g5-g6 Kb8-c8 g6-g7 Kc8-d7 g7-g8Q+ Kd7-d6 Qg8-e6+
Kd6-c5) -18.10/12 0} 69. g6 {(g5-g6 Kc8-b8 g6-g7 Kb8-c7 g7-g8Q+ Kc7-c6
Qg8-e6+ Kc6-b5 Rh7-c7 Kb5-a4 Qe6-c4+ Ka4-a3 Qc4-e6) +16.56/10 0} Kd8
{(Kc8-d8 g6-g7 Kd8-d7 g7-g8Q+ Kd7-d6 Qg8-e6+ Kd6-c5 Kf6-e5) -18.10/8 0} 70.
g7 {(g6-g7 Kd8-c7 g7-g8Q+ Kc7-c6 Qg8-c4+ Kc6-b6 Kf6-g6 Kb6-a5 Rh7-d7 Ka5-b6
Qc4-e6+) +16.69/9 0} Kd7 {(Kd8-d7 g7-g8Q+ Kd7-d6 Qg8-d8+ Kd6-c5 Rh7-c7+
Kc5-b5) -299.90/7 0} 71. g8=Q+ {(g7-g8Q+ Kd7-d6 Qg8-d8+ Kd6-c6 Rh7-c7+
Kc6-b5 Qd8-b8+ Kb5-a4 Rc7-a7+) +M5/8 0} Kd6 {(Kd7-d6 Qg8-d8+ Kd6-c5 Rh7-c7+
Kc5-b5) -299.92/5 0} 72. Qe6+ {(Qg8-e6+ Kd6-c5 Qe6-e3+ Kc5-b4 Rh7-c7 Kb4-b5
Qe3-b3+ Kb5-a6 Qb3-b7+ Ka6-a5 Qb7-d5+) +16.74/7 0} Kc5 {(Kd6-c5 Qe6-c8+
Kc5-d4 Rh7-h3 Kd4-d5) -299.92/5 0} 73. Rc7+ {(Rh7-c7+ Kc5-d4 Qe6-e5+ Kd4-d3
Kf6-g6 Kd3-d2 Qe5-e4 Kd2-d1) +16.61/6 0} Kb5 {(Kc5-b5 Qe6-e5+ Kb5-b4
Qe5-b2+ Kb4-a4) -299.94/5 0} 74. Qb3+ {(Qe6-b3+ Kb5-a6 Kf6-g6 Ka6-a5
Rc7-a7+) +M3/7 0} Ka6 {(Kb5-a6 Rc7-d7 Ka6-a5 Rd7-a7+) -299.96/5 0} 75. Qb8
{(Qb3-b8 Ka6-a5 Rc7-a7+) +M2/8 0} Ka5 {(Ka6-a5 Rc7-a7+) -299.98/6 0} 76.
Ra7# {(Rc7-a7+) +M1/8 0} 1-0

[/pgn]

[pgn]
[Event "Arena Tournament"]
[Site "maksim-Inspiron-3582"]
[Date "2020.09.29"]
[Round "2"]
[White "Vice"]
[Black "BBC 1.1a"]
[Result "0-1"]
[BlackElo "2000"]
[ECO "B50"]
[Opening "Sicilian"]
[Time "14:40:28"]
[Variation "2.Nf3 d6 3.Nc3"]
[WhiteElo "2000"]
[TimeControl "30+0"]
[Termination "normal"]
[PlyCount "104"]
[WhiteType "program"]
[BlackType "program"]

1. Nf3 c5 2. e4 d6 3. Nc3 {(Nb1-c3 Nb8-c6 d2-d4 e7-e5 d4xc5 d6xc5 Bc1-e3)
+0.35/7 0} Nc6 {(Nb8-c6 Bf1-d3 Ng8-f6 O-O e7-e5 h2-h3 Nc6-d4 Nc3-d5 Bc8-e6)
-0.37/9 1} 4. Bc4 {(Bf1-c4 e7-e5 O-O Bc8-e6 d2-d3 Ng8-f6 Bc1-e3) +0.40/7 0}
Nf6 {(Ng8-f6 O-O Nc6-d4 d2-d3 Bc8-g4 Bc1-e3 Bg4xf3 g2xf3) -0.36/8 0} 5. d3
{(d2-d3 Nc6-e5 Nf3xe5 d6xe5 O-O Bc8-g4 f2-f3) +0.32/7 0} Bg4 {(Bc8-g4
Bc4-b5 e7-e5 O-O h7-h6 Bb5xc6+ b7xc6 Bc1-e3) -0.28/7 0} 6. O-O {(O-O Nc6-d4
Bc1-e3) +0.30/7 0} Nd4 {(Nc6-d4 Bc1-e3 Bg4xf3 g2xf3 Qd8-b6 Be3xd4 c5xd4
Nc3-b5) -0.00/8 0} 7. Bg5 {(Bc1-g5 Qd8-b6 Ra1-b1 e7-e5 Bg5xf6 g7xf6 Nc3-d5)
+0.30/7 0} Bxf3 {(Bg4xf3 g2xf3 Qd8-b6 Bc4-b3 Ra8-d8 Bb3-a4+ Nf6-d7 Ba4-b3)
-0.22/7 0} 8. gxf3 {(g2xf3 e7-e5 f3-f4 e5xf4 Bg5xf4 Bf8-e7 Nc3-d5 O-O)
+0.30/8 0} Qd7 {(Qd8-d7 Bg5xf6 e7xf6 Nc3-d5 b7-b5 c2-c3 Qd7-h3) -0.12/7 0}
9. Be3 {(Bg5-e3) +0.40/6 0} Qh3 {(Qd7-h3 Be3xd4 c5xd4 Nc3-b5 Ra8-d8 Nb5xd4
d6-d5 Bc4-b3) -0.00/8 0} 10. Bxd4 {(Be3xd4 c5xd4 Nc3-b5 Qh3-c8 Nb5xd4
e7-e5) +1.12/9 0} cxd4 {(c5xd4 Nc3-b5 Ra8-d8 Nb5xd4 e7-e6 Bc4-b5+ Nf6-d7
Bb5xd7+ Rd8xd7 Ra1-c1) -0.51/8 0} 11. Nb5 {(Nc3-b5 Qh3-c8 Nb5xd4 e7-e5
Bc4-b5+ Ke8-d8) +1.22/8 0} Rd8 {(Ra8-d8 Nb5xd4 a7-a6 Ra1-c1 d6-d5 e4xd5
h7-h6 c2-c3) -0.00/8 0} 12. Nxd4 {(Nb5xd4 a7-a6 f3-f4 e7-e5) +1.25/7 0} a6
{(a7-a6 Bc4-b3 d6-d5 e4-e5 Nf6-d7 Bb3xd5 Nd7xe5) -0.39/7 0} 13. f4 {(f3-f4
e7-e5 f4xe5 d6xe5 Qd1-f3 Qh3xf3 Nd4xf3) +1.25/7 0} Ng4 {(Nf6-g4 Nd4-f3
e7-e6 Rf1-e1 e6-e5 Bc4-d5 e5xf4) -0.26/7 0} 14. Nf3 {(Nd4-f3 e7-e6 Rf1-e1
Bf8-e7) +1.25/7 0} e6 {(e7-e6 f4-f5 d6-d5 e4xd5 e6xd5 Qd1-e2+ Bf8-e7
Ra1-e1) -0.21/7 0} 15. d4 {(d3-d4 Bf8-e7 d4-d5 Rd8-c8 b2-b3 Ng4-f6) +1.25/6
0} Be7 {(Bf8-e7 d4-d5 Rh8-f8 Rf1-e1 e6xd5 Bc4xd5 Be7-f6) -0.15/7 0} 16. d5
{(d4-d5 f7-f5 Rf1-e1 f5xe4 Re1xe4) +1.15/6 0} b5 {(b7-b5 Bc4-b3 Rh8-f8
c2-c4 e6xd5 c4xd5 Be7-f6) -0.00/7 0} 17. Be2 {(Bc4-e2 f7-f5 e4xf5 e6xf5
Rf1-e1 Ke8-f8 c2-c4) +1.15/7 0} exd5 {(e6xd5 Qd1xd5 O-O Ra1-d1 Be7-f6
Qd5-c6 Rd8-c8) -0.00/7 0} 18. Qxd5 {(Qd1xd5 O-O Qd5-b7 Be7-f6 Qb7xa6 Bf6xb2
Ra1-d1) +1.30/7 0} O-O {(O-O Ra1-d1 Be7-f6 c2-c3 b5-b4 c3xb4 Bf6xb2)
-0.02/7 0} 19. Qb7 {(Qd5-b7 Be7-f6 Qb7xa6 Rf8-e8 Be2xb5 Re8xe4) +1.80/6 0}
Bf6 {(Be7-f6 Ra1-d1 Bf6xb2 Qb7xa6 Rf8-e8 Rd1xd6 Rd8xd6) +0.22/7 0} 20. Qxa6
{(Qb7xa6 Rf8-e8 Qa6-c6 Rd8-c8) +1.80/6 0} Rde8 {(Rd8-e8 Qa6-c6 Re8-c8
Qc6xb5 Rc8xc2 Ra1-b1) +0.20/6 0} 21. Qc6 {(Qa6-c6 Qh3-h6 Qc6xd6 Re8xe4
Be2xb5) +1.70/5 0} Rc8 {(Re8-c8 Qc6xb5 Rc8xc2 Ra1-b1 Rf8-d8 Qb5-d3) +0.10/6
0} 22. Qxb5 {(Qc6xb5 Rc8-b8 Qb5-c6 Rb8xb2 Ra1-d1 Rf8-d8 a2-a4) +1.90/7 0}
Rxc2 {(Rc8xc2 e4-e5 d6xe5 f4xe5 Bf6-e7 Be2-d3 Rc2-c8) -0.00/7 0} 23. Rab1
{(Ra1-b1 Qh3-h6 f4-f5 Bf6-e5 Nf3xe5 Ng4xe5) +1.95/6 0} Rd8 {(Rf8-d8 Be2-d1
Rc2-c8 a2-a3 g7-g6 Qb5-e2) -0.00/6 0} 24. a4 {(a2-a4 Rc2-c5 Qb5-b4 Rc5-h5
a4-a5 Ng4xh2) +1.70/6 0} g6 {(g7-g6 Be2-d1 Rc2-c5 Qb5-e2 d6-d5 e4-e5)
-0.00/6 0} 25. b4 {(b2-b4 Rc2-c3 e4-e5 d6xe5 f4xe5 Bf6-e7) +2.10/6 0} Rc3
{(Rc2-c3 e4-e5 d6xe5 f4xe5 Bf6-g7) -0.01/5 0} 26. Bd3 {(Be2-d3 Qh3xf3)
-1.95/6 0} Qxf3 {(Qh3xf3 Bd3-e2 Qf3xf4 Be2xg4 Qf4xg4+ Kg1-h1 Qg4xe4+ Kh1-g1
Qe4-g4+ Kg1-h1 Qg4-f3+) +5.04/8 0} 27. Be2 {(Bd3-e2 Qf3xf4 Be2xg4 Qf4xg4+
Kg1-h1) -3.70/7 0} Qxf4 {(Qf3xf4 Be2xg4 Qf4xg4+ Kg1-h1 Qg4xe4+ Kh1-g1
Qe4-g4+ Kg1-h1 Qg4-f3+ Kh1-g1 Rc3-c2) +5.16/7 0} 28. Bxg4 {(Be2xg4 Qf4xg4+
Kg1-h1 Qg4xe4+ Kh1-g1 Bf6-e5 Qb5-a5) -3.65/7 0} Qxg4+ {(Qf4xg4+ Kg1-h1
Qg4xe4+ Kh1-g1 Qe4-g4+ Kg1-h1 Qg4-f3+ Kh1-g1 Rc3-c2 Rb1-e1 Qf3-g4+ Kg1-h1
Qg4-f3+) +5.11/8 0} 29. Kh1 {(Kg1-h1 Qg4xe4+ Kh1-g1 Bf6-e5 Qb5-b6 Rd8-c8
a4-a5) -4.10/7 0} Qxe4+ {(Qg4xe4+ Kh1-g1 Qe4-g4+ Kg1-h1 Qg4-f3+ Kh1-g1
Rc3-c2 Rb1-e1 Qf3-g4+ Kg1-h1 Qg4-f3+) +5.11/7 0} 30. Kg1 {(Kh1-g1 Bf6-e5
Rf1-d1 Qe4-g4+ Kg1-f1 Be5xh2 a4-a5) -4.65/7 0} Qg4+ {(Qe4-g4+ Kg1-h1
Qg4-f3+ Kh1-g1 Rc3-c2 Rb1-e1 Bf6-e5 Re1xe5 d6xe5) +5.00/7 0} 31. Kh1
{(Kg1-h1 Qg4-f4 Qb5-e2 Bf6-e5) -4.45/7 0} Qf3+ {(Qg4-f3+ Kh1-g1 Rc3-c2
Rb1-e1 Bf6-e5 Qb5-b6 Qf3-g4+ Kg1-h1 Qg4-f3+) +5.15/7 0} 32. Kg1 {(Kh1-g1
Qf3-f4 Rf1-e1 Bf6-e5 Kg1-f1 Qf4xh2 Rb1-d1) -4.40/7 0} Rc2 {(Rc3-c2 Rb1-e1
Bf6-e5 Qb5-b6 Qf3-g4+ Kg1-h1 Qg4-f3+) +5.15/6 0} 33. Rbc1 {(Rb1-c1 Qf3-g4+
Kg1-h1 Rc2-b2 Rc1-c4 Qg4-e2) -3.70/7 0} Qg4+ {(Rc2-e2 Qb5-c6 Qf3-g4+ Qc6-g2
Qg4xb4 Qg2-f3 Qb4-b2) +5.15/6 0} 34. Kh1 {(Kg1-h1 Rc2-b2 Rc1-c4 Qg4-h3
Rc4-c7 Qh3-f3+ Kh1-g1) -4.30/7 0} Rd2 {(Rc2-d2 Rc1-e1 Qg4-f3+ Kh1-g1 Bf6-e5
Re1xe5 d6xe5) +5.01/6 0} 35. Qb7 {(Qb5-b7 Bf6-e5 Rc1-b1 Qg4-h3 Qb7-g2
Qh3xg2+) -4.00/6 0} d5 {(d6-d5 Qb7-b6 Qg4-f3+ Kh1-g1 Rd2-e2 Rc1-c7 d5-d4)
+4.94/6 0} 36. Qb6 {(Qb7-b6 Qg4-e4+ Kh1-g1 Qe4-h4 a4-a5 Bf6-d4) -4.20/6 0}
Qf3+ {(Qg4-f3+ Kh1-g1 Bf6-h4 h2-h3 Qf3xh3 Rc1-c7 d5-d4) +5.28/6 0} 37. Kg1
{(Kh1-g1 Bf6-h4 Rc1-e1 Qf3-f4 Qb6-c5 Rd2-b2) -4.35/6 0} Bh4 {(Bf6-h4 h2-h3
Qf3xh3 Rc1-c7 d5-d4) +5.28/5 0} 38. Rce1 {(Rc1-e1 Rd8-a8 Qb6-e3 Qf3-g4+
Kg1-h1 Qg4xb4 Re1-d1) -4.70/7 0} d4 {(d5-d4 Qb6xd8+ Bh4xd8 Re1-e8+ Kg8-g7
Re8xd8 Qf3-g4+ Kg1-h1 d4-d3 Rf1-b1) +5.93/7 0} 39. Qxd8+ {(Qb6xd8+ Bh4xd8
Re1-e8+ Kg8-g7 Re8xd8 Qf3-f4 Rd8-e8 d4-d3 a4-a5) -6.10/9 0} Bxd8 {(Bh4xd8
Re1-e8+ Kg8-g7 Re8xd8 Qf3-g4+ Kg1-h1 d4-d3 Rd8-b8 Qg4-f4 Rb8-b6 Rd2xf2
Rf1xf2) +6.57/9 0} 40. Re8+ {(Re1-e8+ Kg8-g7 Re8xd8 Qf3-g4+ Kg1-h1 d4-d3
b4-b5 Qg4xa4 Rd8-b8) -6.30/9 0} Kg7 {(Kg8-g7 Re8xd8 Qf3-g4+ Kg1-h1 d4-d3
Rd8-b8 Qg4-f4 Rb8-b6 Rd2xf2 Rf1xf2 Qf4xf2) +6.57/9 0} 41. Rxd8 {(Re8xd8
Qf3-g4+ Kg1-h1 d4-d3 Rd8-b8 Qg4-f4) -6.45/9 0} Qg4+ {(Qf3-g4+ Kg1-h1 d4-d3
Rd8-b8 Qg4-f4 Rb8-b6 Rd2xf2 Rf1xf2 Qf4xf2) +6.57/8 0} 42. Kh1 {(Kg1-h1
Qg4-h4 Rd8-e8 Rd2xf2 Rf1xf2 Qh4xf2 h2-h3 Qf2-g3) -6.85/8 0} d3 {(d4-d3
Rd8-b8 Qg4-f4 Rb8-b6 Rd2-c2 a4-a5 Qf4-f3+ Kh1-g1 d3-d2) +6.57/8 0} 43. Rb8
{(Rd8-b8 Rd2-d1 Rf1xd1 Qg4xd1+) -6.25/7 0} Qf4 {(Qg4-f4 Rb8-b5 Rd2xf2
Rf1xf2 Qf4xf2 h2-h3 Qf2-f3+ Kh1-h2 d3-d2) +7.19/8 0} 44. Rb5 {(Rb8-b5
Rd2xf2 Rf1xf2 Qf4xf2 h2-h3 Qf2-g3 Rb5-b7 Qg3xh3+) -7.35/8 0} Rxf2 {(Rd2xf2
Rf1xf2 Qf4xf2 h2-h3 Qf2-f1+ Kh1-h2 d3-d2 Rb5-d5 Qf1-f2+ Kh2-h1 Qf2-f3+
Kh1-h2 Qf3xd5) +12.09/10 0} 45. Rxf2 {(Rf1xf2 Qf4xf2 h2-h3 d3-d2 Rb5-d5
Qf2-f3+ Kh1-g1 Qf3xd5) -11.90/8 0} Qxf2 {(Qf4xf2 h2-h3 d3-d2 Rb5-d5 Qf2-f3+
Kh1-h2 Qf3xd5 a4-a5 Qd5-e5+ Kh2-g2 Qe5-e4+ Kg2-g3 d2-d1Q) +19.83/10 0} 46.
h3 {(h2-h3 d3-d2 Rb5-d5 Qf2-f1+ Kh1-h2 Qf1-f4+ Kh2-g1 Qf4-g3+ Kg1-h1)
-19.70/9 0} d2 {(d3-d2 Rb5-d5 Qf2-f3+ Kh1-h2 Qf3xd5 a4-a5 Qd5-e5+ Kh2-g2
Qe5-e4+ Kg2-f2 Qe4-e1+ Kf2-g2 d2-d1Q) +19.83/9 0} 47. Rd5 {(Rb5-d5 Qf2-f3+
Kh1-h2 Qf3xd5 a4-a5 d2-d1Q Kh2-g3 Qd1-e1+) -21.30/8 0} Qf3+ {(Qf2-f3+
Kh1-h2 Qf3xd5 a4-a5 Qd5-e5+ Kh2-g2 d2-d1Q Kg2-f2 Qe5-b2+ Kf2-g3 Qd1-e1+
Kg3-f3 Qb2xb4) +20.61/9 0} 48. Kh2 {(Kh1-h2 Qf3xd5 a4-a5 d2-d1Q Kh2-g3)
-299.92/7 0} Qxd5 {(Qf3xd5 a4-a5 Qd5-e5+ Kh2-g2 d2-d1Q Kg2-f2 Qe5-e1+
Kf2-g2 Qd1-e2+) +M5/8 0} 49. a5 {(a4-a5) -299.94/7 0} Qe5+ {(Qd5-e5+ Kh2-g2
Qe5-e4+ Kg2-f2 Qe4-e1+ Kf2-g2 d2-d1Q h3-h4 Qe1xb4 a5-a6) +21.02/7 0} 50.
Kg2 {(Kh2-g2 d2-d1Q Kg2-f2 Qe5-e1+ Kf2-g2 Qd1-e2+) -299.94/6 0} d1=Q
{(d2-d1Q a5-a6 Qd1-e2+ Kg2-h1 Qe5-h2+) +M3/9 0} 51. Kf2 {(Kg2-f2 Qe5-e1+
Kf2-g2 Qd1-e2+) -299.96/6 0} Qee1+ {(Qe5-e1+ Kf2-g2 Qe1-g1+) +M2/6 0} 52.
Kg2 {(Kf2-g2 Qd1-e2+) -299.98/5 0} Qde2# {(Qd1-e2+) +M1/7 0} 0-1

[/pgn]

[pgn]

[Event "Arena Tournament"]
[Site "maksim-Inspiron-3582"]
[Date "2020.09.29"]
[Round "8"]
[White "Vice"]
[Black "BBC 1.1a"]
[Result "1/2-1/2"]
[BlackElo "2000"]
[ECO "D10"]
[Opening "Slav"]
[Time "14:48:58"]
[Variation "3.e3 Nf6"]
[WhiteElo "2000"]
[TimeControl "30+0"]
[Termination "normal"]
[PlyCount "270"]
[WhiteType "program"]
[BlackType "program"]

1. d4 d5 2. c4 c6 3. e3 Nf6 4. Bd3 {(Bf1-d3 Bc8-e6 Qd1-b3 Qd8-b6 Qb3xb6
a7xb6 Nb1-d2) +0.25/7 0} Be6 {(Bc8-e6 c4xd5 c6xd5 Ng1-f3 Nb8-c6 O-O Nc6-b4
Nb1-c3) -0.00/8 1} 5. Qb3 {(Qd1-b3 d5xc4 Qb3xb7 Nb8-d7 Bd3-e2 c6-c5 Ng1-f3)
+0.25/7 0} dxc4 {(d5xc4 Bd3xc4 Be6xc4 Qb3xc4 Nb8-d7 Ng1-f3 e7-e6 O-O
Bf8-d6) -0.00/9 0} 6. Qxb7 {(Qb3xb7 Nb8-d7 Bd3-e2 Be6-d5 Ng1-f3 c6-c5
Qb7-a6 c5xd4 e3xd4) +0.17/9 0} Nbd7 {(Nb8-d7 Bd3-c2 Be6-d5 Ng1-f3 c6-c5
Qb7-a6 Qd8-b6 Qa6xb6) +0.50/8 0} 7. Be2 {(Bd3-e2 Be6-d5 Ng1-f3 c6-c5 Qb7-a6
c5xd4 e3xd4 Qd8-b6) +0.17/8 0} Bd5 {(Be6-d5 Ng1-f3 c6-c5 Qb7-a6 c5xd4 e3xd4
Qd8-c7) +0.43/7 0} 8. Nf3 {(Ng1-f3 c6-c5) +0.17/7 0} e5 {(e7-e5 d4xe5
Nf6-g4 Nb1-c3 Nd7xe5 O-O) +0.38/6 0} 9. Nxe5 {(Nf3xe5 Nd7xe5 d4xe5 Nf6-d7
O-O Nd7xe5 Nb1-c3) +0.40/7 0} Bxg2 {(Bd5xg2 Rh1-g1 Nd7xe5 Rg1xg2 Ra8-b8
Qb7xa7 Ne5-d3+) +0.53/7 0} 10. Rg1 {(Rh1-g1 Nd7xe5 d4xe5 Ra8-b8 Qb7xa7
Bf8-b4+ Nb1-c3) +1.15/7 0} Nxe5 {(Nd7xe5 d4xe5 Ra8-b8 Qb7xa7 Rb8-a8 Qa7-d4
Qd8xd4 e3xd4) -0.00/8 0} 11. dxe5 {(d4xe5 Ra8-b8 Qb7-a6 Bf8-b4+) +2.20/8 0}
Rb8 {(Ra8-b8 Qb7xa7 Rb8-a8 Qa7-b7 Ra8-b8 Qb7-a7 Qd8xb8) -0.00/7 0} 12. Qa6
{(Qb7-a6 Bf8-b4+) +2.40/7 0} Bd5 {(Bg2-d5 e5xf6 Qd8xf6 Nb1-c3 Qf6-h4 Rg1-g4
Qh4xh2) -1.99/7 0} 13. exf6 {(e5xf6 Qd8xf6 Be2xc4 Bf8-b4+ Ke1-f1 Bd5xc4+)
+3.13/7 0} Qxf6 {(Qd8xf6 Nb1-c3 Bf8-b4 Bc1-d2 Bb4-d6 Be2xc4 Bd5-f3) -2.36/7
0} 14. Bxc4 {(Be2xc4 Bf8-b4+ Ke1-f1 Bd5xc4+ Qa6xc4 O-O a2-a3) +3.13/7 0}
Bb4+ {(Bf8-b4+ Nb1-d2 Bd5xc4 Qa6xc4 O-O Ra1-b1 Rf8-d8 Qc4-g4) -2.28/7 0}
15. Kf1 {(Ke1-f1 Bd5xc4+ Qa6xc4 O-O) +2.98/6 0} Bf3 {(Bd5xc4+ Qa6xc4 O-O
Kf1-g2 Qf6-g5+ Kg2-h1 Qg5-d5+ Qc4xd5 c6xd5) -1.94/6 0} 16. Qxa7 {(Qa6xa7
O-O Bc4-d3 Bb4-d6 Nb1-d2 Bd6xh2 Nd2xf3) +3.60/7 0} O-O {(O-O Nb1-c3 Rb8-d8
Rg1-g3 Bb4-d6 Kf1-g1 Bd6xg3) -1.78/7 0} 17. Be2 {(Bc4-e2 Bf3xe2+ Kf1xe2
Qf6-e5 Rg1-g2 Qe5-c5) +3.65/6 0} Rfd8 {(Bb4-d6 Be2xf3 Qf6xf3 Nb1-c3 Rb8-d8
Rg1-g2) -1.88/6 0} 18. Qa6 {(Qa7-a6 Bf3-d5 a2-a3 Rb8-a8 Qa6-b6 Bb4-d6)
+3.70/6 0} Bd5 {(Bf3-d5 Rg1-g4 h7-h5 Rg4-d4 Bb4-c5 Rd4-d1) -2.19/6 0} 19.
a3 {(a2-a3 Bb4-d6 Nb1-c3 Qf6-h4 Nc3xd5 c6xd5 Rg1-g2) +3.35/7 0} Ra8
{(Rb8-a8 Qa6-b6 Bb4-a5 Qb6-c5 Qf6-h4 Nb1-c3 Qh4xh2) -1.77/7 0} 20. Qb6
{(Qa6-b6 Ra8-b8 Qb6-a7 Bb4-d6 f2-f4 c6-c5) +3.70/6 0} Ba5 {(Bb4-a5 Qb6-c5
Qf6-e5 Be2-f3 Qe5xh2 Rg1-h1 Qh2-e5) -1.70/7 0} 21. Qc5 {(Qb6-c5 Qf6-f5
f2-f3 Qf5-h3+ Rg1-g2 Bd5xf3 Be2xf3) +2.88/7 0} Qf5 {(Qf6-f5 b2-b4 Qf5-h3+
Kf1-e1 Qh3xh2 Rg1xg7+ Kg8xg7 Bc1-b2+ Kg7-g8 b4xa5) -1.63/7 0} 22. f3
{(f2-f3 Qf5-h3+ Rg1-g2 Bd5xf3) +2.88/6 0} Qh3+ {(Qf5-h3+ Kf1-f2 Qh3-h4+
Rg1-g3 Qh4xh2+ Rg3-g2 Qh2-h4+ Kf2-g1 Qh4-e1+ Be2-f1 Ba5-b4 Qc5-d4 Qe1xc1)
-0.00/8 0} 23. Kf2 {(Kf1-f2 Qh3xh2+ Rg1-g2 Qh2xg2+ Kf2xg2 Ba5-c7 Kg2-g1)
+1.58/7 0} Qh4+ {(Qh3-h4+ Rg1-g3 Qh4xh2+ Rg3-g2 Qh2-h4+ Kf2-g1 Qh4-e1+
Be2-f1 Ba5-b4 Qc5-d4 Qe1xc1) -0.57/7 0} 24. Rg3 {(Rg1-g3 Ba5-c7 Kf2-g2
Bc7-d6 Qc5-d4 Bd6xg3 h2xg3) +1.57/7 0} Qxh2+ {(Qh4xh2+ Rg3-g2 Qh2-h4+
Kf2-g1 Qh4-e1+ Be2-f1 Ba5-b4 Qc5-d4 Qe1xc1 Qd4xb4) -0.57/7 0} 25. Rg2
{(Rg3-g2 Qh2-h4+ Kf2-g1 Bd5xf3 Be2xf3 Qh4-e1+ Kg1-h2) -0.00/7 0} Qh4+
{(Qh2-h4+ Kf2-g1 Qh4-e1+ Be2-f1 Ba5-b4 Qc5-d4 Qe1xc1 Qd4xb4) -0.57/6 0} 26.
Kg1 {(Kf2-g1 Bd5xf3 Be2xf3 Qh4-e1+) -0.00/7 0} Bxf3 {(Qh4-e1+ Be2-f1 Bd5xf3
Rg2-f2 Ba5-b4 Qc5-f5 Bf3-d5) -0.74/6 0} 27. Bxf3 {(Be2xf3 Qh4-e1+) -0.00/7
0} Qe1+ {(Qh4-e1+ Kg1-h2 Qe1-h4+ Kh2-g1) -0.00/10 0} 28. Kh2 {(Kg1-h2
Qe1-h4+ Kh2-g1 Qh4-e1+ Kg1-h2 Qe1-h4+ Kh2-g1) -0.00/7 0} Bc7+ {(Ba5-c7+
Kh2-h3 Qe1-h1+ Kh3-g4 Ra8-a5 Qc5xa5 Bc7xa5 Nb1-c3 Ba5-b6 Kg4-f5) +0.38/8 0}
29. Kh3 {(Kh2-h3 Qe1-h1+ Kh3-g4 Ra8-a5 Qc5xa5 Bc7xa5) +0.35/7 0} Qh1+
{(Qe1-h1+ Kh3-g4 Ra8-a5 Qc5xa5 Bc7xa5 Nb1-c3 Ba5-b6 Kg4-f5) +0.38/7 0} 30.
Kg4 {(Kh3-g4 Ra8-a5 Qc5xa5 Bc7xa5) +0.35/6 0} Ra5 {(Ra8-a5 Qc5xa5 Bc7xa5
Nb1-c3 Ba5-b6 Ra1-b1 h7-h5+ Kg4-g5 c6-c5) -0.00/8 0} 31. Qxa5 {(Qc5xa5
Bc7xa5 Nb1-d2) +0.30/6 0} Bxa5 {(Bc7xa5 Nb1-c3 Qh1-f1 Rg2-e2 Ba5xc3 b2xc3
Rd8-d1) +0.38/7 0} 32. Nd2 {(Nb1-d2 f7-f5+) -0.65/6 0} f5+ {(Ba5-c7 Nd2-c4
Qh1-f1 b2-b3 h7-h5+) +0.43/5 0} 33. Kxf5 {(Kg4xf5 Qh1-h3+) -1.80/6 0} Qh3+
{(Rd8-f8+ Kf5-e4 Rf8xf3 Ke4xf3 Ba5xd2 Bc1xd2 Qh1xa1) +1.24/6 0} 34. Ke4
{(Kf5-e4 Ba5xd2) -2.00/6 0} Bxd2 {(Ba5xd2 Bc1xd2 Rd8-e8+ Ke4-f4 Re8-f8+
Kf4-e5 Qh3xf3 Rg2-g5 Rf8-d8) +2.24/7 0} 35. Bxd2 {(Bc1xd2 Rd8-e8+ Ke4-d3
Qh3xf3 Ra1-g1 Qf3-f5+ Kd3-c3) -1.75/7 0} Re8+ {(Rd8-e8+ Ke4-d4 Qh3xf3
Ra1-g1 g7-g6 Kd4-c5 Re8-e4 Kc5-b6) +2.10/7 0} 36. Kd3 {(Ke4-d3 Qh3xf3
Ra1-g1) -1.70/6 0} Qxf3 {(Qh3xf3 Ra1-g1 g7-g6 Kd3-c3 Re8-e4 Rg2-g3 Qf3-f2
Rg1-g2) +2.21/8 0} 37. Rag1 {(Ra1-g1 Qf3-f5+ Kd3-c3 Re8-e7 Rg2-g5 Qf5-e4
Rg1-d1) -1.63/7 0} g6 {(g7-g6 Rg2-g4 Re8-b8 Kd3-c3 Rb8-c8 Rg1-g3) +2.09/6
0} 38. Kc2 {(Kd3-c2 Qf3-e4+ Kc2-c1 Qe4-c4+ Kc1-b1 Re8-f8 Rg2-h2) -1.25/7 0}
Re4 {(Re8-e4 Rg2-g3 Qf3-f5 Kc2-b3 Qf5-f2 Rg1-g2 Qf2-f1) +2.16/7 0} 39. Kb1
{(Kc2-b1 Re4-e5 Rg2-g3 Qf3-f5+ Kb1-c1 c6-c5 Rg1-d1) -1.20/7 0} Rc4 {(Re4-c4
Kb1-a2 Qf3-d5 Ka2-b1 Qd5-e4+ Kb1-a2 Rc4-c2 Rg2-f2 h7-h6) +2.47/8 0} 40. Rg5
{(Rg2-g5) -1.23/6 0} Qe4+ {(Qf3-e4+ Kb1-a2 Rc4-c2 Bd2-c1 Qe4-f3 Ka2-b1
Rc2-e2 Rg5-e5 Kg8-g7) +2.55/8 0} 41. Ka1 {(Kb1-a1 Qe4-d3 Bd2-c1 Rc4-c2
Rg5-a5 Qd3-d8 Ra5-a7) -1.40/7 0} Rc2 {(Rc4-c2 Rg1-d1 c6-c5 Rg5-g1 Qe4-d5
Bd2-c3 Qd5-f3) +2.62/7 0} 42. R5g4 {(Rg5-g4 Qe4-e7 Rg1-d1 Qe7-f6 Bd2-c3
Qf6-f3 Rd1-d8+) -1.15/7 0} Qf3 {(Qe4-f3 Rg4-d4 Qf3-f2 Rd4-d8+ Kg8-f7 Rg1-d1
Qf2-f3 Rd8-d7+) +2.20/7 0} 43. Rd4 {(Rg4-d4 Qf3-f6 Ka1-b1 Rc2xb2+ Kb1xb2
c6-c5 Kb2-c3 c5xd4+) -0.95/8 0} Qf2 {(Qf3-f2 Rd4-d8+ Kg8-f7 Rg1-d1 Qf2-f3
Rd1-c1 Rc2xc1+ Bd2xc1 Kf7-f6) +2.16/7 0} 44. Rd1 {(Rg1-d1 Qf2-f6 Ka1-b1
c6-c5 Kb1xc2 c5xd4 e3xd4) -0.75/7 0} Qe2 {(Qf2-e2 Rd1-e1 Qe2-g2 Rd4-d8+
Kg8-f7 Bd2-c3 Qg2-f3) +2.15/6 0} 45. Rd8+ {(Rd4-d8+ Kg8-f7 Bd2-c3 c6-c5
Rd1-d7+ Kf7-e6 Ka1-b1) -0.28/7 0} Kf7 {(Kg8-f7 Bd2-c3 Qe2-f2 Rd1-d7+ Kf7-e6
Ka1-b1 Rc2-e2 Bc3-d4 h7-h6) +1.39/7 0} 46. Bc3 {(Bd2-c3 Qe2-g4 Rd1-d7+
Kf7-e6 Ka1-b1 Qg4-f5 Bc3-d4) -0.20/7 0} Ke6 {(Kf7-e6 Ka1-b1 c6-c5 Rd8-d7
h7-h6 Rd1-d6+ Ke6-f5 Bc3-f6) +1.33/7 0} 47. Re8+ {(Rd8-e8+ Ke6-f7 Re8-d8
Qe2-g4 Rd1-d7+ Kf7-e6) -0.00/7 0} Kf5 {(Ke6-f5 Rd1-h1 h7-h5 e3-e4+ Kf5-f4
Rh1-g1 g6-g5 Ka1-b1) +1.79/6 0} 48. e4+ {(e3-e4+ Kf5-g4 Rd1-g1+ Kg4-h3
Re8-e7 Kh3-h2) +0.05/6 0} Kf4 {(Kf5-f4 Rd1-h1 h7-h5 Rh1-g1 g6-g5 Bc3-e5+
Kf4xe4 Rg1xg5) +1.80/6 0} 49. Rf8+ {(Re8-f8+ Kf4-g3 Rd1-g1+ Kg3-h2 Rg1-e1
Qe2-c4 Ka1-b1) +0.05/7 0} Kg4 {(Kf4-g5 Rd1-e1 Qe2-d3 Bc3-e5 Qd3-d2 Be5-f6+)
+1.92/5 0} 50. Rg1+ {(Rd1-g1+ Kg4-h5 Rf8-h8 Kh5-h6 Rg1-h1+ Kh6-g5 Rh8xh7)
+0.15/7 0} Kh3 {(Kg4-h3 Rf8-f7 Qe2-h5 Ka1-b1 Rc2-h2 Bc3-f6 Rh2-e2) +1.53/6
0} 51. Rf7 {(Rf8-f7 h7-h6 Rf7-h7 Qe2-h5 Rg1-h1+ Rc2-h2) +0.15/6 0} h6
{(h7-h6 Rf7-e7 g6-g5 Rg1-h1+ Kh3-g3 Rh1xh6 Qe2-f1+) +1.50/6 0} 52. Re7
{(Rf7-e7 Qe2-f2 Rg1-h1+ Kh3-g2 Rh1-d1 Qf2-c5) +0.15/6 0} Qf2 {(Qe2-f2
Rg1-h1+ Kh3-g2 Rh1-d1 c6-c5 Rd1-d6 Qf2-g3) +1.89/6 0} 53. Rd1 {(Rg1-d1
Qf2-f3 Rd1-d7 Qf3-f1+ Ka1-a2 g6-g5) -0.05/6 0} h5 {(h6-h5 Rd1-d3+ Kh3-g4
Ka1-b1 h5-h4 Rd3-d7) +1.66/5 0} 54. Red7 {(Re7-d7 h5-h4 Ka1-b1 Rc2-e2
Bc3-d4 Qf2-f8) +0.05/6 0} Qg2 {(Qf2-g2 Ka1-b1 Rc2-e2 e4-e5 Qg2-e4+ Rd1-d3+
Kh3-g4 b2-b4) +1.84/6 0} 55. e5 {(e4-e5 Qg2-g4 Rd1-d3+ Kh3-h2 Ka1-b1
Rc2-f2) +0.20/6 0} Qe4 {(Qg2-e4 Rd7-d6 Rc2-e2 e5-e6 Qe4-f3 Rd1-e1) +1.74/6
0} 56. R7d4 {(Rd7-d4 Qe4-e2 Rd4-d3+ Kh3-h2) +0.22/6 0} Qf5 {(Qe4-f5 Rd4-d6
Qf5-g4 Rd1-d3+ Kh3-h2 Rd6xc6 Kh2-g1) +1.48/6 0} 57. R4d3+ {(Rd4-d3+ Kh3-h2
Rd3-d6 Rc2-f2 a3-a4 Rf2-f1) +0.20/6 0} Kh2 {(Kh3-h2 Rd3-d6 Qf5-e4 e5-e6
h5-h4 Rd1-d2+ Rc2xd2 Bc3xd2) +1.59/6 0} 58. Rd6 {(Rd3-d6 c6-c5 Rd6-f6
Qf5-g5 Ka1-b1 Rc2xc3 b2xc3) +0.05/7 0} Qe4 {(Qf5-e4 e5-e6 Kh2-g3 Rd1-d3+
Kg3-f2 Ka1-b1 Rc2-e2) +1.59/6 0} 59. Re1 {(Rd1-e1 Qe4-g2 e5-e6 Rc2-e2
Bc3-e5+ Kh2-h3) +0.40/6 0} Qf3 {(Qe4-g2 e5-e6 Qg2-f2 Re1-d1 Kh2-g3 Rd6xc6)
+1.21/6 0} 60. Bd4 {(Bc3-d4 g6-g5 e5-e6 Rc2-e2 Re1xe2+ Qf3xe2) +0.27/6 0}
h4 {(c6-c5 Bd4-g1+ Kh2-h3 Rd6xg6 Qf3-d3 Rg6-d6) +1.41/5 0} 61. Bg1+
{(Bd4-g1+ Kh2-h1 Bg1-f2+ Kh1-h2 Bf2xh4 Qf3-g2) +1.00/6 0} Kg2 {(Kh2-g2
Rd6xg6+ Kg2-h1 Bg1-d4+ Kh1-h2 Bd4-g1+ Kh2-h1) -0.00/6 0} 62. Rxg6+
{(Rd6xg6+ Kg2-h1 Bg1-f2+ Kh1-h2 Bf2xh4 Rc2-e2 Bh4-g3+) +1.90/7 0} Kh1
{(Kg2-h1 Bg1-b6+ Kh1-h2 Bb6-g1+ Kh2-h1) -0.00/7 0} 63. Bf2+ {(Bg1-f2+
Kh1-h2 Bf2xh4 Rc2-e2 Bh4-g3+ Kh2-g2) +1.90/6 0} Kh2 {(Kh1-h2 Bf2-g1+ Kh2-h1
Re1-e3) -0.00/7 0} 64. Bxh4 {(Bf2xh4 Rc2-d2 Rg6-g1 Qf3-b3 Rg1-h1+ Kh2-g2
Re1-g1+) +2.02/7 0} Qb3 {(Qf3-b3 Bh4-g3+ Kh2-h3 Re1-h1+ Kh3-g2 Rh1-h2+
Kg2-f3 Rh2xc2 Qb3xc2 Rg6-g8) -0.00/7 0} 65. Rb1 {(Re1-b1 Qb3-f7 Bh4-g3+
Kh2-g2 Rg6-f6 Qf7xf6) +2.10/6 0} Qf7 {(Qb3-f7 Bh4-g3+ Kh2-h3 Rb1-h1+ Kh3-g2
Rh1-h2+ Kg2-g1 Rh2xc2 Qf7xg6 Rc2-c1+) -0.00/7 0} 66. Bg3+ {(Bh4-g3+ Kh2-h3
Rg6-g5 Kh3-g2 Rb1-d1 c6-c5 Bg3-f4+) +2.15/7 0} Kg2 {(Kh2-g2 Bg3-f2+ Kg2-h2
Rg6-f6 Qf7-e7 Bf2-d4 c6-c5 Rf6-c6) -0.06/6 0} 67. Bf2+ {(Bg3-f2+ Kg2xf2
Rg6-f6+ Qf7xf6 e5xf6 c6-c5 Ka1-a2 Rc2xb2+) +2.25/8 0} Kh2 {(Kg2-h2 Rg6-h6+
Kh2-g2 Rh6-g6+) -0.00/7 0} 68. Bg1+ {(Bf2-g1+ Kh2-h3 Rg6-h6+ Kh3-g3 e5-e6
Qf7-g7 Bg1-e3) +2.40/7 0} Kh3 {(Kh2-h3 Rg6-h6+ Kh3-g3 e5-e6 Qf7-f5 Bg1-d4
Qf5-g4 Bd4-e5+) +0.24/6 0} 69. Rh6+ {(Rg6-h6+ Kh3-g3 Bg1-d4 c6-c5 e5-e6
Qf7-f4 Rb1-g1+) +2.40/7 0} Kg3 {(Kh3-g3 e5-e6 Qf7-f5 Bg1-d4 Qf5-e4 Rb1-g1+
Kg3-f3 Rg1-d1) -0.00/6 0} 70. Bd4 {(Bg1-d4 c6-c5 e5-e6 Qf7-e8 Bd4-e5+
Kg3-f3) +2.40/6 0} Qc4 {(Qf7-c4 Rb1-g1+ Kg3-f3 Rh6-f6+ Kf3-e2 Rg1-g2+
Ke2-d3 Rg2xc2 Qc4xc2 Rf6-d6) -0.00/7 0} 71. Rg1+ {(Rb1-g1+ Kg3-f3 Rh6-h3+
Kf3-e4) +2.25/6 0} Kf3 {(Kg3-f3 Rh6-f6+ Kf3-e2 Rg1-g2+ Ke2-d3 Rg2xc2 Qc4xc2
Rf6-d6) -0.15/5 0} 72. Kb1 {(Ka1-b1 Rc2-d2 Rh6-h3+ Kf3-e4 Bd4-c3 Rd2-d7)
+2.30/6 0} Ke4 {(Kf3-e4 Bd4-c3 Qc4-d3 Rh6-d6 Qd3-e2 Rd6xc6) -0.00/6 0} 73.
e6 {(e5-e6 Rc2-e2 Bd4-c3 Qc4-d3+ Kb1-c1) +2.40/5 0} Re2 {(Rc2-e2 Bd4-g7
Qc4-d3+ Kb1-a2 Qd3-d5+ Ka2-a1 Ke4-f3 Rg1-g6) -0.00/6 0} 74. Bc3 {(Bd4-c3
Qc4-d3+ Kb1-a1 Ke4-d5 Rg1-g6) +2.25/5 0} Qd3+ {(Qc4-d3+ Kb1-a1 Ke4-d5
Rg1-g6 Kd5-c4 a3-a4 Qd3-f3) -0.07/6 0} 75. Ka1 {(Kb1-a1 Ke4-d5 Rg1-g7
Qd3-d1+ Ka1-a2 Qd1-c1) +2.45/6 0} Qe3 {(Qd3-e3 Rh6-g6 c6-c5 e6-e7 Ke4-f3
Bc3-f6) -0.00/6 0} 76. Rhg6 {(Rh6-g6 Re2-c2 Rg1-g4+ Ke4-d5 Rg4-g3) +2.50/5
0} Kd5 {(Ke4-d5 Rg1-g5+ Kd5-c4 Rg5-e5 Qe3-d3 Re5xe2) -0.34/5 0} 77. Rd1+
{(Rg1-d1+ Kd5-c4 Rg6-f6 Qe3-h3 Rd1-d4+) +2.50/5 0} Kc4 {(Kd5-c4 Rd1-d4+
Kc4-c5 Ka1-b1 Re2-e1+ Kb1-a2 Re1-e2 Ka2-b3) -0.39/5 0} 78. Rh1 {(Rd1-h1
Qe3-e4 Rg6-h6 Qe4-g4 Rh1-h4) +2.45/5 0} Kb3 {(Kc4-b3 Rh1-d1 Kb3-c4 Rd1-d7)
-0.00/6 0} 79. Rhg1 {(Rh1-g1 Re2-c2 Ka1-b1 Qe3-d3 Kb1-a1) +2.20/5 0} Rc2
{(Re2-c2 Ka1-b1 Qe3-e4 Kb1-a1 c6-c5 Rg1-g4) -0.00/6 0} 80. Rb1 {(Rg1-b1
Rc2-c1 Rg6-g7 Rc1xb1+ Ka1xb1 Qe3xe6) +0.40/6 0} c5 {(c6-c5 Rb1-d1 Qe3-f3
Rd1-e1 Qf3-d3 Rg6-f6) +0.05/6 0} 81. Be1 {(Bc3-e1 Qe3-e5 Be1-g3 Qe5-d4
e6-e7 Rc2xb2) +1.30/6 0} Qe4 {(Qe3-e4 Rg6-f6 Rc2-e2 Be1-c3 c5-c4 Rb1-d1
Qe4-e3) +0.23/7 0} 82. Rf6 {(Rg6-f6 Rc2-e2 Be1-c3 Qe4-g4 Rb1-e1 Re2xe1+)
+1.20/6 0} Re2 {(Rc2-e2 Be1-c3 Qe4-g4 Rb1-e1 Re2xe1+ Bc3xe1 c5-c4) +0.14/6
0} 83. Bc3 {(Be1-c3 Qe4-g4 Rb1-f1 Re2xe6 Rf6-f5 Kb3-c4 Rf5-f7) +1.05/7 0}
Qg4 {(Qe4-g4 Rb1-f1 Re2xe6 Rf6xe6 Qg4xe6 Ka1-b1) +0.82/6 0} 84. Rbf1
{(Rb1-f1 Re2xe6 Rf6-f7 Re6-e2 Rf7-b7+ Kb3-c4) +1.00/6 0} Rxe6 {(Re2xe6
Rf6-f7 Qg4-g2 Rf1-f5 Qg2-g1+ Rf5-f1 Qg1-e3) +1.19/6 0} 85. Rf7 {(Rf6-f7
Qg4-g2 Rf1-d1 Re6-e2 Ka1-b1 Re2-f2) +1.00/6 0} Qg2 {(Qg4-g2 Rf1-f6 Re6xf6
Bc3xf6 c5-c4) +1.12/5 0} 86. Rd1 {(Rf1-d1 Re6-e2 Rf7-g7 Qg2-f2 Ka1-b1)
+1.00/5 0} c4 {(c5-c4 Bc3-g7 Re6-e2 Bg7-f6 Qg2-f3 Rd1-d7) +1.21/6 0} 87.
Rfd7 {(Rf7-d7 Re6-e2 Ka1-b1 Re2xb2+ Bc3xb2) +1.05/5 0} Re2 {(Re6-e2 Rd7-g7
Qg2-e4 Rg7-d7 Re2-f2 Rd1-d6) +1.33/6 0} 88. Rg7 {(Rd7-g7 Qg2-f3 Rd1-g1
Qf3-e4 Rg1-f1 Kb3-c2) +0.95/6 0} Qf3 {(Qg2-f3 Rg7-d7 Re2-c2 Rd7-d6 Qf3-e4
Bc3-f6) +1.46/6 0} 89. Rdg1 {(Rd1-g1 Re2-f2 Rg1-b1 Rf2-g2 Rg7-d7 Rg2-e2)
+0.80/6 0} Rh2 {(Re2-h2 Rg7-d7 Rh2-c2 Rg1-g6 Rc2-e2) +1.43/5 0} 90. R7g3
{(Rg7-g3 Qf3-e4 Bc3-b4+ Kb3-a4 Rg3-g7 Qe4-d4) +0.90/6 0} Qd5 {(Qf3-d5
Bc3-e5+ Kb3-a4 Be5-f6 Rh2-d2 Ka1-b1) +1.19/5 0} 91. Re3 {(Rg3-e3 Rh2-h1
Bc3-e1+ Kb3-a4 Rg1-g7) +0.90/5 0} Kc2 {(Kb3-c2 Re3-e8 Rh2-f2 Rg1-g6 Qd5-f3)
+1.19/5 0} 92. Bb4 {(Bc3-b4 Rh2-f2 Re3-c3+ Kc2-d2 Rc3xc4+ Kd2-d3) +1.95/6
0} Rf2 {(Rh2-f2 Re3-c3+ Kc2-d2 Rc3xc4+ Kd2-e2 Rg1-e1+ Ke2-f3 Rc4-c3+ Kf3-g4
Rc3-c7) +0.34/6 0} 93. Rc3+ {(Re3-c3+ Kc2-d2 Rc3xc4+ Kd2-e2 Rg1-e1+ Ke2-f3)
+2.00/6 0} Kd2 {(Kc2-d2 Rc3xc4+ Kd2-e2 Rc4-c7 Ke2-f3 Rg1-g6 Qd5-d3) +0.42/5
0} 94. Rxc4+ {(Rc3xc4+ Kd2-e2 Rg1-e1+ Ke2-f3 Rc4-c3+ Kf3-f4) +2.00/6 0} Ke2
{(Kd2-e2 Rc4-c7 Ke2-f3 Rg1-e1 Qd5-d4 Bb4-c3) +0.46/5 0} 95. Re1+ {(Rg1-e1+
Ke2-f3 Rc4-c3+ Kf3-g2 Bb4-c5 Rf2-d2) +2.00/6 0} Kf3 {(Ke2-f3 Rc4-c7 Qd5-d4
Rc7-c3+ Kf3-g4 Ka1-b1) +0.40/4 0} 96. Rc3+ {(Rc4-c3+ Kf3-g2 Bb4-c5 Rf2-d2
Re1-g1+ Kg2-h2) +2.00/6 0} Kf4 {(Kf3-f4 Bb4-c5 Rf2-f3 Bc5-e3+ Kf4-g3
Rc3-c7) +0.40/4 0} 97. Bc5 {(Bb4-c5 Rf2-g2 Bc5-e3+ Kf4-g4 Rc3-c7) +2.05/5
0} Rf3 {(Rf2-f3 Rc3-c1 Rf3-g3 Re1-f1+ Kf4-g4 Ka1-b1) -0.00/5 0} 98. Be3+
{(Bc5-e3+ Kf4-g4 Ka1-b1 Rf3-g3 Rc3-c5) +2.10/5 0} Kg3 {(Kf4-g3 Rc3-c5
Qd5-d3 Rc5-g5+ Kg3-h3 Rg5-e5) +0.35/4 0} 99. Rc7 {(Rc3-c7 Rf3-f7 Rc7-c5
Qd5-e4 b2-b4) +2.10/5 0} Qd3 {(Qd5-d3 Rc7-g7+ Kg3-h2 Rg7-e7 Kh2-g3 Re7-g7+)
-0.00/5 0} 100. Rg7+ {(Rc7-g7+ Kg3-h2 Be3-g1+ Kh2-h3 Re1-e7) +1.90/5 0} Kh2
{(Kg3-h2 Rg7-e7 Kh2-g3 Re7-g7+) -0.00/4 0} 101. Bc5 {(Be3-c5 Rf3-f1 Bc5-d6+
Kh2-h1 Re1xf1+) +1.90/5 0} Qd5 {(Qd3-d5 Rg7-c7 Kh2-h3 Re1-h1+ Kh3-g4
Rh1-h8) -0.00/5 0} 102. Rh7+ {(Rg7-h7+ Kh2-g3 Re1-g1+ Kg3-f4 Rh7-c7)
+2.30/5 0} Kg3 {(Kh2-g3 Rh7-c7 Qd5-d3 Re1-g1+ Kg3-f4 Rg1-g8) +0.06/4 0}
103. Be3 {(Bc5-e3 Rf3-f5 Rh7-g7+ Kg3-f3 Ka1-b1) +2.25/5 0} Rf5 {(Rf3-f5
Rh7-g7+ Kg3-f3 Ka1-b1 Qd5-e4+) +0.03/4 0} 104. b4 {(b2-b4 Qd5-b3 Rh7-a7
Rf5-e5) +2.17/4 0} Re5 {(Rf5-e5 Ka1-b2 Qd5-g2+ Kb2-c3 Qg2-f3 Kc3-d4)
-0.00/5 0} 105. Rg1+ {(Re1-g1+ Kg3-f3 Be3-a7 Re5-e2 Rg1-f1+) +2.10/5 0} Kf3
{(Kg3-f3 Be3-c5 Re5-e2 Rg1-f1+ Kf3-g3 Rf1-f7) +0.38/4 0} 106. Bc5 {(Be3-c5
Qd5-c4 Rh7-f7+ Kf3-e2 Rg1-g2+) +2.15/5 0} Re2 {(Re5-e2 Rg1-f1+ Kf3-g3
Rh7-g7+ Kg3-h3 Rg7-h7+ Kh3-g4 Rf1-f7) -0.00/5 0} 107. Rf7+ {(Rh7-f7+ Kf3-e4
Rg1-g4+ Ke4-d3 Rg4-g3+) +2.25/5 0} Ke4 {(Kf3-e4 Rf7-e7+ Ke4-f3 Rg1-f1+
Kf3-g2 Re7xe2+ Kg2xf1 Re2-e8) -0.07/4 0} 108. Re7+ {(Rf7-e7+ Ke4-d3 Rg1-d1+
Re2-d2 Re7-e3+) +1.95/5 0} Kf3 {(Ke4-f3 Rg1-f1+ Kf3-g2 Re7xe2+ Kg2xf1
Re2-f2+ Kf1-e1 Ka1-b2 Qd5-e4) -0.00/5 0} 109. Rf1+ {(Rg1-f1+ Kf3-g2 Re7-g7+
Kg2-h3 Rg7-h7+) +2.05/5 0} Kg2 {(Kf3-g2 Re7xe2+ Kg2xf1 Re2-f2+ Kf1-e1
Ka1-b2 Qd5-e5+ Kb2-c2 Qe5-e4+) -0.33/5 0} 110. Rxe2+ {(Re7xe2+ Kg2xf1
Re2-f2+ Kf1-e1 Ka1-b2 Qd5-c4) +1.40/6 0} Kxf1 {(Kg2xf1 Re2-f2+ Kf1-e1
Ka1-b2 Qd5-e5+ Kb2-c2 Qe5-e4+ Kc2-c3 Ke1-d1) -0.27/5 0} 111. Rf2+ {(Re2-f2+
Kf1-e1 Ka1-b2 Qd5-d7 Rf2-c2 Qd7-d3) +1.40/6 0} Ke1 {(Kf1-e1 Ka1-b2 Ke1-d1
Kb2-c3 Qd5-e5+ Bc5-d4 Qe5-e4) -0.34/5 0} 112. Kb2 {(Ka1-b2 Qd5-e5+ Kb2-c2
Qe5-e6 Kc2-c3) +1.40/5 0} Kd1 {(Ke1-d1 Kb2-c3 Qd5-e5+ Kc3-c4 Qe5-e4+ Bc5-d4
Kd1-c1) -0.29/5 0} 113. Kc3 {(Kb2-c3 Qd5-e5+ Kc3-c4 Qe5-e4+ Bc5-d4 Qe4-c6+)
+1.40/6 0} Qg5 {(Qd5-g5 a3-a4 Qg5-g3+ Kc3-c4 Qg3-g8+ Kc4-d4 Qg8-g4+ Kd4-d5
Kd1-c1) -0.31/6 0} 114. a4 {(a3-a4 Qg5-c1+ Kc3-b3 Qc1-b1+ Kb3-c4) +1.65/5
0} Qg3+ {(Qg5-g3+ Kc3-c4 Qg3-g8+ Kc4-d4 Qg8-g3 Rf2-f7 Kd1-d2) -0.00/5 0}
115. Kc4 {(Kc3-c4 Qg3-g4+ Kc4-d3 Qg4-d7+ Bc5-d4) +1.60/5 0} Qg8+ {(Qg3-g8+
Kc4-d4 Qg8-h8+ Kd4-d3 Qh8-h3+ Kd3-e4 Qh3-e6+ Ke4-d4 Qe6-e1) -0.00/5 0} 116.
Kd4 {(Kc4-d4 Qg8-h8+ Kd4-d3 Qh8-h3+ Kd3-e4) +1.60/5 0} Qg7+ {(Qg8-g7+
Kd4-e4 Qg7-g6+ Ke4-d5 Qg6-g8+ Kd5-d6 Qg8-g6+ Kd6-e5 Qg6-g4) -0.00/5 0} 117.
Ke4 {(Kd4-e4 Qg7-g6+ Ke4-f4 Qg6-f6+ Kf4-g3) +1.50/5 0} Qg6+ {(Qg7-g6+
Ke4-d5 Qg6-g8+ Kd5-d6 Qg8-g6+ Kd6-d7 Qg6-g4+) -0.40/4 0} 118. Kf4 {(Ke4-f4
Qg6-f6+ Kf4-g3 Qf6-g6+ Kg3-h4) +1.50/5 0} Qf6+ {(Qg6-f6+ Kf4-g4 Qf6-g6+
Kg4-h4 Qg6-d3 Kh4-g5 Kd1-c1) -0.37/5 0} 119. Kg3 {(Kf4-g3 Qf6-g6+ Kg3-h4
Qg6-h6+ Kh4-g4) +1.40/5 0} Qg5+ {(Qf6-g5+ Kg3-f3 Qg5-f6+ Kf3-e3 Qf6-g5+
Rf2-f4 Qg5-g3+ Rf4-f3 Qg3-g4) -0.27/5 0} 120. Kh2 {(Kg3-h2 Qg5-h4+ Kh2-g2
Qh4-g4+ Kg2-f1 Qg4-h4) +1.30/6 0} Qe5+ {(Qg5-e5+ Kh2-h3 Qe5-h5+ Kh3-g2
Qh5-d5+ Kg2-g1 Qd5-g5+ Rf2-g2 Qg5-f4) -0.00/5 0} 121. Kg2 {(Kh2-g2 Qe5-g5+
Kg2-f1 Qg5-h4 Rf2-f8 Qh4-e1+) +1.40/6 0} Qe4+ {(Qe5-e4+ Kg2-g1 Kd1-c1 a4-a5
Qe4-g4+) -0.30/4 0} 122. Kg1 {(Kg2-g1 Qe4-g6+ Kg1-h2 Qg6-h5+ Kh2-g1)
+1.45/5 0} Qg4+ {(Qe4-g4+ Rf2-g2 Qg4-h4 a4-a5 Qh4-e1+ Kg1-h2 Kd1-c1)
-0.26/5 0} 123. Rg2 {(Rf2-g2 Qg4-h4 Rg2-g7 Qh4-e1+ Kg1-h2 Qe1-e5+) +1.25/6
0} Qe4 {(Qg4-e4 Rg2-g8 Qe4-e1+ Kg1-h2 Qe1-e2+ Kh2-g3 Kd1-d2) -0.25/5 0}
124. Rg7 {(Rg2-g7 Qe4-e1+ Kg1-h2 Qe1-e5+ Rg7-g3 Kd1-d2) +1.35/6 0} Qe1+
{(Qe4-e1+ Kg1-g2 Qe1-e4+ Kg2-h3 Qe4-f3+ Rg7-g3 Qf3-e4) -0.12/4 0} 125. Kh2
{(Kg1-h2 Qe1-d2+ Rg7-g2 Qd2-f4+ Kh2-h3 Qf4-f3+) +1.25/6 0} Qe5+ {(Qe1-e5+
Rg7-g3 Kd1-d2 a4-a5 Qe5-h5+ Kh2-g2 Qh5-e2+) -0.00/5 0} 126. Rg3 {(Rg7-g3
Qe5-e2+ Kh2-g1 Qe2-e1+ Kg1-g2) +1.15/5 0} Kd2 {(Kd1-d2 a4-a5 Qe5-h5+ Kh2-g2
Qh5-e2+) -0.22/4 0} 127. a5 {(a4-a5 Kd2-d1 Kh2-g2 Qe5-e2+ Kg2-g1) +1.35/5
0} Qh5+ {(Qe5-h5+ Rg3-h3 Qh5-e2+ Kh2-g3 Qe2-e5+ Kg3-f3 Qe5-f5+ Kf3-g2
Qf5-e4+) -0.04/5 0} 128. Rh3 {(Rg3-h3 Qh5-e2+ Kh2-g3 Qe2-e5+ Kg3-g4)
+1.45/5 0} Qe2+ {(Qh5-e2+ Kh2-g3 Qe2-d3+ Kg3-g2 Qd3-e2+ Kg2-g3) -0.00/5 0}
129. Kg3 {(Kh2-g3 Qe2-d3+ Kg3-g4 Qd3-d7+ Kg4-h4) -0.00/5 0} Qd3+ {(Qe2-d3+
Kg3-g2 Qd3-e2+ Kg2-g3) -0.00/5 0} 130. Kg4 {(Kg3-g4 Qd3-d7+ Kg4-h4 Qd7-h7+
Kh4-g3 Qh7-d3+) -0.00/6 0} Qd7+ {(Qd3-d7+ Kg4-g3 Qd7-d3+) -0.00/6 0} 131.
Kh4 {(Kg4-h4 Qd7-h7+ Kh4-g3 Qh7-d3+ Kg3-g4 Qd3-d7+ Kg4-h4) -0.00/7 0} Qh7+
{(Qd7-h7+ Kh4-g4 Qh7-d7+) -0.00/5 0} 132. Kg3 {(Kh4-g3 Qh7-d3+ Kg3-g4
Qd3-d7+ Kg4-h4 Qd7-h7+) -0.00/6 0} Qd3+ {(Qh7-d3+) -0.00/7 0} 133. Kg4
{(Kg3-g4 Qd3-d7+ Kg4-h4 Qd7-h7+ Kh4-g3 Qh7-d3+ Kg3-g4 Qd3-d7+) -0.00/8 0}
Qd7+ {(Qd3-d7+) -0.00/7 0} 134. Kh4 {(Kg4-h4 Qd7-h7+ Kh4-g3 Qh7-d3+ Kg3-g4
Qd3-d7+ Kg4-h4 Qd7-h7+) -0.00/8 0} Qh7+ {(Qd7-h7+) -0.00/6 0} 135. Kg3
{(Kh4-g3 Qh7-d3+ Kg3-g4 Qd3-d7+ Kg4-h4 Qd7-h7+ Kh4-g3 Qh7-d3+ Kg3-g4
Qd3-d7+ Kg4-h4 Qd7-h7+) -0.00/12 0} Qd3+ {(Qh7-d3+) -0.00/7 0 3-fold
repetition} 1/2-1/2

[/pgn]
User avatar
mvanthoor
Posts: 1784
Joined: Wed Jul 03, 2019 4:42 pm
Location: Netherlands
Full name: Marcel Vanthoor

Re: Bitboard CHESS ENGINE in C: YouTube series by Code Monkey King

Post by mvanthoor »

maksimKorzh wrote: Tue Sep 29, 2020 4:53 pm Thanks Marcel, this is so kind of you!
Btw the fact that I'm not posting in Rustic progress thread doesn't mean that I don't read that)))
It's not required to post there :) It's just a topic where I put down some stuff regarding the engine's development status. The reason is the fact that I received a few "and where is your engine?!" comments when I posted remarks to some topics. Now people can see what the engine can do, and how it does it, even though it's not finished yet.
And regarding move scoring - obviously meaningful and correct variable names make the code cleaner, but I really doubt that you could encounter some issue assuming that move score is stored within the move structure (struct move {int move, int score}) because assuming that structure you would be referencing inner fields of - move and score - still there would be a difference in referencing like move->eval VS position->eval or global position eval or whatever data structure you'll encapsulate your eval within. In BBC I've dropped the move struct completely and using move integer only for simplicity, clarity and to completely modularize move ordering itself, so it's done just right before the loop over the moves within alpha beta search instead of ordering moves on the fly within that loop like VICE, TSCP and many other monolithic engines do.
It wouldn't be a problem to use "evaluation" instead of "score", but it could be confusing, because the value is not an evaluation. I store "score" in the move integer, by the way. The reason I use a struct, is because I can put member functions into it:

https://github.com/mvanthoor/rustic/blo ... en/defs.rs

So I can do this:

let current_move = (some move here)

current_move.piece()
current_move_from()
current_move.to()

And so on.
Author of Rustic, an engine written in Rust.
Releases | Code | Docs | Progress | CCRL