Code: Select all
[Event "Computer Chess Game"]
[Site "MAKRO-PC"]
[Date "2016.11.02"]
[Round "22"]
[White "CrazyWa 0.0.9qs9"]
[Black "sunsetter"]
[Result "1-0"]
[TimeControl "40/60"]
[Variant "crazyhouse"]
1. Nh3 {+0.24/10} e5 {+0.28/13 1.5} 2. e4 {-0.13/8 0.9} d6 {+0.26/12 1.5}
3. Qf3 {+0.29/9 2.3} Nf6 {+0.42/11 1.5} 4. Bc4 {+0.36/8 0.9} Bxh3
{+0.76/11 1.5} 5. Qxh3 {+1.07/7 0.9} N@f4 {+0.41/12 6} 6. Qf3 {+2.05/8 2.8}
d5 {-0.13/11 1.4} 7. exd5 {+3.26/8 3} N6xd5 {-0.23/10 1.4} 8. P@g3
{+4.25/7 1.6} P@g4 {-0.18/11 1.4} 9. Qe4 {+3.97/8 2.1} Nxg2+ {-0.25/11 2.6}
10. Qxg2 {+4.61/8 1.6} P@f3 {-0.32/11 1.3} 11. Qf1 {+4.32/7 1.1} Nb4
{-0.42/10 1.3} 12. Bxf7+ {+4.99/6 1.3} Kxf7 {+0.32/9 1.3} 13. P@e6+
{+1.88/6 2.7} Kxe6 {+1.08/9 1.2} 14. Qc4+ {+2.19/6 1.2} B@d5 {+1.85/10 1.2}
15. Qxg4+ {+2.20/6 1.9} P@f5 {+1.66/9 1.2} 16. N@g5+ {+0.04/6 1.0} Qxg5
{+2.23/10 2.4} 17. Qxg5 {+2.75/7 1.2} Nxc2+ {+2.57/10 2.3} 18. Kd1
{+2.74/7 1.2} P@e2+ {+2.38/9 1.2} 19. Kxc2 {+0.08/9 1.6} N@d4+
{+2.23/9 2.2} 20. Kd3 {+2.43/8 1.5} Nbc6 {+3.88/9 2.2} 21. B@a4
{+4.93/5 2.3} Be4+ {+299.20/10 1.7} 22. Ke3 {+5.65/7 2.9} Nc2+
{+299.60/33 0.1} 23. Bxc2 {+9.27/8 2.0} Bc5+ {+299.70/33 0.1} 24. d4
{+10.41/6 0.8} exd4+ {+2.11/11 4} 25. Kd2 {+9.25/6 0.8} P@e3+
{+2.16/10 0.4} 26. fxe3 {+3.54/7 1.6} dxe3+ {+2.11/9 0.4} 27. Kc3
{+4.75/7 2.3} Bd4+ 28. Kb3 {+7.13/6 0.6} P@c4+ {+2.53/9 1.4} 29. Ka3
{+9.82/8 2.8} Bc5+ 30. b4 {+8.80/6 0.6} Bxb4+ {+1.89/9 0.6} 31. Kb2
{+8.98/7 0.9} P@a3+ 32. Nxa3 {+9.75/6 2.5} Bxa3+ 33. Kxa3 {+5.58/6 0.5}
N@b5+ {+0.65/8 0.3} 34. Kb2 {+10.38/7 2.9} c3+ {+0.20/8 0.3} 35. Kb1
{+10.37/6 1.8} Bxc2+ {-0.98/8 0.6} 36. Kxc2 {+10.37/5 0.2} B@e4+ 37. Kb3
{+11.59/5 0.2} Ncd4+ {-5.21/8 0.5} 38. Kc4 {+16.59/5 0.5} Bd5+ 39. Kd3
{+16.60/5 0.2} Be4+ {-10.97/9 3} 40. Kxe3 {+21.15/5 0.2} Rae8 41. B@c4+
{+22.77/3 2.6} Kd7 {-28.83/9 25} 42. Qxg7+ {+28.20/3 1.5} Kc6 43. B@d7+
{+29.10/3 1.2} Kb6 44. Qxd4+ {+1000.05/5 1.5} Ka5 {-299.50/5 0.1} 45. N@b3+
{+1000.02/8 0.1} Ka6 46. Bdxb5# {+1000.01/3 0.1}
{Xboard adjudication: Checkmate} 1-0
This version still clears the hash table before every move. I wanted to do that during development to make errors reproducable. (Unfortunately this did not help, though.) It does crash a lot less often than previous versions; I located one cause of crashes (the randomization during the first 5 moves), and fixed another suspect (execution of the check-detection code after null move).