chess 0.0.1.dummy → 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1234) hide show
  1. data/.gitignore +6 -0
  2. data/LICENSE +165 -0
  3. data/README.rdoc +40 -0
  4. data/Rakefile +17 -1
  5. data/chess.gemspec +12 -13
  6. data/ext/MakefileC +22 -0
  7. data/ext/bitboard.c +376 -0
  8. data/ext/bitboard.h +64 -0
  9. data/ext/board.c +586 -0
  10. data/ext/board.h +62 -0
  11. data/ext/chess.c +481 -0
  12. data/ext/chess.h +43 -0
  13. data/ext/common.c +101 -0
  14. data/ext/common.h +110 -0
  15. data/ext/extconf.rb +29 -0
  16. data/ext/game.c +385 -0
  17. data/ext/game.h +42 -0
  18. data/ext/special.c +191 -0
  19. data/ext/special.h +23 -0
  20. data/lib/chess.rb +5 -7
  21. data/lib/chess/exceptions.rb +31 -0
  22. data/lib/chess/game.rb +142 -0
  23. data/lib/chess/gnuchess.rb +93 -0
  24. data/lib/chess/pgn.rb +66 -0
  25. data/lib/chess/version.rb +4 -2
  26. data/test/pgn_collection/checkmate/black_wins/0001.pgn +17 -0
  27. data/test/pgn_collection/checkmate/black_wins/0002.pgn +13 -0
  28. data/test/pgn_collection/checkmate/black_wins/0003.pgn +13 -0
  29. data/test/pgn_collection/checkmate/black_wins/0004.pgn +20 -0
  30. data/test/pgn_collection/checkmate/black_wins/0005.pgn +19 -0
  31. data/test/pgn_collection/checkmate/black_wins/0006.pgn +15 -0
  32. data/test/pgn_collection/checkmate/black_wins/0007.pgn +16 -0
  33. data/test/pgn_collection/checkmate/black_wins/0008.pgn +16 -0
  34. data/test/pgn_collection/checkmate/black_wins/0009.pgn +21 -0
  35. data/test/pgn_collection/checkmate/black_wins/0010.pgn +15 -0
  36. data/test/pgn_collection/checkmate/black_wins/0011.pgn +15 -0
  37. data/test/pgn_collection/checkmate/black_wins/0012.pgn +14 -0
  38. data/test/pgn_collection/checkmate/black_wins/0013.pgn +17 -0
  39. data/test/pgn_collection/checkmate/black_wins/0014.pgn +17 -0
  40. data/test/pgn_collection/checkmate/black_wins/0015.pgn +15 -0
  41. data/test/pgn_collection/checkmate/black_wins/0016.pgn +20 -0
  42. data/test/pgn_collection/checkmate/black_wins/0017.pgn +14 -0
  43. data/test/pgn_collection/checkmate/black_wins/0018.pgn +19 -0
  44. data/test/pgn_collection/checkmate/black_wins/0019.pgn +16 -0
  45. data/test/pgn_collection/checkmate/black_wins/0020.pgn +14 -0
  46. data/test/pgn_collection/checkmate/black_wins/0021.pgn +20 -0
  47. data/test/pgn_collection/checkmate/black_wins/0022.pgn +16 -0
  48. data/test/pgn_collection/checkmate/black_wins/0023.pgn +17 -0
  49. data/test/pgn_collection/checkmate/black_wins/0024.pgn +20 -0
  50. data/test/pgn_collection/checkmate/black_wins/0025.pgn +20 -0
  51. data/test/pgn_collection/checkmate/black_wins/0026.pgn +19 -0
  52. data/test/pgn_collection/checkmate/black_wins/0027.pgn +14 -0
  53. data/test/pgn_collection/checkmate/black_wins/0028.pgn +15 -0
  54. data/test/pgn_collection/checkmate/black_wins/0029.pgn +18 -0
  55. data/test/pgn_collection/checkmate/black_wins/0030.pgn +16 -0
  56. data/test/pgn_collection/checkmate/black_wins/0031.pgn +17 -0
  57. data/test/pgn_collection/checkmate/black_wins/0032.pgn +17 -0
  58. data/test/pgn_collection/checkmate/black_wins/0033.pgn +15 -0
  59. data/test/pgn_collection/checkmate/black_wins/0034.pgn +13 -0
  60. data/test/pgn_collection/checkmate/black_wins/0035.pgn +16 -0
  61. data/test/pgn_collection/checkmate/black_wins/0036.pgn +20 -0
  62. data/test/pgn_collection/checkmate/black_wins/0037.pgn +20 -0
  63. data/test/pgn_collection/checkmate/black_wins/0038.pgn +14 -0
  64. data/test/pgn_collection/checkmate/black_wins/0039.pgn +19 -0
  65. data/test/pgn_collection/checkmate/black_wins/0040.pgn +13 -0
  66. data/test/pgn_collection/checkmate/black_wins/0041.pgn +20 -0
  67. data/test/pgn_collection/checkmate/black_wins/0042.pgn +12 -0
  68. data/test/pgn_collection/checkmate/black_wins/0043.pgn +20 -0
  69. data/test/pgn_collection/checkmate/black_wins/0044.pgn +19 -0
  70. data/test/pgn_collection/checkmate/black_wins/0045.pgn +16 -0
  71. data/test/pgn_collection/checkmate/black_wins/0046.pgn +15 -0
  72. data/test/pgn_collection/checkmate/black_wins/0047.pgn +14 -0
  73. data/test/pgn_collection/checkmate/black_wins/0048.pgn +16 -0
  74. data/test/pgn_collection/checkmate/black_wins/0049.pgn +15 -0
  75. data/test/pgn_collection/checkmate/black_wins/0050.pgn +17 -0
  76. data/test/pgn_collection/checkmate/black_wins/0051.pgn +13 -0
  77. data/test/pgn_collection/checkmate/black_wins/0052.pgn +12 -0
  78. data/test/pgn_collection/checkmate/black_wins/0053.pgn +20 -0
  79. data/test/pgn_collection/checkmate/black_wins/0054.pgn +15 -0
  80. data/test/pgn_collection/checkmate/black_wins/0055.pgn +19 -0
  81. data/test/pgn_collection/checkmate/black_wins/0056.pgn +14 -0
  82. data/test/pgn_collection/checkmate/black_wins/0057.pgn +15 -0
  83. data/test/pgn_collection/checkmate/black_wins/0058.pgn +21 -0
  84. data/test/pgn_collection/checkmate/black_wins/0059.pgn +16 -0
  85. data/test/pgn_collection/checkmate/black_wins/0060.pgn +23 -0
  86. data/test/pgn_collection/checkmate/black_wins/0061.pgn +17 -0
  87. data/test/pgn_collection/checkmate/black_wins/0062.pgn +25 -0
  88. data/test/pgn_collection/checkmate/black_wins/0063.pgn +18 -0
  89. data/test/pgn_collection/checkmate/black_wins/0064.pgn +12 -0
  90. data/test/pgn_collection/checkmate/black_wins/0065.pgn +19 -0
  91. data/test/pgn_collection/checkmate/black_wins/0066.pgn +20 -0
  92. data/test/pgn_collection/checkmate/black_wins/0067.pgn +14 -0
  93. data/test/pgn_collection/checkmate/black_wins/0068.pgn +18 -0
  94. data/test/pgn_collection/checkmate/black_wins/0069.pgn +16 -0
  95. data/test/pgn_collection/checkmate/black_wins/0070.pgn +14 -0
  96. data/test/pgn_collection/checkmate/black_wins/0071.pgn +21 -0
  97. data/test/pgn_collection/checkmate/black_wins/0072.pgn +13 -0
  98. data/test/pgn_collection/checkmate/black_wins/0073.pgn +15 -0
  99. data/test/pgn_collection/checkmate/black_wins/0074.pgn +25 -0
  100. data/test/pgn_collection/checkmate/black_wins/0075.pgn +16 -0
  101. data/test/pgn_collection/checkmate/black_wins/0076.pgn +11 -0
  102. data/test/pgn_collection/checkmate/black_wins/0077.pgn +23 -0
  103. data/test/pgn_collection/checkmate/black_wins/0078.pgn +18 -0
  104. data/test/pgn_collection/checkmate/white_wins/0001.pgn +14 -0
  105. data/test/pgn_collection/checkmate/white_wins/0002.pgn +19 -0
  106. data/test/pgn_collection/checkmate/white_wins/0003.pgn +19 -0
  107. data/test/pgn_collection/checkmate/white_wins/0004.pgn +12 -0
  108. data/test/pgn_collection/checkmate/white_wins/0005.pgn +27 -0
  109. data/test/pgn_collection/checkmate/white_wins/0006.pgn +19 -0
  110. data/test/pgn_collection/checkmate/white_wins/0007.pgn +13 -0
  111. data/test/pgn_collection/checkmate/white_wins/0008.pgn +14 -0
  112. data/test/pgn_collection/checkmate/white_wins/0009.pgn +17 -0
  113. data/test/pgn_collection/checkmate/white_wins/0010.pgn +19 -0
  114. data/test/pgn_collection/checkmate/white_wins/0011.pgn +19 -0
  115. data/test/pgn_collection/checkmate/white_wins/0012.pgn +19 -0
  116. data/test/pgn_collection/checkmate/white_wins/0013.pgn +15 -0
  117. data/test/pgn_collection/checkmate/white_wins/0014.pgn +12 -0
  118. data/test/pgn_collection/checkmate/white_wins/0015.pgn +20 -0
  119. data/test/pgn_collection/checkmate/white_wins/0016.pgn +12 -0
  120. data/test/pgn_collection/checkmate/white_wins/0017.pgn +12 -0
  121. data/test/pgn_collection/checkmate/white_wins/0018.pgn +21 -0
  122. data/test/pgn_collection/checkmate/white_wins/0019.pgn +21 -0
  123. data/test/pgn_collection/checkmate/white_wins/0020.pgn +15 -0
  124. data/test/pgn_collection/checkmate/white_wins/0021.pgn +18 -0
  125. data/test/pgn_collection/checkmate/white_wins/0022.pgn +14 -0
  126. data/test/pgn_collection/checkmate/white_wins/0023.pgn +27 -0
  127. data/test/pgn_collection/checkmate/white_wins/0024.pgn +19 -0
  128. data/test/pgn_collection/checkmate/white_wins/0025.pgn +19 -0
  129. data/test/pgn_collection/checkmate/white_wins/0026.pgn +19 -0
  130. data/test/pgn_collection/checkmate/white_wins/0027.pgn +27 -0
  131. data/test/pgn_collection/checkmate/white_wins/0028.pgn +17 -0
  132. data/test/pgn_collection/checkmate/white_wins/0029.pgn +19 -0
  133. data/test/pgn_collection/checkmate/white_wins/0030.pgn +19 -0
  134. data/test/pgn_collection/checkmate/white_wins/0031.pgn +19 -0
  135. data/test/pgn_collection/checkmate/white_wins/0032.pgn +19 -0
  136. data/test/pgn_collection/checkmate/white_wins/0033.pgn +28 -0
  137. data/test/pgn_collection/checkmate/white_wins/0034.pgn +12 -0
  138. data/test/pgn_collection/checkmate/white_wins/0035.pgn +12 -0
  139. data/test/pgn_collection/checkmate/white_wins/0036.pgn +16 -0
  140. data/test/pgn_collection/checkmate/white_wins/0037.pgn +19 -0
  141. data/test/pgn_collection/checkmate/white_wins/0038.pgn +19 -0
  142. data/test/pgn_collection/checkmate/white_wins/0039.pgn +28 -0
  143. data/test/pgn_collection/checkmate/white_wins/0040.pgn +19 -0
  144. data/test/pgn_collection/checkmate/white_wins/0041.pgn +18 -0
  145. data/test/pgn_collection/checkmate/white_wins/0042.pgn +18 -0
  146. data/test/pgn_collection/checkmate/white_wins/0043.pgn +14 -0
  147. data/test/pgn_collection/checkmate/white_wins/0044.pgn +15 -0
  148. data/test/pgn_collection/checkmate/white_wins/0045.pgn +14 -0
  149. data/test/pgn_collection/checkmate/white_wins/0046.pgn +15 -0
  150. data/test/pgn_collection/checkmate/white_wins/0047.pgn +14 -0
  151. data/test/pgn_collection/checkmate/white_wins/0048.pgn +19 -0
  152. data/test/pgn_collection/checkmate/white_wins/0049.pgn +19 -0
  153. data/test/pgn_collection/checkmate/white_wins/0050.pgn +15 -0
  154. data/test/pgn_collection/checkmate/white_wins/0051.pgn +16 -0
  155. data/test/pgn_collection/checkmate/white_wins/0052.pgn +18 -0
  156. data/test/pgn_collection/checkmate/white_wins/0053.pgn +14 -0
  157. data/test/pgn_collection/checkmate/white_wins/0054.pgn +15 -0
  158. data/test/pgn_collection/checkmate/white_wins/0055.pgn +16 -0
  159. data/test/pgn_collection/checkmate/white_wins/0056.pgn +15 -0
  160. data/test/pgn_collection/checkmate/white_wins/0057.pgn +20 -0
  161. data/test/pgn_collection/checkmate/white_wins/0058.pgn +17 -0
  162. data/test/pgn_collection/checkmate/white_wins/0059.pgn +13 -0
  163. data/test/pgn_collection/checkmate/white_wins/0060.pgn +18 -0
  164. data/test/pgn_collection/checkmate/white_wins/0061.pgn +19 -0
  165. data/test/pgn_collection/checkmate/white_wins/0062.pgn +21 -0
  166. data/test/pgn_collection/checkmate/white_wins/0063.pgn +17 -0
  167. data/test/pgn_collection/checkmate/white_wins/0064.pgn +14 -0
  168. data/test/pgn_collection/checkmate/white_wins/0065.pgn +17 -0
  169. data/test/pgn_collection/checkmate/white_wins/0066.pgn +19 -0
  170. data/test/pgn_collection/checkmate/white_wins/0067.pgn +12 -0
  171. data/test/pgn_collection/checkmate/white_wins/0068.pgn +15 -0
  172. data/test/pgn_collection/checkmate/white_wins/0069.pgn +12 -0
  173. data/test/pgn_collection/checkmate/white_wins/0070.pgn +15 -0
  174. data/test/pgn_collection/checkmate/white_wins/0071.pgn +14 -0
  175. data/test/pgn_collection/checkmate/white_wins/0072.pgn +17 -0
  176. data/test/pgn_collection/checkmate/white_wins/0073.pgn +19 -0
  177. data/test/pgn_collection/checkmate/white_wins/0074.pgn +25 -0
  178. data/test/pgn_collection/fifty_move_rule/0001.pgn +27 -0
  179. data/test/pgn_collection/fifty_move_rule/0002.pgn +29 -0
  180. data/test/pgn_collection/fifty_move_rule/0003.pgn +24 -0
  181. data/test/pgn_collection/fifty_move_rule/0004.pgn +24 -0
  182. data/test/pgn_collection/fifty_move_rule/0005.pgn +29 -0
  183. data/test/pgn_collection/fifty_move_rule/0006.pgn +24 -0
  184. data/test/pgn_collection/fifty_move_rule/0007.pgn +24 -0
  185. data/test/pgn_collection/fifty_move_rule/0008.pgn +27 -0
  186. data/test/pgn_collection/fifty_move_rule/0009.pgn +24 -0
  187. data/test/pgn_collection/fifty_move_rule/0010.pgn +24 -0
  188. data/test/pgn_collection/fifty_move_rule/0011.pgn +24 -0
  189. data/test/pgn_collection/fifty_move_rule/0012.pgn +24 -0
  190. data/test/pgn_collection/insufficient_material/0001.pgn +29 -0
  191. data/test/pgn_collection/stalemate/0001.pgn +17 -0
  192. data/test/pgn_collection/stalemate/0002.pgn +17 -0
  193. data/test/pgn_collection/stalemate/0003.pgn +17 -0
  194. data/test/pgn_collection/stalemate/0004.pgn +17 -0
  195. data/test/pgn_collection/stalemate/0005.pgn +19 -0
  196. data/test/pgn_collection/stalemate/0006.pgn +17 -0
  197. data/test/pgn_collection/stalemate/0007.pgn +17 -0
  198. data/test/pgn_collection/stalemate/0008.pgn +17 -0
  199. data/test/pgn_collection/threefold_repetition/0001.pgn +15 -0
  200. data/test/pgn_collection/threefold_repetition/0002.pgn +22 -0
  201. data/test/pgn_collection/threefold_repetition/0003.pgn +11 -0
  202. data/test/pgn_collection/threefold_repetition/0004.pgn +16 -0
  203. data/test/pgn_collection/threefold_repetition/0005.pgn +11 -0
  204. data/test/pgn_collection/threefold_repetition/0006.pgn +23 -0
  205. data/test/pgn_collection/threefold_repetition/0007.pgn +15 -0
  206. data/test/pgn_collection/threefold_repetition/0008.pgn +22 -0
  207. data/test/pgn_collection/threefold_repetition/0009.pgn +26 -0
  208. data/test/pgn_collection/threefold_repetition/0010.pgn +11 -0
  209. data/test/pgn_collection/threefold_repetition/0011.pgn +22 -0
  210. data/test/pgn_collection/threefold_repetition/0012.pgn +23 -0
  211. data/test/pgn_collection/threefold_repetition/0013.pgn +27 -0
  212. data/test/pgn_collection/threefold_repetition/0014.pgn +15 -0
  213. data/test/pgn_collection/threefold_repetition/0015.pgn +15 -0
  214. data/test/pgn_collection/threefold_repetition/0016.pgn +17 -0
  215. data/test/pgn_collection/threefold_repetition/0017.pgn +20 -0
  216. data/test/pgn_collection/threefold_repetition/0018.pgn +11 -0
  217. data/test/pgn_collection/threefold_repetition/0019.pgn +17 -0
  218. data/test/pgn_collection/threefold_repetition/0020.pgn +22 -0
  219. data/test/pgn_collection/threefold_repetition/0021.pgn +17 -0
  220. data/test/pgn_collection/threefold_repetition/0022.pgn +15 -0
  221. data/test/pgn_collection/threefold_repetition/0023.pgn +23 -0
  222. data/test/pgn_collection/threefold_repetition/0024.pgn +23 -0
  223. data/test/pgn_collection/valid/0001.pgn +19 -0
  224. data/test/pgn_collection/valid/0002.pgn +18 -0
  225. data/test/pgn_collection/valid/0003.pgn +19 -0
  226. data/test/pgn_collection/valid/0004.pgn +18 -0
  227. data/test/pgn_collection/valid/0005.pgn +17 -0
  228. data/test/pgn_collection/valid/0006.pgn +13 -0
  229. data/test/pgn_collection/valid/0007.pgn +18 -0
  230. data/test/pgn_collection/valid/0008.pgn +14 -0
  231. data/test/pgn_collection/valid/0009.pgn +25 -0
  232. data/test/pgn_collection/valid/0010.pgn +22 -0
  233. data/test/pgn_collection/valid/0011.pgn +19 -0
  234. data/test/pgn_collection/valid/0012.pgn +15 -0
  235. data/test/pgn_collection/valid/0013.pgn +23 -0
  236. data/test/pgn_collection/valid/0014.pgn +17 -0
  237. data/test/pgn_collection/valid/0015.pgn +21 -0
  238. data/test/pgn_collection/valid/0016.pgn +18 -0
  239. data/test/pgn_collection/valid/0017.pgn +20 -0
  240. data/test/pgn_collection/valid/0018.pgn +23 -0
  241. data/test/pgn_collection/valid/0019.pgn +18 -0
  242. data/test/pgn_collection/valid/0020.pgn +16 -0
  243. data/test/pgn_collection/valid/0021.pgn +26 -0
  244. data/test/pgn_collection/valid/0022.pgn +19 -0
  245. data/test/pgn_collection/valid/0023.pgn +17 -0
  246. data/test/pgn_collection/valid/0024.pgn +23 -0
  247. data/test/pgn_collection/valid/0025.pgn +16 -0
  248. data/test/pgn_collection/valid/0026.pgn +22 -0
  249. data/test/pgn_collection/valid/0027.pgn +24 -0
  250. data/test/pgn_collection/valid/0028.pgn +16 -0
  251. data/test/pgn_collection/valid/0029.pgn +20 -0
  252. data/test/pgn_collection/valid/0030.pgn +17 -0
  253. data/test/pgn_collection/valid/0031.pgn +18 -0
  254. data/test/pgn_collection/valid/0032.pgn +20 -0
  255. data/test/pgn_collection/valid/0033.pgn +19 -0
  256. data/test/pgn_collection/valid/0034.pgn +19 -0
  257. data/test/pgn_collection/valid/0035.pgn +16 -0
  258. data/test/pgn_collection/valid/0036.pgn +19 -0
  259. data/test/pgn_collection/valid/0037.pgn +20 -0
  260. data/test/pgn_collection/valid/0038.pgn +23 -0
  261. data/test/pgn_collection/valid/0039.pgn +25 -0
  262. data/test/pgn_collection/valid/0040.pgn +17 -0
  263. data/test/pgn_collection/valid/0041.pgn +19 -0
  264. data/test/pgn_collection/valid/0042.pgn +17 -0
  265. data/test/pgn_collection/valid/0043.pgn +20 -0
  266. data/test/pgn_collection/valid/0044.pgn +22 -0
  267. data/test/pgn_collection/valid/0045.pgn +18 -0
  268. data/test/pgn_collection/valid/0046.pgn +20 -0
  269. data/test/pgn_collection/valid/0047.pgn +15 -0
  270. data/test/pgn_collection/valid/0048.pgn +15 -0
  271. data/test/pgn_collection/valid/0049.pgn +18 -0
  272. data/test/pgn_collection/valid/0050.pgn +23 -0
  273. data/test/pgn_collection/valid/0051.pgn +18 -0
  274. data/test/pgn_collection/valid/0052.pgn +26 -0
  275. data/test/pgn_collection/valid/0053.pgn +17 -0
  276. data/test/pgn_collection/valid/0054.pgn +18 -0
  277. data/test/pgn_collection/valid/0055.pgn +20 -0
  278. data/test/pgn_collection/valid/0056.pgn +17 -0
  279. data/test/pgn_collection/valid/0057.pgn +16 -0
  280. data/test/pgn_collection/valid/0058.pgn +12 -0
  281. data/test/pgn_collection/valid/0059.pgn +15 -0
  282. data/test/pgn_collection/valid/0060.pgn +23 -0
  283. data/test/pgn_collection/valid/0061.pgn +18 -0
  284. data/test/pgn_collection/valid/0062.pgn +20 -0
  285. data/test/pgn_collection/valid/0063.pgn +16 -0
  286. data/test/pgn_collection/valid/0064.pgn +17 -0
  287. data/test/pgn_collection/valid/0065.pgn +16 -0
  288. data/test/pgn_collection/valid/0066.pgn +14 -0
  289. data/test/pgn_collection/valid/0067.pgn +15 -0
  290. data/test/pgn_collection/valid/0068.pgn +18 -0
  291. data/test/pgn_collection/valid/0069.pgn +19 -0
  292. data/test/pgn_collection/valid/0070.pgn +17 -0
  293. data/test/pgn_collection/valid/0071.pgn +15 -0
  294. data/test/pgn_collection/valid/0072.pgn +18 -0
  295. data/test/pgn_collection/valid/0073.pgn +21 -0
  296. data/test/pgn_collection/valid/0074.pgn +20 -0
  297. data/test/pgn_collection/valid/0075.pgn +14 -0
  298. data/test/pgn_collection/valid/0076.pgn +20 -0
  299. data/test/pgn_collection/valid/0077.pgn +14 -0
  300. data/test/pgn_collection/valid/0078.pgn +22 -0
  301. data/test/pgn_collection/valid/0079.pgn +16 -0
  302. data/test/pgn_collection/valid/0080.pgn +17 -0
  303. data/test/pgn_collection/valid/0081.pgn +17 -0
  304. data/test/pgn_collection/valid/0082.pgn +27 -0
  305. data/test/pgn_collection/valid/0083.pgn +23 -0
  306. data/test/pgn_collection/valid/0084.pgn +22 -0
  307. data/test/pgn_collection/valid/0085.pgn +21 -0
  308. data/test/pgn_collection/valid/0086.pgn +22 -0
  309. data/test/pgn_collection/valid/0087.pgn +21 -0
  310. data/test/pgn_collection/valid/0088.pgn +19 -0
  311. data/test/pgn_collection/valid/0089.pgn +18 -0
  312. data/test/pgn_collection/valid/0090.pgn +14 -0
  313. data/test/pgn_collection/valid/0091.pgn +14 -0
  314. data/test/pgn_collection/valid/0092.pgn +22 -0
  315. data/test/pgn_collection/valid/0093.pgn +19 -0
  316. data/test/pgn_collection/valid/0094.pgn +22 -0
  317. data/test/pgn_collection/valid/0095.pgn +22 -0
  318. data/test/pgn_collection/valid/0096.pgn +19 -0
  319. data/test/pgn_collection/valid/0097.pgn +22 -0
  320. data/test/pgn_collection/valid/0098.pgn +20 -0
  321. data/test/pgn_collection/valid/0099.pgn +17 -0
  322. data/test/pgn_collection/valid/0100.pgn +21 -0
  323. data/test/pgn_collection/valid/0101.pgn +18 -0
  324. data/test/pgn_collection/valid/0102.pgn +19 -0
  325. data/test/pgn_collection/valid/0103.pgn +27 -0
  326. data/test/pgn_collection/valid/0104.pgn +21 -0
  327. data/test/pgn_collection/valid/0105.pgn +14 -0
  328. data/test/pgn_collection/valid/0106.pgn +18 -0
  329. data/test/pgn_collection/valid/0107.pgn +18 -0
  330. data/test/pgn_collection/valid/0108.pgn +19 -0
  331. data/test/pgn_collection/valid/0109.pgn +17 -0
  332. data/test/pgn_collection/valid/0110.pgn +18 -0
  333. data/test/pgn_collection/valid/0111.pgn +16 -0
  334. data/test/pgn_collection/valid/0112.pgn +18 -0
  335. data/test/pgn_collection/valid/0113.pgn +20 -0
  336. data/test/pgn_collection/valid/0114.pgn +31 -0
  337. data/test/pgn_collection/valid/0115.pgn +23 -0
  338. data/test/pgn_collection/valid/0116.pgn +17 -0
  339. data/test/pgn_collection/valid/0117.pgn +19 -0
  340. data/test/pgn_collection/valid/0118.pgn +20 -0
  341. data/test/pgn_collection/valid/0119.pgn +25 -0
  342. data/test/pgn_collection/valid/0120.pgn +15 -0
  343. data/test/pgn_collection/valid/0121.pgn +19 -0
  344. data/test/pgn_collection/valid/0122.pgn +23 -0
  345. data/test/pgn_collection/valid/0123.pgn +21 -0
  346. data/test/pgn_collection/valid/0124.pgn +20 -0
  347. data/test/pgn_collection/valid/0125.pgn +19 -0
  348. data/test/pgn_collection/valid/0126.pgn +11 -0
  349. data/test/pgn_collection/valid/0127.pgn +19 -0
  350. data/test/pgn_collection/valid/0128.pgn +21 -0
  351. data/test/pgn_collection/valid/0129.pgn +25 -0
  352. data/test/pgn_collection/valid/0130.pgn +16 -0
  353. data/test/pgn_collection/valid/0131.pgn +20 -0
  354. data/test/pgn_collection/valid/0132.pgn +17 -0
  355. data/test/pgn_collection/valid/0133.pgn +17 -0
  356. data/test/pgn_collection/valid/0134.pgn +17 -0
  357. data/test/pgn_collection/valid/0135.pgn +19 -0
  358. data/test/pgn_collection/valid/0136.pgn +14 -0
  359. data/test/pgn_collection/valid/0137.pgn +20 -0
  360. data/test/pgn_collection/valid/0138.pgn +23 -0
  361. data/test/pgn_collection/valid/0139.pgn +21 -0
  362. data/test/pgn_collection/valid/0140.pgn +27 -0
  363. data/test/pgn_collection/valid/0141.pgn +15 -0
  364. data/test/pgn_collection/valid/0142.pgn +21 -0
  365. data/test/pgn_collection/valid/0143.pgn +23 -0
  366. data/test/pgn_collection/valid/0144.pgn +23 -0
  367. data/test/pgn_collection/valid/0145.pgn +22 -0
  368. data/test/pgn_collection/valid/0146.pgn +14 -0
  369. data/test/pgn_collection/valid/0147.pgn +23 -0
  370. data/test/pgn_collection/valid/0148.pgn +20 -0
  371. data/test/pgn_collection/valid/0149.pgn +16 -0
  372. data/test/pgn_collection/valid/0150.pgn +17 -0
  373. data/test/pgn_collection/valid/0151.pgn +19 -0
  374. data/test/pgn_collection/valid/0152.pgn +19 -0
  375. data/test/pgn_collection/valid/0153.pgn +22 -0
  376. data/test/pgn_collection/valid/0154.pgn +15 -0
  377. data/test/pgn_collection/valid/0155.pgn +20 -0
  378. data/test/pgn_collection/valid/0156.pgn +19 -0
  379. data/test/pgn_collection/valid/0157.pgn +15 -0
  380. data/test/pgn_collection/valid/0158.pgn +15 -0
  381. data/test/pgn_collection/valid/0159.pgn +18 -0
  382. data/test/pgn_collection/valid/0160.pgn +21 -0
  383. data/test/pgn_collection/valid/0161.pgn +22 -0
  384. data/test/pgn_collection/valid/0162.pgn +22 -0
  385. data/test/pgn_collection/valid/0163.pgn +15 -0
  386. data/test/pgn_collection/valid/0164.pgn +17 -0
  387. data/test/pgn_collection/valid/0165.pgn +19 -0
  388. data/test/pgn_collection/valid/0166.pgn +18 -0
  389. data/test/pgn_collection/valid/0167.pgn +23 -0
  390. data/test/pgn_collection/valid/0168.pgn +15 -0
  391. data/test/pgn_collection/valid/0169.pgn +21 -0
  392. data/test/pgn_collection/valid/0170.pgn +22 -0
  393. data/test/pgn_collection/valid/0171.pgn +15 -0
  394. data/test/pgn_collection/valid/0172.pgn +21 -0
  395. data/test/pgn_collection/valid/0173.pgn +13 -0
  396. data/test/pgn_collection/valid/0174.pgn +24 -0
  397. data/test/pgn_collection/valid/0175.pgn +21 -0
  398. data/test/pgn_collection/valid/0176.pgn +23 -0
  399. data/test/pgn_collection/valid/0177.pgn +19 -0
  400. data/test/pgn_collection/valid/0178.pgn +21 -0
  401. data/test/pgn_collection/valid/0179.pgn +22 -0
  402. data/test/pgn_collection/valid/0180.pgn +19 -0
  403. data/test/pgn_collection/valid/0181.pgn +24 -0
  404. data/test/pgn_collection/valid/0182.pgn +14 -0
  405. data/test/pgn_collection/valid/0183.pgn +15 -0
  406. data/test/pgn_collection/valid/0184.pgn +24 -0
  407. data/test/pgn_collection/valid/0185.pgn +14 -0
  408. data/test/pgn_collection/valid/0186.pgn +15 -0
  409. data/test/pgn_collection/valid/0187.pgn +19 -0
  410. data/test/pgn_collection/valid/0188.pgn +17 -0
  411. data/test/pgn_collection/valid/0189.pgn +20 -0
  412. data/test/pgn_collection/valid/0190.pgn +19 -0
  413. data/test/pgn_collection/valid/0191.pgn +26 -0
  414. data/test/pgn_collection/valid/0192.pgn +16 -0
  415. data/test/pgn_collection/valid/0193.pgn +18 -0
  416. data/test/pgn_collection/valid/0194.pgn +24 -0
  417. data/test/pgn_collection/valid/0195.pgn +16 -0
  418. data/test/pgn_collection/valid/0196.pgn +21 -0
  419. data/test/pgn_collection/valid/0197.pgn +21 -0
  420. data/test/pgn_collection/valid/0198.pgn +20 -0
  421. data/test/pgn_collection/valid/0199.pgn +13 -0
  422. data/test/pgn_collection/valid/0200.pgn +22 -0
  423. data/test/pgn_collection/valid/0201.pgn +19 -0
  424. data/test/pgn_collection/valid/0202.pgn +12 -0
  425. data/test/pgn_collection/valid/0203.pgn +13 -0
  426. data/test/pgn_collection/valid/0204.pgn +14 -0
  427. data/test/pgn_collection/valid/0205.pgn +13 -0
  428. data/test/pgn_collection/valid/0206.pgn +18 -0
  429. data/test/pgn_collection/valid/0207.pgn +17 -0
  430. data/test/pgn_collection/valid/0208.pgn +17 -0
  431. data/test/pgn_collection/valid/0209.pgn +20 -0
  432. data/test/pgn_collection/valid/0210.pgn +15 -0
  433. data/test/pgn_collection/valid/0211.pgn +21 -0
  434. data/test/pgn_collection/valid/0212.pgn +22 -0
  435. data/test/pgn_collection/valid/0213.pgn +15 -0
  436. data/test/pgn_collection/valid/0214.pgn +21 -0
  437. data/test/pgn_collection/valid/0215.pgn +15 -0
  438. data/test/pgn_collection/valid/0216.pgn +17 -0
  439. data/test/pgn_collection/valid/0217.pgn +21 -0
  440. data/test/pgn_collection/valid/0218.pgn +20 -0
  441. data/test/pgn_collection/valid/0219.pgn +15 -0
  442. data/test/pgn_collection/valid/0220.pgn +23 -0
  443. data/test/pgn_collection/valid/0221.pgn +26 -0
  444. data/test/pgn_collection/valid/0222.pgn +21 -0
  445. data/test/pgn_collection/valid/0223.pgn +16 -0
  446. data/test/pgn_collection/valid/0224.pgn +24 -0
  447. data/test/pgn_collection/valid/0225.pgn +19 -0
  448. data/test/pgn_collection/valid/0226.pgn +19 -0
  449. data/test/pgn_collection/valid/0227.pgn +20 -0
  450. data/test/pgn_collection/valid/0228.pgn +21 -0
  451. data/test/pgn_collection/valid/0229.pgn +16 -0
  452. data/test/pgn_collection/valid/0230.pgn +21 -0
  453. data/test/pgn_collection/valid/0231.pgn +22 -0
  454. data/test/pgn_collection/valid/0232.pgn +18 -0
  455. data/test/pgn_collection/valid/0233.pgn +17 -0
  456. data/test/pgn_collection/valid/0234.pgn +21 -0
  457. data/test/pgn_collection/valid/0235.pgn +23 -0
  458. data/test/pgn_collection/valid/0236.pgn +14 -0
  459. data/test/pgn_collection/valid/0237.pgn +21 -0
  460. data/test/pgn_collection/valid/0238.pgn +16 -0
  461. data/test/pgn_collection/valid/0239.pgn +21 -0
  462. data/test/pgn_collection/valid/0240.pgn +15 -0
  463. data/test/pgn_collection/valid/0241.pgn +21 -0
  464. data/test/pgn_collection/valid/0242.pgn +26 -0
  465. data/test/pgn_collection/valid/0243.pgn +13 -0
  466. data/test/pgn_collection/valid/0244.pgn +23 -0
  467. data/test/pgn_collection/valid/0245.pgn +19 -0
  468. data/test/pgn_collection/valid/0246.pgn +15 -0
  469. data/test/pgn_collection/valid/0247.pgn +21 -0
  470. data/test/pgn_collection/valid/0248.pgn +21 -0
  471. data/test/pgn_collection/valid/0249.pgn +15 -0
  472. data/test/pgn_collection/valid/0250.pgn +19 -0
  473. data/test/pgn_collection/valid/0251.pgn +22 -0
  474. data/test/pgn_collection/valid/0252.pgn +25 -0
  475. data/test/pgn_collection/valid/0253.pgn +29 -0
  476. data/test/pgn_collection/valid/0254.pgn +19 -0
  477. data/test/pgn_collection/valid/0255.pgn +20 -0
  478. data/test/pgn_collection/valid/0256.pgn +18 -0
  479. data/test/pgn_collection/valid/0257.pgn +22 -0
  480. data/test/pgn_collection/valid/0258.pgn +16 -0
  481. data/test/pgn_collection/valid/0259.pgn +19 -0
  482. data/test/pgn_collection/valid/0260.pgn +23 -0
  483. data/test/pgn_collection/valid/0261.pgn +16 -0
  484. data/test/pgn_collection/valid/0262.pgn +18 -0
  485. data/test/pgn_collection/valid/0263.pgn +12 -0
  486. data/test/pgn_collection/valid/0264.pgn +23 -0
  487. data/test/pgn_collection/valid/0265.pgn +19 -0
  488. data/test/pgn_collection/valid/0266.pgn +13 -0
  489. data/test/pgn_collection/valid/0267.pgn +14 -0
  490. data/test/pgn_collection/valid/0268.pgn +16 -0
  491. data/test/pgn_collection/valid/0269.pgn +23 -0
  492. data/test/pgn_collection/valid/0270.pgn +45 -0
  493. data/test/pgn_collection/valid/0271.pgn +22 -0
  494. data/test/pgn_collection/valid/0272.pgn +21 -0
  495. data/test/pgn_collection/valid/0273.pgn +15 -0
  496. data/test/pgn_collection/valid/0274.pgn +17 -0
  497. data/test/pgn_collection/valid/0275.pgn +21 -0
  498. data/test/pgn_collection/valid/0276.pgn +24 -0
  499. data/test/pgn_collection/valid/0277.pgn +15 -0
  500. data/test/pgn_collection/valid/0278.pgn +17 -0
  501. data/test/pgn_collection/valid/0279.pgn +19 -0
  502. data/test/pgn_collection/valid/0280.pgn +21 -0
  503. data/test/pgn_collection/valid/0281.pgn +23 -0
  504. data/test/pgn_collection/valid/0282.pgn +22 -0
  505. data/test/pgn_collection/valid/0283.pgn +20 -0
  506. data/test/pgn_collection/valid/0284.pgn +11 -0
  507. data/test/pgn_collection/valid/0285.pgn +16 -0
  508. data/test/pgn_collection/valid/0286.pgn +23 -0
  509. data/test/pgn_collection/valid/0287.pgn +19 -0
  510. data/test/pgn_collection/valid/0288.pgn +13 -0
  511. data/test/pgn_collection/valid/0289.pgn +23 -0
  512. data/test/pgn_collection/valid/0290.pgn +24 -0
  513. data/test/pgn_collection/valid/0291.pgn +20 -0
  514. data/test/pgn_collection/valid/0292.pgn +15 -0
  515. data/test/pgn_collection/valid/0293.pgn +20 -0
  516. data/test/pgn_collection/valid/0294.pgn +21 -0
  517. data/test/pgn_collection/valid/0295.pgn +15 -0
  518. data/test/pgn_collection/valid/0296.pgn +21 -0
  519. data/test/pgn_collection/valid/0297.pgn +19 -0
  520. data/test/pgn_collection/valid/0298.pgn +25 -0
  521. data/test/pgn_collection/valid/0299.pgn +23 -0
  522. data/test/pgn_collection/valid/0300.pgn +15 -0
  523. data/test/pgn_collection/valid/0301.pgn +18 -0
  524. data/test/pgn_collection/valid/0302.pgn +26 -0
  525. data/test/pgn_collection/valid/0303.pgn +20 -0
  526. data/test/pgn_collection/valid/0304.pgn +18 -0
  527. data/test/pgn_collection/valid/0305.pgn +16 -0
  528. data/test/pgn_collection/valid/0306.pgn +20 -0
  529. data/test/pgn_collection/valid/0307.pgn +25 -0
  530. data/test/pgn_collection/valid/0308.pgn +20 -0
  531. data/test/pgn_collection/valid/0309.pgn +19 -0
  532. data/test/pgn_collection/valid/0310.pgn +24 -0
  533. data/test/pgn_collection/valid/0311.pgn +13 -0
  534. data/test/pgn_collection/valid/0312.pgn +18 -0
  535. data/test/pgn_collection/valid/0313.pgn +15 -0
  536. data/test/pgn_collection/valid/0314.pgn +21 -0
  537. data/test/pgn_collection/valid/0315.pgn +14 -0
  538. data/test/pgn_collection/valid/0316.pgn +19 -0
  539. data/test/pgn_collection/valid/0317.pgn +23 -0
  540. data/test/pgn_collection/valid/0318.pgn +12 -0
  541. data/test/pgn_collection/valid/0319.pgn +17 -0
  542. data/test/pgn_collection/valid/0320.pgn +18 -0
  543. data/test/pgn_collection/valid/0321.pgn +22 -0
  544. data/test/pgn_collection/valid/0322.pgn +17 -0
  545. data/test/pgn_collection/valid/0323.pgn +24 -0
  546. data/test/pgn_collection/valid/0324.pgn +21 -0
  547. data/test/pgn_collection/valid/0325.pgn +21 -0
  548. data/test/pgn_collection/valid/0326.pgn +21 -0
  549. data/test/pgn_collection/valid/0327.pgn +20 -0
  550. data/test/pgn_collection/valid/0328.pgn +15 -0
  551. data/test/pgn_collection/valid/0329.pgn +19 -0
  552. data/test/pgn_collection/valid/0330.pgn +17 -0
  553. data/test/pgn_collection/valid/0331.pgn +19 -0
  554. data/test/pgn_collection/valid/0332.pgn +18 -0
  555. data/test/pgn_collection/valid/0333.pgn +16 -0
  556. data/test/pgn_collection/valid/0334.pgn +18 -0
  557. data/test/pgn_collection/valid/0335.pgn +12 -0
  558. data/test/pgn_collection/valid/0336.pgn +16 -0
  559. data/test/pgn_collection/valid/0337.pgn +20 -0
  560. data/test/pgn_collection/valid/0338.pgn +24 -0
  561. data/test/pgn_collection/valid/0339.pgn +22 -0
  562. data/test/pgn_collection/valid/0340.pgn +12 -0
  563. data/test/pgn_collection/valid/0341.pgn +22 -0
  564. data/test/pgn_collection/valid/0342.pgn +19 -0
  565. data/test/pgn_collection/valid/0343.pgn +14 -0
  566. data/test/pgn_collection/valid/0344.pgn +16 -0
  567. data/test/pgn_collection/valid/0345.pgn +23 -0
  568. data/test/pgn_collection/valid/0346.pgn +19 -0
  569. data/test/pgn_collection/valid/0347.pgn +20 -0
  570. data/test/pgn_collection/valid/0348.pgn +24 -0
  571. data/test/pgn_collection/valid/0349.pgn +30 -0
  572. data/test/pgn_collection/valid/0350.pgn +20 -0
  573. data/test/pgn_collection/valid/0351.pgn +16 -0
  574. data/test/pgn_collection/valid/0352.pgn +16 -0
  575. data/test/pgn_collection/valid/0353.pgn +23 -0
  576. data/test/pgn_collection/valid/0354.pgn +24 -0
  577. data/test/pgn_collection/valid/0355.pgn +26 -0
  578. data/test/pgn_collection/valid/0356.pgn +17 -0
  579. data/test/pgn_collection/valid/0357.pgn +22 -0
  580. data/test/pgn_collection/valid/0358.pgn +21 -0
  581. data/test/pgn_collection/valid/0359.pgn +17 -0
  582. data/test/pgn_collection/valid/0360.pgn +13 -0
  583. data/test/pgn_collection/valid/0361.pgn +21 -0
  584. data/test/pgn_collection/valid/0362.pgn +17 -0
  585. data/test/pgn_collection/valid/0363.pgn +20 -0
  586. data/test/pgn_collection/valid/0364.pgn +16 -0
  587. data/test/pgn_collection/valid/0365.pgn +23 -0
  588. data/test/pgn_collection/valid/0366.pgn +17 -0
  589. data/test/pgn_collection/valid/0367.pgn +19 -0
  590. data/test/pgn_collection/valid/0368.pgn +23 -0
  591. data/test/pgn_collection/valid/0369.pgn +25 -0
  592. data/test/pgn_collection/valid/0370.pgn +20 -0
  593. data/test/pgn_collection/valid/0371.pgn +15 -0
  594. data/test/pgn_collection/valid/0372.pgn +17 -0
  595. data/test/pgn_collection/valid/0373.pgn +19 -0
  596. data/test/pgn_collection/valid/0374.pgn +16 -0
  597. data/test/pgn_collection/valid/0375.pgn +23 -0
  598. data/test/pgn_collection/valid/0376.pgn +16 -0
  599. data/test/pgn_collection/valid/0377.pgn +24 -0
  600. data/test/pgn_collection/valid/0378.pgn +19 -0
  601. data/test/pgn_collection/valid/0379.pgn +21 -0
  602. data/test/pgn_collection/valid/0380.pgn +22 -0
  603. data/test/pgn_collection/valid/0381.pgn +17 -0
  604. data/test/pgn_collection/valid/0382.pgn +24 -0
  605. data/test/pgn_collection/valid/0383.pgn +21 -0
  606. data/test/pgn_collection/valid/0384.pgn +16 -0
  607. data/test/pgn_collection/valid/0385.pgn +27 -0
  608. data/test/pgn_collection/valid/0386.pgn +21 -0
  609. data/test/pgn_collection/valid/0387.pgn +17 -0
  610. data/test/pgn_collection/valid/0388.pgn +20 -0
  611. data/test/pgn_collection/valid/0389.pgn +20 -0
  612. data/test/pgn_collection/valid/0390.pgn +17 -0
  613. data/test/pgn_collection/valid/0391.pgn +15 -0
  614. data/test/pgn_collection/valid/0392.pgn +23 -0
  615. data/test/pgn_collection/valid/0393.pgn +18 -0
  616. data/test/pgn_collection/valid/0394.pgn +25 -0
  617. data/test/pgn_collection/valid/0395.pgn +13 -0
  618. data/test/pgn_collection/valid/0396.pgn +17 -0
  619. data/test/pgn_collection/valid/0397.pgn +21 -0
  620. data/test/pgn_collection/valid/0398.pgn +16 -0
  621. data/test/pgn_collection/valid/0399.pgn +24 -0
  622. data/test/pgn_collection/valid/0400.pgn +17 -0
  623. data/test/pgn_collection/valid/0401.pgn +22 -0
  624. data/test/pgn_collection/valid/0402.pgn +22 -0
  625. data/test/pgn_collection/valid/0403.pgn +17 -0
  626. data/test/pgn_collection/valid/0404.pgn +21 -0
  627. data/test/pgn_collection/valid/0405.pgn +22 -0
  628. data/test/pgn_collection/valid/0406.pgn +27 -0
  629. data/test/pgn_collection/valid/0407.pgn +19 -0
  630. data/test/pgn_collection/valid/0408.pgn +23 -0
  631. data/test/pgn_collection/valid/0409.pgn +23 -0
  632. data/test/pgn_collection/valid/0410.pgn +20 -0
  633. data/test/pgn_collection/valid/0411.pgn +17 -0
  634. data/test/pgn_collection/valid/0412.pgn +17 -0
  635. data/test/pgn_collection/valid/0413.pgn +17 -0
  636. data/test/pgn_collection/valid/0414.pgn +21 -0
  637. data/test/pgn_collection/valid/0415.pgn +25 -0
  638. data/test/pgn_collection/valid/0416.pgn +24 -0
  639. data/test/pgn_collection/valid/0417.pgn +21 -0
  640. data/test/pgn_collection/valid/0418.pgn +18 -0
  641. data/test/pgn_collection/valid/0419.pgn +19 -0
  642. data/test/pgn_collection/valid/0420.pgn +21 -0
  643. data/test/pgn_collection/valid/0421.pgn +24 -0
  644. data/test/pgn_collection/valid/0422.pgn +22 -0
  645. data/test/pgn_collection/valid/0423.pgn +23 -0
  646. data/test/pgn_collection/valid/0424.pgn +23 -0
  647. data/test/pgn_collection/valid/0425.pgn +18 -0
  648. data/test/pgn_collection/valid/0426.pgn +16 -0
  649. data/test/pgn_collection/valid/0427.pgn +14 -0
  650. data/test/pgn_collection/valid/0428.pgn +21 -0
  651. data/test/pgn_collection/valid/0429.pgn +16 -0
  652. data/test/pgn_collection/valid/0430.pgn +21 -0
  653. data/test/pgn_collection/valid/0431.pgn +17 -0
  654. data/test/pgn_collection/valid/0432.pgn +19 -0
  655. data/test/pgn_collection/valid/0433.pgn +17 -0
  656. data/test/pgn_collection/valid/0434.pgn +20 -0
  657. data/test/pgn_collection/valid/0435.pgn +15 -0
  658. data/test/pgn_collection/valid/0436.pgn +24 -0
  659. data/test/pgn_collection/valid/0437.pgn +22 -0
  660. data/test/pgn_collection/valid/0438.pgn +16 -0
  661. data/test/pgn_collection/valid/0439.pgn +26 -0
  662. data/test/pgn_collection/valid/0440.pgn +24 -0
  663. data/test/pgn_collection/valid/0441.pgn +14 -0
  664. data/test/pgn_collection/valid/0442.pgn +21 -0
  665. data/test/pgn_collection/valid/0443.pgn +20 -0
  666. data/test/pgn_collection/valid/0444.pgn +18 -0
  667. data/test/pgn_collection/valid/0445.pgn +22 -0
  668. data/test/pgn_collection/valid/0446.pgn +20 -0
  669. data/test/pgn_collection/valid/0447.pgn +25 -0
  670. data/test/pgn_collection/valid/0448.pgn +18 -0
  671. data/test/pgn_collection/valid/0449.pgn +17 -0
  672. data/test/pgn_collection/valid/0450.pgn +16 -0
  673. data/test/pgn_collection/valid/0451.pgn +14 -0
  674. data/test/pgn_collection/valid/0452.pgn +21 -0
  675. data/test/pgn_collection/valid/0453.pgn +15 -0
  676. data/test/pgn_collection/valid/0454.pgn +17 -0
  677. data/test/pgn_collection/valid/0455.pgn +22 -0
  678. data/test/pgn_collection/valid/0456.pgn +15 -0
  679. data/test/pgn_collection/valid/0457.pgn +23 -0
  680. data/test/pgn_collection/valid/0458.pgn +21 -0
  681. data/test/pgn_collection/valid/0459.pgn +20 -0
  682. data/test/pgn_collection/valid/0460.pgn +16 -0
  683. data/test/pgn_collection/valid/0461.pgn +16 -0
  684. data/test/pgn_collection/valid/0462.pgn +25 -0
  685. data/test/pgn_collection/valid/0463.pgn +14 -0
  686. data/test/pgn_collection/valid/0464.pgn +12 -0
  687. data/test/pgn_collection/valid/0465.pgn +20 -0
  688. data/test/pgn_collection/valid/0466.pgn +17 -0
  689. data/test/pgn_collection/valid/0467.pgn +23 -0
  690. data/test/pgn_collection/valid/0468.pgn +17 -0
  691. data/test/pgn_collection/valid/0469.pgn +18 -0
  692. data/test/pgn_collection/valid/0470.pgn +15 -0
  693. data/test/pgn_collection/valid/0471.pgn +15 -0
  694. data/test/pgn_collection/valid/0472.pgn +29 -0
  695. data/test/pgn_collection/valid/0473.pgn +19 -0
  696. data/test/pgn_collection/valid/0474.pgn +20 -0
  697. data/test/pgn_collection/valid/0475.pgn +17 -0
  698. data/test/pgn_collection/valid/0476.pgn +18 -0
  699. data/test/pgn_collection/valid/0477.pgn +30 -0
  700. data/test/pgn_collection/valid/0478.pgn +18 -0
  701. data/test/pgn_collection/valid/0479.pgn +20 -0
  702. data/test/pgn_collection/valid/0480.pgn +18 -0
  703. data/test/pgn_collection/valid/0481.pgn +23 -0
  704. data/test/pgn_collection/valid/0482.pgn +17 -0
  705. data/test/pgn_collection/valid/0483.pgn +15 -0
  706. data/test/pgn_collection/valid/0484.pgn +18 -0
  707. data/test/pgn_collection/valid/0485.pgn +19 -0
  708. data/test/pgn_collection/valid/0486.pgn +18 -0
  709. data/test/pgn_collection/valid/0487.pgn +19 -0
  710. data/test/pgn_collection/valid/0488.pgn +18 -0
  711. data/test/pgn_collection/valid/0489.pgn +15 -0
  712. data/test/pgn_collection/valid/0490.pgn +21 -0
  713. data/test/pgn_collection/valid/0491.pgn +15 -0
  714. data/test/pgn_collection/valid/0492.pgn +18 -0
  715. data/test/pgn_collection/valid/0493.pgn +19 -0
  716. data/test/pgn_collection/valid/0494.pgn +16 -0
  717. data/test/pgn_collection/valid/0495.pgn +18 -0
  718. data/test/pgn_collection/valid/0496.pgn +28 -0
  719. data/test/pgn_collection/valid/0497.pgn +24 -0
  720. data/test/pgn_collection/valid/0498.pgn +23 -0
  721. data/test/pgn_collection/valid/0499.pgn +14 -0
  722. data/test/pgn_collection/valid/0500.pgn +16 -0
  723. data/test/pgn_collection/valid/0501.pgn +21 -0
  724. data/test/pgn_collection/valid/0502.pgn +19 -0
  725. data/test/pgn_collection/valid/0503.pgn +23 -0
  726. data/test/pgn_collection/valid/0504.pgn +14 -0
  727. data/test/pgn_collection/valid/0505.pgn +16 -0
  728. data/test/pgn_collection/valid/0506.pgn +19 -0
  729. data/test/pgn_collection/valid/0507.pgn +18 -0
  730. data/test/pgn_collection/valid/0508.pgn +13 -0
  731. data/test/pgn_collection/valid/0509.pgn +22 -0
  732. data/test/pgn_collection/valid/0510.pgn +25 -0
  733. data/test/pgn_collection/valid/0511.pgn +15 -0
  734. data/test/pgn_collection/valid/0512.pgn +25 -0
  735. data/test/pgn_collection/valid/0513.pgn +24 -0
  736. data/test/pgn_collection/valid/0514.pgn +17 -0
  737. data/test/pgn_collection/valid/0515.pgn +12 -0
  738. data/test/pgn_collection/valid/0516.pgn +22 -0
  739. data/test/pgn_collection/valid/0517.pgn +13 -0
  740. data/test/pgn_collection/valid/0518.pgn +23 -0
  741. data/test/pgn_collection/valid/0519.pgn +25 -0
  742. data/test/pgn_collection/valid/0520.pgn +15 -0
  743. data/test/pgn_collection/valid/0521.pgn +15 -0
  744. data/test/pgn_collection/valid/0522.pgn +16 -0
  745. data/test/pgn_collection/valid/0523.pgn +16 -0
  746. data/test/pgn_collection/valid/0524.pgn +28 -0
  747. data/test/pgn_collection/valid/0525.pgn +25 -0
  748. data/test/pgn_collection/valid/0526.pgn +21 -0
  749. data/test/pgn_collection/valid/0527.pgn +18 -0
  750. data/test/pgn_collection/valid/0528.pgn +20 -0
  751. data/test/pgn_collection/valid/0529.pgn +19 -0
  752. data/test/pgn_collection/valid/0530.pgn +19 -0
  753. data/test/pgn_collection/valid/0531.pgn +18 -0
  754. data/test/pgn_collection/valid/0532.pgn +25 -0
  755. data/test/pgn_collection/valid/0533.pgn +19 -0
  756. data/test/pgn_collection/valid/0534.pgn +25 -0
  757. data/test/pgn_collection/valid/0535.pgn +17 -0
  758. data/test/pgn_collection/valid/0536.pgn +21 -0
  759. data/test/pgn_collection/valid/0537.pgn +17 -0
  760. data/test/pgn_collection/valid/0538.pgn +19 -0
  761. data/test/pgn_collection/valid/0539.pgn +31 -0
  762. data/test/pgn_collection/valid/0540.pgn +19 -0
  763. data/test/pgn_collection/valid/0541.pgn +17 -0
  764. data/test/pgn_collection/valid/0542.pgn +17 -0
  765. data/test/pgn_collection/valid/0543.pgn +21 -0
  766. data/test/pgn_collection/valid/0544.pgn +23 -0
  767. data/test/pgn_collection/valid/0545.pgn +19 -0
  768. data/test/pgn_collection/valid/0546.pgn +21 -0
  769. data/test/pgn_collection/valid/0547.pgn +17 -0
  770. data/test/pgn_collection/valid/0548.pgn +17 -0
  771. data/test/pgn_collection/valid/0549.pgn +17 -0
  772. data/test/pgn_collection/valid/0550.pgn +20 -0
  773. data/test/pgn_collection/valid/0551.pgn +22 -0
  774. data/test/pgn_collection/valid/0552.pgn +22 -0
  775. data/test/pgn_collection/valid/0553.pgn +14 -0
  776. data/test/pgn_collection/valid/0554.pgn +20 -0
  777. data/test/pgn_collection/valid/0555.pgn +23 -0
  778. data/test/pgn_collection/valid/0556.pgn +22 -0
  779. data/test/pgn_collection/valid/0557.pgn +14 -0
  780. data/test/pgn_collection/valid/0558.pgn +21 -0
  781. data/test/pgn_collection/valid/0559.pgn +15 -0
  782. data/test/pgn_collection/valid/0560.pgn +19 -0
  783. data/test/pgn_collection/valid/0561.pgn +15 -0
  784. data/test/pgn_collection/valid/0562.pgn +17 -0
  785. data/test/pgn_collection/valid/0563.pgn +15 -0
  786. data/test/pgn_collection/valid/0564.pgn +15 -0
  787. data/test/pgn_collection/valid/0565.pgn +23 -0
  788. data/test/pgn_collection/valid/0566.pgn +14 -0
  789. data/test/pgn_collection/valid/0567.pgn +14 -0
  790. data/test/pgn_collection/valid/0568.pgn +20 -0
  791. data/test/pgn_collection/valid/0569.pgn +20 -0
  792. data/test/pgn_collection/valid/0570.pgn +25 -0
  793. data/test/pgn_collection/valid/0571.pgn +19 -0
  794. data/test/pgn_collection/valid/0572.pgn +17 -0
  795. data/test/pgn_collection/valid/0573.pgn +17 -0
  796. data/test/pgn_collection/valid/0574.pgn +23 -0
  797. data/test/pgn_collection/valid/0575.pgn +22 -0
  798. data/test/pgn_collection/valid/0576.pgn +21 -0
  799. data/test/pgn_collection/valid/0577.pgn +19 -0
  800. data/test/pgn_collection/valid/0578.pgn +20 -0
  801. data/test/pgn_collection/valid/0579.pgn +25 -0
  802. data/test/pgn_collection/valid/0580.pgn +19 -0
  803. data/test/pgn_collection/valid/0581.pgn +13 -0
  804. data/test/pgn_collection/valid/0582.pgn +21 -0
  805. data/test/pgn_collection/valid/0583.pgn +25 -0
  806. data/test/pgn_collection/valid/0584.pgn +18 -0
  807. data/test/pgn_collection/valid/0585.pgn +20 -0
  808. data/test/pgn_collection/valid/0586.pgn +20 -0
  809. data/test/pgn_collection/valid/0587.pgn +16 -0
  810. data/test/pgn_collection/valid/0588.pgn +21 -0
  811. data/test/pgn_collection/valid/0589.pgn +15 -0
  812. data/test/pgn_collection/valid/0590.pgn +23 -0
  813. data/test/pgn_collection/valid/0591.pgn +19 -0
  814. data/test/pgn_collection/valid/0592.pgn +21 -0
  815. data/test/pgn_collection/valid/0593.pgn +15 -0
  816. data/test/pgn_collection/valid/0594.pgn +18 -0
  817. data/test/pgn_collection/valid/0595.pgn +16 -0
  818. data/test/pgn_collection/valid/0596.pgn +21 -0
  819. data/test/pgn_collection/valid/0597.pgn +20 -0
  820. data/test/pgn_collection/valid/0598.pgn +18 -0
  821. data/test/pgn_collection/valid/0599.pgn +16 -0
  822. data/test/pgn_collection/valid/0600.pgn +22 -0
  823. data/test/pgn_collection/valid/0601.pgn +17 -0
  824. data/test/pgn_collection/valid/0602.pgn +21 -0
  825. data/test/pgn_collection/valid/0603.pgn +21 -0
  826. data/test/pgn_collection/valid/0604.pgn +14 -0
  827. data/test/pgn_collection/valid/0605.pgn +20 -0
  828. data/test/pgn_collection/valid/0606.pgn +23 -0
  829. data/test/pgn_collection/valid/0607.pgn +16 -0
  830. data/test/pgn_collection/valid/0608.pgn +22 -0
  831. data/test/pgn_collection/valid/0609.pgn +15 -0
  832. data/test/pgn_collection/valid/0610.pgn +16 -0
  833. data/test/pgn_collection/valid/0611.pgn +21 -0
  834. data/test/pgn_collection/valid/0612.pgn +18 -0
  835. data/test/pgn_collection/valid/0613.pgn +12 -0
  836. data/test/pgn_collection/valid/0614.pgn +15 -0
  837. data/test/pgn_collection/valid/0615.pgn +18 -0
  838. data/test/pgn_collection/valid/0616.pgn +16 -0
  839. data/test/pgn_collection/valid/0617.pgn +26 -0
  840. data/test/pgn_collection/valid/0618.pgn +19 -0
  841. data/test/pgn_collection/valid/0619.pgn +18 -0
  842. data/test/pgn_collection/valid/0620.pgn +22 -0
  843. data/test/pgn_collection/valid/0621.pgn +18 -0
  844. data/test/pgn_collection/valid/0622.pgn +20 -0
  845. data/test/pgn_collection/valid/0623.pgn +23 -0
  846. data/test/pgn_collection/valid/0624.pgn +19 -0
  847. data/test/pgn_collection/valid/0625.pgn +19 -0
  848. data/test/pgn_collection/valid/0626.pgn +22 -0
  849. data/test/pgn_collection/valid/0627.pgn +23 -0
  850. data/test/pgn_collection/valid/0628.pgn +23 -0
  851. data/test/pgn_collection/valid/0629.pgn +16 -0
  852. data/test/pgn_collection/valid/0630.pgn +15 -0
  853. data/test/pgn_collection/valid/0631.pgn +21 -0
  854. data/test/pgn_collection/valid/0632.pgn +22 -0
  855. data/test/pgn_collection/valid/0633.pgn +22 -0
  856. data/test/pgn_collection/valid/0634.pgn +16 -0
  857. data/test/pgn_collection/valid/0635.pgn +20 -0
  858. data/test/pgn_collection/valid/0636.pgn +12 -0
  859. data/test/pgn_collection/valid/0637.pgn +19 -0
  860. data/test/pgn_collection/valid/0638.pgn +27 -0
  861. data/test/pgn_collection/valid/0639.pgn +19 -0
  862. data/test/pgn_collection/valid/0640.pgn +22 -0
  863. data/test/pgn_collection/valid/0641.pgn +14 -0
  864. data/test/pgn_collection/valid/0642.pgn +16 -0
  865. data/test/pgn_collection/valid/0643.pgn +19 -0
  866. data/test/pgn_collection/valid/0644.pgn +19 -0
  867. data/test/pgn_collection/valid/0645.pgn +16 -0
  868. data/test/pgn_collection/valid/0646.pgn +18 -0
  869. data/test/pgn_collection/valid/0647.pgn +21 -0
  870. data/test/pgn_collection/valid/0648.pgn +28 -0
  871. data/test/pgn_collection/valid/0649.pgn +18 -0
  872. data/test/pgn_collection/valid/0650.pgn +16 -0
  873. data/test/pgn_collection/valid/0651.pgn +20 -0
  874. data/test/pgn_collection/valid/0652.pgn +19 -0
  875. data/test/pgn_collection/valid/0653.pgn +23 -0
  876. data/test/pgn_collection/valid/0654.pgn +21 -0
  877. data/test/pgn_collection/valid/0655.pgn +20 -0
  878. data/test/pgn_collection/valid/0656.pgn +22 -0
  879. data/test/pgn_collection/valid/0657.pgn +14 -0
  880. data/test/pgn_collection/valid/0658.pgn +26 -0
  881. data/test/pgn_collection/valid/0659.pgn +22 -0
  882. data/test/pgn_collection/valid/0660.pgn +27 -0
  883. data/test/pgn_collection/valid/0661.pgn +25 -0
  884. data/test/pgn_collection/valid/0662.pgn +15 -0
  885. data/test/pgn_collection/valid/0663.pgn +17 -0
  886. data/test/pgn_collection/valid/0664.pgn +19 -0
  887. data/test/pgn_collection/valid/0665.pgn +13 -0
  888. data/test/pgn_collection/valid/0666.pgn +19 -0
  889. data/test/pgn_collection/valid/0667.pgn +20 -0
  890. data/test/pgn_collection/valid/0668.pgn +22 -0
  891. data/test/pgn_collection/valid/0669.pgn +22 -0
  892. data/test/pgn_collection/valid/0670.pgn +16 -0
  893. data/test/pgn_collection/valid/0671.pgn +19 -0
  894. data/test/pgn_collection/valid/0672.pgn +15 -0
  895. data/test/pgn_collection/valid/0673.pgn +19 -0
  896. data/test/pgn_collection/valid/0674.pgn +15 -0
  897. data/test/pgn_collection/valid/0675.pgn +22 -0
  898. data/test/pgn_collection/valid/0676.pgn +21 -0
  899. data/test/pgn_collection/valid/0677.pgn +18 -0
  900. data/test/pgn_collection/valid/0678.pgn +17 -0
  901. data/test/pgn_collection/valid/0679.pgn +16 -0
  902. data/test/pgn_collection/valid/0680.pgn +21 -0
  903. data/test/pgn_collection/valid/0681.pgn +19 -0
  904. data/test/pgn_collection/valid/0682.pgn +19 -0
  905. data/test/pgn_collection/valid/0683.pgn +15 -0
  906. data/test/pgn_collection/valid/0684.pgn +19 -0
  907. data/test/pgn_collection/valid/0685.pgn +14 -0
  908. data/test/pgn_collection/valid/0686.pgn +16 -0
  909. data/test/pgn_collection/valid/0687.pgn +15 -0
  910. data/test/pgn_collection/valid/0688.pgn +15 -0
  911. data/test/pgn_collection/valid/0689.pgn +24 -0
  912. data/test/pgn_collection/valid/0690.pgn +24 -0
  913. data/test/pgn_collection/valid/0691.pgn +16 -0
  914. data/test/pgn_collection/valid/0692.pgn +26 -0
  915. data/test/pgn_collection/valid/0693.pgn +19 -0
  916. data/test/pgn_collection/valid/0694.pgn +21 -0
  917. data/test/pgn_collection/valid/0695.pgn +21 -0
  918. data/test/pgn_collection/valid/0696.pgn +26 -0
  919. data/test/pgn_collection/valid/0697.pgn +14 -0
  920. data/test/pgn_collection/valid/0698.pgn +24 -0
  921. data/test/pgn_collection/valid/0699.pgn +18 -0
  922. data/test/pgn_collection/valid/0700.pgn +15 -0
  923. data/test/pgn_collection/valid/0701.pgn +13 -0
  924. data/test/pgn_collection/valid/0702.pgn +18 -0
  925. data/test/pgn_collection/valid/0703.pgn +18 -0
  926. data/test/pgn_collection/valid/0704.pgn +17 -0
  927. data/test/pgn_collection/valid/0705.pgn +19 -0
  928. data/test/pgn_collection/valid/0706.pgn +16 -0
  929. data/test/pgn_collection/valid/0707.pgn +19 -0
  930. data/test/pgn_collection/valid/0708.pgn +24 -0
  931. data/test/pgn_collection/valid/0709.pgn +13 -0
  932. data/test/pgn_collection/valid/0710.pgn +29 -0
  933. data/test/pgn_collection/valid/0711.pgn +18 -0
  934. data/test/pgn_collection/valid/0712.pgn +12 -0
  935. data/test/pgn_collection/valid/0713.pgn +19 -0
  936. data/test/pgn_collection/valid/0714.pgn +21 -0
  937. data/test/pgn_collection/valid/0715.pgn +17 -0
  938. data/test/pgn_collection/valid/0716.pgn +17 -0
  939. data/test/pgn_collection/valid/0717.pgn +23 -0
  940. data/test/pgn_collection/valid/0718.pgn +16 -0
  941. data/test/pgn_collection/valid/0719.pgn +19 -0
  942. data/test/pgn_collection/valid/0720.pgn +21 -0
  943. data/test/pgn_collection/valid/0721.pgn +19 -0
  944. data/test/pgn_collection/valid/0722.pgn +32 -0
  945. data/test/pgn_collection/valid/0723.pgn +22 -0
  946. data/test/pgn_collection/valid/0724.pgn +17 -0
  947. data/test/pgn_collection/valid/0725.pgn +16 -0
  948. data/test/pgn_collection/valid/0726.pgn +20 -0
  949. data/test/pgn_collection/valid/0727.pgn +17 -0
  950. data/test/pgn_collection/valid/0728.pgn +16 -0
  951. data/test/pgn_collection/valid/0729.pgn +18 -0
  952. data/test/pgn_collection/valid/0730.pgn +17 -0
  953. data/test/pgn_collection/valid/0731.pgn +37 -0
  954. data/test/pgn_collection/valid/0732.pgn +21 -0
  955. data/test/pgn_collection/valid/0733.pgn +25 -0
  956. data/test/pgn_collection/valid/0734.pgn +20 -0
  957. data/test/pgn_collection/valid/0735.pgn +17 -0
  958. data/test/pgn_collection/valid/0736.pgn +17 -0
  959. data/test/pgn_collection/valid/0737.pgn +14 -0
  960. data/test/pgn_collection/valid/0738.pgn +21 -0
  961. data/test/pgn_collection/valid/0739.pgn +20 -0
  962. data/test/pgn_collection/valid/0740.pgn +15 -0
  963. data/test/pgn_collection/valid/0741.pgn +24 -0
  964. data/test/pgn_collection/valid/0742.pgn +18 -0
  965. data/test/pgn_collection/valid/0743.pgn +18 -0
  966. data/test/pgn_collection/valid/0744.pgn +23 -0
  967. data/test/pgn_collection/valid/0745.pgn +23 -0
  968. data/test/pgn_collection/valid/0746.pgn +15 -0
  969. data/test/pgn_collection/valid/0747.pgn +23 -0
  970. data/test/pgn_collection/valid/0748.pgn +16 -0
  971. data/test/pgn_collection/valid/0749.pgn +18 -0
  972. data/test/pgn_collection/valid/0750.pgn +18 -0
  973. data/test/pgn_collection/valid/0751.pgn +21 -0
  974. data/test/pgn_collection/valid/0752.pgn +18 -0
  975. data/test/pgn_collection/valid/0753.pgn +17 -0
  976. data/test/pgn_collection/valid/0754.pgn +24 -0
  977. data/test/pgn_collection/valid/0755.pgn +25 -0
  978. data/test/pgn_collection/valid/0756.pgn +20 -0
  979. data/test/pgn_collection/valid/0757.pgn +19 -0
  980. data/test/pgn_collection/valid/0758.pgn +14 -0
  981. data/test/pgn_collection/valid/0759.pgn +19 -0
  982. data/test/pgn_collection/valid/0760.pgn +21 -0
  983. data/test/pgn_collection/valid/0761.pgn +17 -0
  984. data/test/pgn_collection/valid/0762.pgn +16 -0
  985. data/test/pgn_collection/valid/0763.pgn +21 -0
  986. data/test/pgn_collection/valid/0764.pgn +21 -0
  987. data/test/pgn_collection/valid/0765.pgn +21 -0
  988. data/test/pgn_collection/valid/0766.pgn +15 -0
  989. data/test/pgn_collection/valid/0767.pgn +25 -0
  990. data/test/pgn_collection/valid/0768.pgn +15 -0
  991. data/test/pgn_collection/valid/0769.pgn +20 -0
  992. data/test/pgn_collection/valid/0770.pgn +21 -0
  993. data/test/pgn_collection/valid/0771.pgn +22 -0
  994. data/test/pgn_collection/valid/0772.pgn +16 -0
  995. data/test/pgn_collection/valid/0773.pgn +24 -0
  996. data/test/pgn_collection/valid/0774.pgn +27 -0
  997. data/test/pgn_collection/valid/0775.pgn +14 -0
  998. data/test/pgn_collection/valid/0776.pgn +25 -0
  999. data/test/pgn_collection/valid/0777.pgn +20 -0
  1000. data/test/pgn_collection/valid/0778.pgn +13 -0
  1001. data/test/pgn_collection/valid/0779.pgn +20 -0
  1002. data/test/pgn_collection/valid/0780.pgn +26 -0
  1003. data/test/pgn_collection/valid/0781.pgn +22 -0
  1004. data/test/pgn_collection/valid/0782.pgn +20 -0
  1005. data/test/pgn_collection/valid/0783.pgn +21 -0
  1006. data/test/pgn_collection/valid/0784.pgn +21 -0
  1007. data/test/pgn_collection/valid/0785.pgn +19 -0
  1008. data/test/pgn_collection/valid/0786.pgn +20 -0
  1009. data/test/pgn_collection/valid/0787.pgn +21 -0
  1010. data/test/pgn_collection/valid/0788.pgn +22 -0
  1011. data/test/pgn_collection/valid/0789.pgn +21 -0
  1012. data/test/pgn_collection/valid/0790.pgn +16 -0
  1013. data/test/pgn_collection/valid/0791.pgn +13 -0
  1014. data/test/pgn_collection/valid/0792.pgn +14 -0
  1015. data/test/pgn_collection/valid/0793.pgn +18 -0
  1016. data/test/pgn_collection/valid/0794.pgn +14 -0
  1017. data/test/pgn_collection/valid/0795.pgn +23 -0
  1018. data/test/pgn_collection/valid/0796.pgn +17 -0
  1019. data/test/pgn_collection/valid/0797.pgn +24 -0
  1020. data/test/pgn_collection/valid/0798.pgn +19 -0
  1021. data/test/pgn_collection/valid/0799.pgn +20 -0
  1022. data/test/pgn_collection/valid/0800.pgn +12 -0
  1023. data/test/pgn_collection/valid/0801.pgn +18 -0
  1024. data/test/pgn_collection/valid/0802.pgn +24 -0
  1025. data/test/pgn_collection/valid/0803.pgn +16 -0
  1026. data/test/pgn_collection/valid/0804.pgn +22 -0
  1027. data/test/pgn_collection/valid/0805.pgn +15 -0
  1028. data/test/pgn_collection/valid/0806.pgn +21 -0
  1029. data/test/pgn_collection/valid/0807.pgn +16 -0
  1030. data/test/pgn_collection/valid/0808.pgn +21 -0
  1031. data/test/pgn_collection/valid/0809.pgn +16 -0
  1032. data/test/pgn_collection/valid/0810.pgn +16 -0
  1033. data/test/pgn_collection/valid/0811.pgn +14 -0
  1034. data/test/pgn_collection/valid/0812.pgn +16 -0
  1035. data/test/pgn_collection/valid/0813.pgn +21 -0
  1036. data/test/pgn_collection/valid/0814.pgn +21 -0
  1037. data/test/pgn_collection/valid/0815.pgn +20 -0
  1038. data/test/pgn_collection/valid/0816.pgn +13 -0
  1039. data/test/pgn_collection/valid/0817.pgn +19 -0
  1040. data/test/pgn_collection/valid/0818.pgn +12 -0
  1041. data/test/pgn_collection/valid/0819.pgn +15 -0
  1042. data/test/pgn_collection/valid/0820.pgn +27 -0
  1043. data/test/pgn_collection/valid/0821.pgn +20 -0
  1044. data/test/pgn_collection/valid/0822.pgn +25 -0
  1045. data/test/pgn_collection/valid/0823.pgn +22 -0
  1046. data/test/pgn_collection/valid/0824.pgn +16 -0
  1047. data/test/pgn_collection/valid/0825.pgn +19 -0
  1048. data/test/pgn_collection/valid/0826.pgn +18 -0
  1049. data/test/pgn_collection/valid/0827.pgn +19 -0
  1050. data/test/pgn_collection/valid/0828.pgn +12 -0
  1051. data/test/pgn_collection/valid/0829.pgn +15 -0
  1052. data/test/pgn_collection/valid/0830.pgn +16 -0
  1053. data/test/pgn_collection/valid/0831.pgn +19 -0
  1054. data/test/pgn_collection/valid/0832.pgn +23 -0
  1055. data/test/pgn_collection/valid/0833.pgn +23 -0
  1056. data/test/pgn_collection/valid/0834.pgn +19 -0
  1057. data/test/pgn_collection/valid/0835.pgn +18 -0
  1058. data/test/pgn_collection/valid/0836.pgn +16 -0
  1059. data/test/pgn_collection/valid/0837.pgn +15 -0
  1060. data/test/pgn_collection/valid/0838.pgn +21 -0
  1061. data/test/pgn_collection/valid/0839.pgn +17 -0
  1062. data/test/pgn_collection/valid/0840.pgn +17 -0
  1063. data/test/pgn_collection/valid/0841.pgn +20 -0
  1064. data/test/pgn_collection/valid/0842.pgn +29 -0
  1065. data/test/pgn_collection/valid/0843.pgn +18 -0
  1066. data/test/pgn_collection/valid/0844.pgn +20 -0
  1067. data/test/pgn_collection/valid/0845.pgn +23 -0
  1068. data/test/pgn_collection/valid/0846.pgn +23 -0
  1069. data/test/pgn_collection/valid/0847.pgn +17 -0
  1070. data/test/pgn_collection/valid/0848.pgn +16 -0
  1071. data/test/pgn_collection/valid/0849.pgn +18 -0
  1072. data/test/pgn_collection/valid/0850.pgn +16 -0
  1073. data/test/pgn_collection/valid/0851.pgn +23 -0
  1074. data/test/pgn_collection/valid/0852.pgn +18 -0
  1075. data/test/pgn_collection/valid/0853.pgn +15 -0
  1076. data/test/pgn_collection/valid/0854.pgn +21 -0
  1077. data/test/pgn_collection/valid/0855.pgn +15 -0
  1078. data/test/pgn_collection/valid/0856.pgn +23 -0
  1079. data/test/pgn_collection/valid/0857.pgn +21 -0
  1080. data/test/pgn_collection/valid/0858.pgn +14 -0
  1081. data/test/pgn_collection/valid/0859.pgn +26 -0
  1082. data/test/pgn_collection/valid/0860.pgn +22 -0
  1083. data/test/pgn_collection/valid/0861.pgn +14 -0
  1084. data/test/pgn_collection/valid/0862.pgn +21 -0
  1085. data/test/pgn_collection/valid/0863.pgn +20 -0
  1086. data/test/pgn_collection/valid/0864.pgn +25 -0
  1087. data/test/pgn_collection/valid/0865.pgn +22 -0
  1088. data/test/pgn_collection/valid/0866.pgn +24 -0
  1089. data/test/pgn_collection/valid/0867.pgn +17 -0
  1090. data/test/pgn_collection/valid/0868.pgn +25 -0
  1091. data/test/pgn_collection/valid/0869.pgn +19 -0
  1092. data/test/pgn_collection/valid/0870.pgn +17 -0
  1093. data/test/pgn_collection/valid/0871.pgn +23 -0
  1094. data/test/pgn_collection/valid/0872.pgn +14 -0
  1095. data/test/pgn_collection/valid/0873.pgn +18 -0
  1096. data/test/pgn_collection/valid/0874.pgn +20 -0
  1097. data/test/pgn_collection/valid/0875.pgn +13 -0
  1098. data/test/pgn_collection/valid/0876.pgn +23 -0
  1099. data/test/pgn_collection/valid/0877.pgn +17 -0
  1100. data/test/pgn_collection/valid/0878.pgn +16 -0
  1101. data/test/pgn_collection/valid/0879.pgn +25 -0
  1102. data/test/pgn_collection/valid/0880.pgn +15 -0
  1103. data/test/pgn_collection/valid/0881.pgn +21 -0
  1104. data/test/pgn_collection/valid/0882.pgn +17 -0
  1105. data/test/pgn_collection/valid/0883.pgn +14 -0
  1106. data/test/pgn_collection/valid/0884.pgn +17 -0
  1107. data/test/pgn_collection/valid/0885.pgn +22 -0
  1108. data/test/pgn_collection/valid/0886.pgn +18 -0
  1109. data/test/pgn_collection/valid/0887.pgn +16 -0
  1110. data/test/pgn_collection/valid/0888.pgn +27 -0
  1111. data/test/pgn_collection/valid/0889.pgn +39 -0
  1112. data/test/pgn_collection/valid/0890.pgn +18 -0
  1113. data/test/pgn_collection/valid/0891.pgn +17 -0
  1114. data/test/pgn_collection/valid/0892.pgn +18 -0
  1115. data/test/pgn_collection/valid/0893.pgn +18 -0
  1116. data/test/pgn_collection/valid/0894.pgn +20 -0
  1117. data/test/pgn_collection/valid/0895.pgn +17 -0
  1118. data/test/pgn_collection/valid/0896.pgn +23 -0
  1119. data/test/pgn_collection/valid/0897.pgn +21 -0
  1120. data/test/pgn_collection/valid/0898.pgn +17 -0
  1121. data/test/pgn_collection/valid/0899.pgn +27 -0
  1122. data/test/pgn_collection/valid/0900.pgn +20 -0
  1123. data/test/pgn_collection/valid/0901.pgn +16 -0
  1124. data/test/pgn_collection/valid/0902.pgn +19 -0
  1125. data/test/pgn_collection/valid/0903.pgn +22 -0
  1126. data/test/pgn_collection/valid/0904.pgn +23 -0
  1127. data/test/pgn_collection/valid/0905.pgn +18 -0
  1128. data/test/pgn_collection/valid/0906.pgn +12 -0
  1129. data/test/pgn_collection/valid/0907.pgn +21 -0
  1130. data/test/pgn_collection/valid/0908.pgn +12 -0
  1131. data/test/pgn_collection/valid/0909.pgn +16 -0
  1132. data/test/pgn_collection/valid/0910.pgn +19 -0
  1133. data/test/pgn_collection/valid/0911.pgn +22 -0
  1134. data/test/pgn_collection/valid/0912.pgn +20 -0
  1135. data/test/pgn_collection/valid/0913.pgn +25 -0
  1136. data/test/pgn_collection/valid/0914.pgn +21 -0
  1137. data/test/pgn_collection/valid/0915.pgn +21 -0
  1138. data/test/pgn_collection/valid/0916.pgn +21 -0
  1139. data/test/pgn_collection/valid/0917.pgn +21 -0
  1140. data/test/pgn_collection/valid/0918.pgn +14 -0
  1141. data/test/pgn_collection/valid/0919.pgn +17 -0
  1142. data/test/pgn_collection/valid/0920.pgn +23 -0
  1143. data/test/pgn_collection/valid/0921.pgn +15 -0
  1144. data/test/pgn_collection/valid/0922.pgn +25 -0
  1145. data/test/pgn_collection/valid/0923.pgn +22 -0
  1146. data/test/pgn_collection/valid/0924.pgn +16 -0
  1147. data/test/pgn_collection/valid/0925.pgn +26 -0
  1148. data/test/pgn_collection/valid/0926.pgn +17 -0
  1149. data/test/pgn_collection/valid/0927.pgn +18 -0
  1150. data/test/pgn_collection/valid/0928.pgn +14 -0
  1151. data/test/pgn_collection/valid/0929.pgn +20 -0
  1152. data/test/pgn_collection/valid/0930.pgn +20 -0
  1153. data/test/pgn_collection/valid/0931.pgn +18 -0
  1154. data/test/pgn_collection/valid/0932.pgn +23 -0
  1155. data/test/pgn_collection/valid/0933.pgn +19 -0
  1156. data/test/pgn_collection/valid/0934.pgn +19 -0
  1157. data/test/pgn_collection/valid/0935.pgn +27 -0
  1158. data/test/pgn_collection/valid/0936.pgn +15 -0
  1159. data/test/pgn_collection/valid/0937.pgn +17 -0
  1160. data/test/pgn_collection/valid/0938.pgn +14 -0
  1161. data/test/pgn_collection/valid/0939.pgn +51 -0
  1162. data/test/pgn_collection/valid/0940.pgn +15 -0
  1163. data/test/pgn_collection/valid/0941.pgn +19 -0
  1164. data/test/pgn_collection/valid/0942.pgn +25 -0
  1165. data/test/pgn_collection/valid/0943.pgn +21 -0
  1166. data/test/pgn_collection/valid/0944.pgn +22 -0
  1167. data/test/pgn_collection/valid/0945.pgn +20 -0
  1168. data/test/pgn_collection/valid/0946.pgn +18 -0
  1169. data/test/pgn_collection/valid/0947.pgn +18 -0
  1170. data/test/pgn_collection/valid/0948.pgn +13 -0
  1171. data/test/pgn_collection/valid/0949.pgn +23 -0
  1172. data/test/pgn_collection/valid/0950.pgn +26 -0
  1173. data/test/pgn_collection/valid/0951.pgn +21 -0
  1174. data/test/pgn_collection/valid/0952.pgn +27 -0
  1175. data/test/pgn_collection/valid/0953.pgn +30 -0
  1176. data/test/pgn_collection/valid/0954.pgn +16 -0
  1177. data/test/pgn_collection/valid/0955.pgn +19 -0
  1178. data/test/pgn_collection/valid/0956.pgn +21 -0
  1179. data/test/pgn_collection/valid/0957.pgn +19 -0
  1180. data/test/pgn_collection/valid/0958.pgn +15 -0
  1181. data/test/pgn_collection/valid/0959.pgn +23 -0
  1182. data/test/pgn_collection/valid/0960.pgn +23 -0
  1183. data/test/pgn_collection/valid/0961.pgn +18 -0
  1184. data/test/pgn_collection/valid/0962.pgn +15 -0
  1185. data/test/pgn_collection/valid/0963.pgn +18 -0
  1186. data/test/pgn_collection/valid/0964.pgn +18 -0
  1187. data/test/pgn_collection/valid/0965.pgn +21 -0
  1188. data/test/pgn_collection/valid/0966.pgn +16 -0
  1189. data/test/pgn_collection/valid/0967.pgn +26 -0
  1190. data/test/pgn_collection/valid/0968.pgn +19 -0
  1191. data/test/pgn_collection/valid/0969.pgn +23 -0
  1192. data/test/pgn_collection/valid/0970.pgn +18 -0
  1193. data/test/pgn_collection/valid/0971.pgn +14 -0
  1194. data/test/pgn_collection/valid/0972.pgn +17 -0
  1195. data/test/pgn_collection/valid/0973.pgn +20 -0
  1196. data/test/pgn_collection/valid/0974.pgn +24 -0
  1197. data/test/pgn_collection/valid/0975.pgn +14 -0
  1198. data/test/pgn_collection/valid/0976.pgn +17 -0
  1199. data/test/pgn_collection/valid/0977.pgn +14 -0
  1200. data/test/pgn_collection/valid/0978.pgn +18 -0
  1201. data/test/pgn_collection/valid/0979.pgn +19 -0
  1202. data/test/pgn_collection/valid/0980.pgn +21 -0
  1203. data/test/pgn_collection/valid/0981.pgn +21 -0
  1204. data/test/pgn_collection/valid/0982.pgn +18 -0
  1205. data/test/pgn_collection/valid/0983.pgn +22 -0
  1206. data/test/pgn_collection/valid/0984.pgn +27 -0
  1207. data/test/pgn_collection/valid/0985.pgn +19 -0
  1208. data/test/pgn_collection/valid/0986.pgn +20 -0
  1209. data/test/pgn_collection/valid/0987.pgn +15 -0
  1210. data/test/pgn_collection/valid/0988.pgn +20 -0
  1211. data/test/pgn_collection/valid/0989.pgn +19 -0
  1212. data/test/pgn_collection/valid/0990.pgn +15 -0
  1213. data/test/pgn_collection/valid/0991.pgn +25 -0
  1214. data/test/pgn_collection/valid/0992.pgn +19 -0
  1215. data/test/pgn_collection/valid/0993.pgn +15 -0
  1216. data/test/pgn_collection/valid/0994.pgn +17 -0
  1217. data/test/pgn_collection/valid/0995.pgn +26 -0
  1218. data/test/pgn_collection/valid/0996.pgn +16 -0
  1219. data/test/pgn_collection/valid/0997.pgn +24 -0
  1220. data/test/pgn_collection/valid/0998.pgn +20 -0
  1221. data/test/pgn_collection/valid/0999.pgn +21 -0
  1222. data/test/pgn_collection/valid/1000.pgn +19 -0
  1223. data/test/pgn_collection/valid/checkmate/0925.pgn +26 -0
  1224. data/test/pgn_collection/valid/checkmate/checkmate.pgn +11 -0
  1225. data/test/pgn_collection/valid/checkmate/ciccio.pgn +11 -0
  1226. data/test/test_big_pgn_collection.rb +14 -0
  1227. data/test/test_checkmate.rb +22 -0
  1228. data/test/test_fifty_rule_move.rb +16 -0
  1229. data/test/test_helper.rb +13 -0
  1230. data/test/test_insufficient_material.rb +30 -0
  1231. data/test/test_pgn_collection.rb +22 -0
  1232. data/test/test_stalemate.rb +16 -0
  1233. data/test/test_threefold_repetition.rb +16 -0
  1234. metadata +2450 -12
@@ -0,0 +1,66 @@
1
+ module Chess
2
+
3
+ # Rappresents a game in PGN (Portable Game Notation) format.
4
+ class Pgn
5
+
6
+ # Array that include PGN standard tags.
7
+ TAGS = %w(event site date round white black result)
8
+
9
+ attr_accessor *(TAGS + [:moves])
10
+
11
+ # Creates a new PGN. If param +filename+, load it from file.
12
+ def initialize(filename = nil)
13
+ self.load(filename) if filename
14
+ @date = '??'
15
+ @round = '1'
16
+ end
17
+
18
+ # Load a PGN from file.
19
+ def load(filename)
20
+ data = File.open(filename, 'r').read
21
+ data.gsub!(/\{.*?\}/, '')
22
+ TAGS.each do |t|
23
+ instance_variable_set("@#{t}", data.match(/^\[#{t.capitalize} ".*"\]\s?$/).to_s.strip[t.size+3..-3])
24
+ end
25
+ game_index = data.index(/^1\./)
26
+ raise Chess::InvalidPgnFormatError.new(filename) if game_index.nil?
27
+ game = data[game_index..-1].strip
28
+ @moves = game.gsub("\n", ' ').split(/\d+\./).collect{|t| t.strip}[1..-1].collect{|t| t.split(' ')}.flatten
29
+ @moves.delete_at(@moves.size-1) if @moves.last =~ /(0\-1)|(1\-0)|(1\/2)|(1\/2\-1\/2)|(\*)/
30
+ return self
31
+ end
32
+
33
+ # PGN to string.
34
+ def to_s
35
+ s = ''
36
+ TAGS.each do |t|
37
+ tag = instance_variable_get("@#{t}")
38
+ s << "[#{t.capitalize} \"#{tag}\"]\n"
39
+ end
40
+ s << "\n"
41
+ m = ''
42
+ @moves.each_with_index do |move, i|
43
+ m << "#{i/2+1}. " if i % 2 == 0
44
+ m << "#{move} "
45
+ end
46
+ m << @result unless @result.nil?
47
+ s << m.gsub(/(.{1,78})(?: +|$)\n?|(.{78})/, "\\1\\2\n")
48
+ end
49
+
50
+ # Write PGN to file.
51
+ def write(filename)
52
+ File.open(filename, 'w') { |f| f.write(self.to_s) }
53
+ end
54
+
55
+ # :nodoc:
56
+ # Set the date tag.
57
+ def date=(value)
58
+ if value.is_a?(Time)
59
+ @date = value.strftime('%Y.%m.%d')
60
+ else
61
+ @data = value
62
+ end
63
+ end
64
+
65
+ end
66
+ end
@@ -1,3 +1,5 @@
1
+ # The Chess library module.
1
2
  module Chess
2
- VERSION = "0.0.1.dummy"
3
- end
3
+ # The library version.
4
+ VERSION = '0.0.1'
5
+ end
@@ -0,0 +1,17 @@
1
+ [Event ""]
2
+ [Site ""]
3
+ [Date ""]
4
+ [Round ""]
5
+ [White ""]
6
+ [Black ""]
7
+ [Result "1/2-1/2"]
8
+
9
+ 1. e4 e6 2. Nc3 d5 3. Nf3 Nc6 4. d4 Nf6 5. Qd3 Bd6 6. Bg5 O-O 7. exd5 exd5 8.
10
+ Nxd5 Qe8+ 9. Ne3 Ne4 10. Be2 Bd7 11. O-O f6 12. Qb3+ Be6 13. d5 Na5 14. Qb5
11
+ Bd7 15. Qxa5 fxg5 16. Rfe1 Qh5 17. h3 g4 18. hxg4 Bxg4 19. Nxg4 Qxg4 20. Ne5
12
+ Qh4 21. g3 Nxg3 22. f4 Qh1+ 23. Kf2 Qh2+ 24. Ke3 Nxe2 25. Rxe2 Qxf4+ 26. Kd3
13
+ Bxe5 27. c3 Rad8 28. Kc2 Qf5+ 29. Kb3 a6 30. Rg1 Kh8 31. Ka3 g5 32. b3 g4 33.
14
+ Kb2 g3 34. Ka1 Rxd5 35. Qb4 c6 36. Rh1 Qf3 37. Rc1 Rd1 38. Rc2 g2 39. Qxf8+
15
+ Qxf8 40. Rxd1 Qf1 41. Rcc1 Bxc3+ 42. Kb1 Qe2 43. Rd8+ Kg7 44. Rd7+ Kg6 45.
16
+ Rd6+ Kg5 46. Rxc3 g1=Q+ 47. Rc1 Qe4+ 48. Rd3 Qxd3+ 49. Kb2 Qf2+ 50. Ka3 Qd6+
17
+ 51. b4 Qd3+ 52. Rc3 Qxc3+ 53. Ka4 Qxa2# 1/2-1/2
@@ -0,0 +1,13 @@
1
+ [Event ""]
2
+ [Site ""]
3
+ [Date ""]
4
+ [Round ""]
5
+ [White ""]
6
+ [Black ""]
7
+ [Result "1/2-1/2"]
8
+
9
+ 1. e4 Nc6 2. Nc3 Nf6 3. Nf3 d5 4. d3 e5 5. Be3 Bg4 6. Be2 Bb4 7. h3 d4 8. hxg4
10
+ Bxc3+ 9. bxc3 dxe3 10. fxe3 Nxg4 11. Qd2 O-O 12. O-O-O Qd6 13. Ng5 Qa3+ 14.
11
+ Kb1 Nf6 15. d4 h6 16. dxe5 Nxe5 17. Qd4 Rfe8 18. Nf3 c5 19. Qd6 Nxe4 20. Qxe5
12
+ Rxe5 21. Rd3 Nxc3+ 22. Rxc3 Qxc3 23. Nxe5 Qxe5 24. Bf3 Rd8 25. Bxb7 Qxe3 26.
13
+ Bf3 Rb8+ 27. Bb7 Rxb7+ 28. Ka1 Qc3# 1/2-1/2
@@ -0,0 +1,13 @@
1
+ [Event ""]
2
+ [Site ""]
3
+ [Date ""]
4
+ [Round ""]
5
+ [White ""]
6
+ [Black ""]
7
+ [Result "1/2-1/2"]
8
+
9
+ 1. e4 a6 2. Qh5 Nc6 3. Bc4 e6 4. Nc3 Nf6 5. Qg5 Nd4 6. Kd1 g6 7. Nf3 b5 8.
10
+ Nxd4 bxc4 9. Re1 Bb7 10. f4 Bd6 11. a3 O-O 12. h4 Rb8 13. g4 Kh8 14. h5 Qe7
11
+ 15. h6 Bc5 16. Qe5 d6 17. Nf5 gxf5 18. Nd5 Bxd5 19. Qc3 fxe4 20. g5 e5 21.
12
+ gxf6 Qxf6 22. fxe5 dxe5 23. b4 Bd4 24. Qg3 Bxa1 25. Qe3 Bd4 26. Qh3 Rg8 27.
13
+ Qd7 Qf3+ 28. Re2 Rg1# 1/2-1/2
@@ -0,0 +1,20 @@
1
+ [Event ""]
2
+ [Site ""]
3
+ [Date ""]
4
+ [Round ""]
5
+ [White ""]
6
+ [Black ""]
7
+ [Result "1/2-1/2"]
8
+
9
+ 1. Nf3 Nf6 2. g3 d5 3. Nc3 Nc6 4. d4 Bf5 5. Bf4 e6 6. Bg2 Bd6 7. Ng5 O-O 8. h4
10
+ Qd7 9. h5 a5 10. h6 Bxf4 11. gxf4 Nb4 12. Rc1 g6 13. Rg1 Kh8 14. Qd2 Qd6 15.
11
+ Bf3 Nc6 16. a3 a4 17. Qe3 b6 18. Rg3 Qe7 19. Kf1 Qd6 20. Qd2 Qe7 21. e3 Qd6
12
+ 22. Re1 Qe7 23. Be2 Ne4 24. Ngxe4 Bxe4 25. Rg5 f6 26. Rg3 g5 27. Bc4 Bxc2 28.
13
+ Bxd5 exd5 29. Qxc2 Ra5 30. Nxd5 Rxd5 31. Qxc6 Ra5 32. d5 Rc5 33. Qe6 Qd6 34.
14
+ Rd1 Rc2 35. Rb1 Rd2 36. fxg5 fxg5 37. Qxd6 Rfxf2+ 38. Kg1 cxd6 39. Rxg5 Rxb2
15
+ 40. Rxb2 Rxb2 41. Rg7 Rc2 42. Kf1 b5 43. Ke1 Rh2 44. Rb7 Kg8 45. Rxb5 Rxh6 46.
16
+ Rb7 Rh2 47. e4 Rc2 48. Kd1 Rf2 49. Ke1 Rc2 50. Kf1 h5 51. Ke1 h4 52. Kf1 h3
17
+ 53. Ke1 h2 54. Rb8+ Kf7 55. Rb7+ Kf6 56. e5+ Kxe5 57. Re7+ Kxd5 58. Kd1 h1=Q+
18
+ 59. Kxc2 Qf3 60. Re1 Qb3+ 61. Kd2 Qxa3 62. Kc2 Qb3+ 63. Kd2 a3 64. Re7 a2 65.
19
+ Re1 Qb2+ 66. Kd3 Qd4+ 67. Ke2 a1=Q 68. Rxa1 Qxa1 69. Kf3 Qd4 70. Ke2 Qe4+ 71.
20
+ Kd2 Kc5 72. Kc3 d5 73. Kd2 d4 74. Kd1 d3 75. Kd2 Qe2+ 76. Kc3 Qc2# 1/2-1/2
@@ -0,0 +1,19 @@
1
+ [Event ""]
2
+ [Site ""]
3
+ [Date ""]
4
+ [Round ""]
5
+ [White ""]
6
+ [Black ""]
7
+ [Result "1/2-1/2"]
8
+
9
+ 1. d4 Nf6 2. Nf3 e6 3. Nc3 Nc6 4. Bf4 Bb4 5. Qd3 O-O 6. Ng5 g6 7. h4 d5 8.
10
+ O-O-O Bd7 9. Kb1 Ng4 10. f3 Nf2 11. Nxf7 Rxf7 12. Bg5 Nxd3 13. Bxd8 Nxb2 14.
11
+ Kxb2 Rxd8 15. e3 Bd6 16. Bd3 Kg7 17. f4 Rdf8 18. Rb1 Be7 19. a3 b6 20. h5 g5
12
+ 21. h6+ Kg8 22. g3 gxf4 23. gxf4 Kh8 24. Rhg1 Rg8 25. Rxg8+ Kxg8 26. Rg1+ Kf8
13
+ 27. Kb3 Ke8 28. Rg7 Na5+ 29. Kb2 c5 30. Rxf7 Kxf7 31. dxc5 Bxc5 32. e4 d4 33.
14
+ Nb5 Nc6 34. c3 e5 35. f5 Kf6 36. cxd4 exd4 37. Bc4 Ne5 38. Be2 d3 39. Nc3 Nc4+
15
+ 40. Kc1 dxe2 41. Nxe2 Nxa3 42. Nc3 Nc4 43. Nd5+ Ke5 44. Nc3 Be3+ 45. Kc2 Bxh6
16
+ 46. Kd3 b5 47. Ne2 Be3 48. Nc3 h5 49. Nd5 Bg5 50. Nc3 h4 51. Ke2 h3 52. Kf2 b4
17
+ 53. Na2 b3 54. Nc3 a5 55. Kg3 Nd6 56. Kxh3 Nxe4 57. Nd1 Kxf5 58. Kg2 a4 59.
18
+ Kf3 a3 60. Ke2 b2 61. Nxb2 axb2 62. Kd3 b1=Q+ 63. Kd4 Qd1+ 64. Kc4 Qa4+ 65.
19
+ Kd3 Bb5# 1/2-1/2
@@ -0,0 +1,15 @@
1
+ [Event ""]
2
+ [Site ""]
3
+ [Date ""]
4
+ [Round ""]
5
+ [White ""]
6
+ [Black ""]
7
+ [Result "1/2-1/2"]
8
+
9
+ 1. e4 d6 2. d4 Nf6 3. Nc3 Nc6 4. Nf3 Bg4 5. Bc4 e5 6. Be3 exd4 7. Bxd4 Nxd4 8.
10
+ Qxd4 Be7 9. O-O-O O-O 10. Kb1 a5 11. Nd5 a4 12. h4 a3 13. e5 Nxd5 14. Qxg4 Nb4
11
+ 15. c3 Nc6 16. exd6 Bxd6 17. b3 Re8 18. Rhe1 g6 19. Rxe8+ Qxe8 20. h5 Rd8 21.
12
+ h6 Bc5 22. Re1 Qd7 23. Qxd7 Rxd7 24. Re8+ Bf8 25. Kc2 b6 26. Bd3 Rd5 27. Kd2
13
+ f6 28. g3 Kf7 29. c4 Rxd3+ 30. Kxd3 Kxe8 31. Ke3 Bxh6+ 32. Ke4 f5+ 33. Kd5
14
+ Nb4+ 34. Ke6 Nxa2 35. Ne5 Nc3 36. f4 a2 37. Nf7 a1=Q 38. Nxh6 Qe1+ 39. Kf6
15
+ Qe7# 1/2-1/2
@@ -0,0 +1,16 @@
1
+ [Event ""]
2
+ [Site ""]
3
+ [Date ""]
4
+ [Round ""]
5
+ [White ""]
6
+ [Black ""]
7
+ [Result "1/2-1/2"]
8
+
9
+ 1. c4 Nc6 2. Nc3 Nf6 3. Nf3 d6 4. d4 Bf5 5. Bf4 h6 6. Nd5 Nxd5 7. cxd5 Na5 8.
10
+ Rc1 g5 9. Qa4+ c6 10. Bd2 b6 11. Bxa5 bxa5 12. Qxc6+ Bd7 13. Qb7 Bg7 14. e4
11
+ O-O 15. Bb5 Bg4 16. Rc4 Qb6 17. Bc6 Rac8 18. Qxe7 Bxf3 19. gxf3 Bxd4 20. O-O
12
+ Be5 21. Rb1 Rc7 22. Qxc7 Qxc7 23. Kg2 Qb6 24. b3 Rc8 25. Rbc1 h5 26. Bd7 Rd8
13
+ 27. Rc7 Bxh2 28. Kf1 Be5 29. Ke2 Qa6+ 30. R1c4 Rb8 31. Bf5 Bd4 32. Bd7 Kg7 33.
14
+ Bc8 Qb5 34. a3 h4 35. Kf1 a6 36. Ke2 Kg6 37. Bf5+ Kg7 38. Bc8 Kg8 39. Bf5 Re8
15
+ 40. Kf1 Kg7 41. Be6 Rf8 42. Bf5 Rh8 43. Ke2 h3 44. Kf1 h2 45. Rxf7+ Kxf7 46.
16
+ Be6+ Ke7 47. Ke2 h1=Q 48. Bf5 Rh2 49. Bg4 Rxf2+ 50. Kd3 Qd1# 1/2-1/2
@@ -0,0 +1,16 @@
1
+ [Event ""]
2
+ [Site ""]
3
+ [Date ""]
4
+ [Round ""]
5
+ [White ""]
6
+ [Black ""]
7
+ [Result "1/2-1/2"]
8
+
9
+ 1. d4 Nf6 2. c4 Nc6 3. Nf3 d6 4. Nc3 Bf5 5. Bf4 h6 6. Nd5 Nxd5 7. cxd5 Na5 8.
10
+ Rc1 g5 9. Qa4+ c6 10. Bd2 b6 11. Bxa5 bxa5 12. Qxc6+ Bd7 13. Qb7 Bg7 14. e4
11
+ O-O 15. Bb5 Bg4 16. Rc4 Qb6 17. Bc6 Rac8 18. Qxe7 Bxf3 19. gxf3 Bxd4 20. O-O
12
+ Be5 21. Rb1 Rc7 22. Qxc7 Qxc7 23. Kg2 Qb6 24. b3 Rc8 25. Rbc1 h5 26. Bd7 Rd8
13
+ 27. Rc7 Bxh2 28. Kf1 Be5 29. Ke2 Qa6+ 30. R1c4 Rb8 31. Bf5 Bd4 32. Bd7 Kg7 33.
14
+ Bc8 Qb5 34. a3 h4 35. Kf1 a6 36. Ke2 Kg6 37. Bf5+ Kg7 38. Bc8 Kg8 39. Bf5 Re8
15
+ 40. Kf1 Kg7 41. Be6 Rf8 42. Bf5 Rh8 43. Ke2 h3 44. Kf1 h2 45. Rxf7+ Kxf7 46.
16
+ Be6+ Ke7 47. Ke2 h1=Q 48. Bf5 Rh2 49. Bg4 Rxf2+ 50. Kd3 Qd1# 1/2-1/2
@@ -0,0 +1,21 @@
1
+ [Event ""]
2
+ [Site ""]
3
+ [Date ""]
4
+ [Round ""]
5
+ [White ""]
6
+ [Black ""]
7
+ [Result "1/2-1/2"]
8
+
9
+ 1. Nf3 Nf6 2. g3 b5 3. Nc3 Ba6 4. d4 Nc6 5. Bf4 e6 6. Bh3 Bd6 7. Qd3 Bxf4 8.
10
+ gxf4 Rb8 9. Rg1 Nb4 10. Qd2 O-O 11. Ne5 Kh8 12. Bg2 d5 13. Bf3 Qd6 14. e3 c5
11
+ 15. a3 cxd4 16. axb4 dxc3 17. Qxc3 Rbc8 18. Qd2 Rc7 19. h4 Rd8 20. h5 g6 21.
12
+ h6 Ne4 22. Bxe4 dxe4 23. Qxd6 Rxd6 24. Rd1 Rxd1+ 25. Kxd1 Kg8 26. Kd2 Bb7 27.
13
+ Ra1 Bd5 28. c3 f6 29. Ng4 Kf7 30. Ke2 Bc4+ 31. Kd2 Rd7+ 32. Kc2 Ke7 33. b3 Be2
14
+ 34. Rg1 Rd8 35. Rg3 Bd1+ 36. Kb2 Rd2+ 37. Kc1 Rd8 38. Kb2 Be2 39. Kc2 a6 40.
15
+ Rg1 Bxg4 41. Rxg4 Kf7 42. Rg1 Ke7 43. Rg4 Rd5 44. Rg1 Kd6 45. Ra1 Ke7 46. Rxa6
16
+ Rd7 47. Ra1 Kf7 48. Ra8 Ke7 49. c4 Rc7 50. c5 Rd7 51. c6 Rc7 52. Ra6 Kd6 53.
17
+ f5 exf5 54. Ra1 Rxc6+ 55. Kd2 Rc8 56. Ra7 Rc7 57. Rxc7 Kxc7 58. Kc3 Kd6 59.
18
+ Kd4 g5 60. Kc3 Ke5 61. Kd2 f4 62. Ke2 fxe3 63. Kxe3 g4 64. Kd2 f5 65. Ke2 f4
19
+ 66. Kd2 g3 67. Ke1 g2 68. f3 g1=Q+ 69. Kd2 Qe3+ 70. Kc2 Qd3+ 71. Kc1 Qc3+ 72.
20
+ Kd1 Qxf3+ 73. Kd2 Qe3+ 74. Kc2 Qd3+ 75. Kc1 Qc3+ 76. Kd1 Qxb3+ 77. Ke1 Qxb4+
21
+ 78. Kf1 Qd2 79. Kg1 b4 80. Kf1 b3 81. Kg1 b2 82. Kf1 b1=Q# 1/2-1/2
@@ -0,0 +1,15 @@
1
+ [Event ""]
2
+ [Site ""]
3
+ [Date ""]
4
+ [Round ""]
5
+ [White ""]
6
+ [Black ""]
7
+ [Result "1/2-1/2"]
8
+
9
+ 1. d4 d6 2. c4 e5 3. Nf3 Nc6 4. Nc3 Nf6 5. Bg5 Bf5 6. Nd5 Be7 7. Nxe7 Qxe7 8.
10
+ g3 O-O 9. Bg2 h6 10. Nh4 Nxd4 11. Nxf5 Nxf5 12. Bxf6 Qxf6 13. Bxb7 Rab8 14.
11
+ Qb3 Nd4 15. Qd3 Rxb7 16. Rb1 Re8 17. O-O Rb4 18. e4 Reb8 19. b3 Qg5 20. Rbd1
12
+ Qg4 21. Qe3 a5 22. Rd3 h5 23. Rfd1 h4 24. Kh1 h3 25. f4 Rd8 26. f5 Rdb8 27.
13
+ R3d2 Qh5 28. Rf1 Qg4 29. Rfd1 a4 30. c5 axb3 31. cxd6 b2 32. Rb1 cxd6 33. a3
14
+ Rb3 34. Qe1 d5 35. exd5 Qf3+ 36. Kg1 Qxf5 37. Qf1 Qg6 38. Rf2 Rf3 39. Rxf3
15
+ Nxf3+ 40. Kh1 Qc2 41. Rxb2 Rxb2 42. Qxh3 Qxh2+ 43. Qxh2 Rxh2# 1/2-1/2
@@ -0,0 +1,15 @@
1
+ [Event ""]
2
+ [Site ""]
3
+ [Date ""]
4
+ [Round ""]
5
+ [White ""]
6
+ [Black ""]
7
+ [Result "1/2-1/2"]
8
+
9
+ 1. c4 e5 2. Nc3 Nc6 3. Nf3 Nf6 4. d4 d6 5. Bg5 Bf5 6. Nd5 Be7 7. Nxe7 Qxe7 8.
10
+ g3 O-O 9. Bg2 h6 10. Nh4 Nxd4 11. Nxf5 Nxf5 12. Bxf6 Qxf6 13. Bxb7 Rab8 14.
11
+ Qb3 Nd4 15. Qd3 Rxb7 16. Rb1 Re8 17. O-O Rb4 18. e4 Reb8 19. b3 Qg5 20. Rbd1
12
+ Qg4 21. Qe3 a5 22. Rd3 h5 23. Rfd1 h4 24. Kh1 h3 25. f4 Rd8 26. f5 Rdb8 27.
13
+ R3d2 Qh5 28. Rf1 Qg4 29. Rfd1 a4 30. c5 axb3 31. cxd6 b2 32. Rb1 cxd6 33. a3
14
+ Rb3 34. Qe1 d5 35. exd5 Qf3+ 36. Kg1 Qxf5 37. Qf1 Qg6 38. Rf2 Rf3 39. Rxf3
15
+ Nxf3+ 40. Kh1 Qc2 41. Rxb2 Rxb2 42. Qxh3 Qxh2+ 43. Qxh2 Rxh2# 1/2-1/2
@@ -0,0 +1,14 @@
1
+ [Event ""]
2
+ [Site ""]
3
+ [Date ""]
4
+ [Round ""]
5
+ [White ""]
6
+ [Black ""]
7
+ [Result "1/2-1/2"]
8
+
9
+ 1. d4 Nf6 2. c4 c5 3. Nf3 d5 4. Nc3 cxd4 5. Nxd5 Nc6 6. Nxf6+ gxf6 7. Bd2 Bf5
10
+ 8. Qb3 Qc7 9. Rd1 Rg8 10. c5 b6 11. Qc4 Rd8 12. b4 h5 13. g3 Bg7 14. Bf4 Qb7
11
+ 15. Bg2 bxc5 16. Nxd4 Rxd4 17. Rxd4 Qxb4+ 18. Qxb4 Nxb4 19. Rd2 c4 20. O-O c3
12
+ 21. Rd4 a5 22. Bf3 e5 23. Be4 exd4 24. Bxf5 Nxa2 25. Rb1 Nb4 26. Kg2 Ke7 27.
13
+ Rc1 a4 28. Kf3 a3 29. h4 a2 30. Be4 c2 31. Ra1 Ke6 32. Bxc2 Nxc2 33. Rxa2 Ne1+
14
+ 34. Ke4 f5# 1/2-1/2
@@ -0,0 +1,17 @@
1
+ [Event ""]
2
+ [Site ""]
3
+ [Date ""]
4
+ [Round ""]
5
+ [White ""]
6
+ [Black ""]
7
+ [Result "1/2-1/2"]
8
+
9
+ 1. e4 e6 2. d4 d5 3. Nc3 Nc6 4. Nf3 Nf6 5. Qd3 Bd6 6. Bg5 O-O 7. exd5 exd5 8.
10
+ Nxd5 Qe8+ 9. Ne3 Ne4 10. Be2 Bd7 11. O-O f6 12. Qb3+ Be6 13. d5 Na5 14. Qb5
11
+ Bd7 15. Qxa5 fxg5 16. Rfe1 Qh5 17. h3 g4 18. hxg4 Bxg4 19. Nxg4 Qxg4 20. Ne5
12
+ Qh4 21. g3 Nxg3 22. f4 Qh1+ 23. Kf2 Qh2+ 24. Ke3 Nxe2 25. Rxe2 Qxf4+ 26. Kd3
13
+ Bxe5 27. c3 Rad8 28. Kc2 Qf5+ 29. Kb3 a6 30. Rg1 Kh8 31. Ka3 g5 32. b3 g4 33.
14
+ Kb2 g3 34. Ka1 Rxd5 35. Qb4 c6 36. Rh1 Qf3 37. Rc1 Rd1 38. Rc2 g2 39. Qxf8+
15
+ Qxf8 40. Rxd1 Qf1 41. Rcc1 Bxc3+ 42. Kb1 Qe2 43. Rd8+ Kg7 44. Rd7+ Kg6 45.
16
+ Rd6+ Kg5 46. Rxc3 g1=Q+ 47. Rc1 Qe4+ 48. Rd3 Qxd3+ 49. Kb2 Qf2+ 50. Ka3 Qd6+
17
+ 51. b4 Qd3+ 52. Rc3 Qxc3+ 53. Ka4 Qxa2# 1/2-1/2
@@ -0,0 +1,17 @@
1
+ [Event ""]
2
+ [Site ""]
3
+ [Date ""]
4
+ [Round ""]
5
+ [White ""]
6
+ [Black ""]
7
+ [Result "1/2-1/2"]
8
+
9
+ 1. e4 c6 2. Nc3 Nf6 3. Nf3 d5 4. d3 Na6 5. Bf4 Nc5 6. Qe2 Bg4 7. O-O-O b5 8.
10
+ Kb1 a5 9. h4 b4 10. Qe3 e5 11. exd5 bxc3 12. Qxe5+ Be7 13. dxc6 cxb2 14. c7
11
+ Qd5 15. Qxb2 O-O 16. Be2 Na4 17. Qb3 Qxb3+ 18. axb3 Nc3+ 19. Kb2 Nxe2 20. Rde1
12
+ Nxf4 21. Rxe7 Nxg2 22. Nd4 Nf4 23. Rhe1 Rfe8 24. f3 Be6 25. Rxe8+ Rxe8 26.
13
+ Nxe6 Nxe6 27. b4 axb4 28. Kb3 Nxc7 29. Rxe8+ Ncxe8 30. Kxb4 Nd6 31. c4 Kf8 32.
14
+ d4 Ke7 33. d5 g6 34. Kc5 h6 35. f4 Nf5 36. Kc6 Nxh4 37. c5 Nf3 38. d6+ Ke6 39.
15
+ Kb5 h5 40. Kc4 h4 41. Kd3 h3 42. Ke3 h2 43. Kxf3 h1=Q+ 44. Kf2 Ne4+ 45. Ke3
16
+ Qe1+ 46. Kf3 Qc3+ 47. Ke2 Qxc5 48. f5+ Kxd6 49. fxg6 fxg6 50. Kd3 Ke5 51. Ke2
17
+ g5 52. Kf3 Qf2+ 53. Kg4 Qe2+ 54. Kh3 Qf3+ 55. Kh2 Qf2+ 56. Kh3 Qg3# 1/2-1/2
@@ -0,0 +1,15 @@
1
+ [Event ""]
2
+ [Site ""]
3
+ [Date ""]
4
+ [Round ""]
5
+ [White ""]
6
+ [Black ""]
7
+ [Result "1/2-1/2"]
8
+
9
+ 1. g3 c5 2. Bg2 g6 3. Nc3 Nc6 4. Nf3 Nf6 5. d4 d6 6. O-O Bf5 7. Bf4 Qb6 8. d5
10
+ Nb4 9. Rc1 Bg7 10. Qd2 O-O 11. e3 Ng4 12. e4 Bd7 13. Rfe1 c4 14. Be3 Nxe3 15.
11
+ Rxe3 Bf6 16. a3 Na6 17. e5 Bg7 18. exd6 exd6 19. Rb1 Nc5 20. Nd4 Rfe8 21. Bf3
12
+ Nd3 22. Ne6 Nxf2 23. Qxf2 fxe6 24. Rbe1 e5 25. Ne4 Rf8 26. Kh1 Kh8 27. Rf1 a5
13
+ 28. Qd2 Bh6 29. Rfe1 Rxf3 30. Rxf3 Bxd2 31. Nxd2 Qxb2 32. Nxc4 Qa2 33. Nxd6
14
+ Qxd5 34. Nf7+ Kg7 35. Nxe5 Rf8 36. c4 Qd2 37. Ref1 Bf5 38. Rf4 Be4+ 39. Nf3
15
+ Rxf4 40. gxf4 Qxf4 41. Rf2 Bxf3+ 42. Kg1 Qg5+ 43. Kf1 Qc1# 1/2-1/2
@@ -0,0 +1,20 @@
1
+ [Event ""]
2
+ [Site ""]
3
+ [Date ""]
4
+ [Round ""]
5
+ [White ""]
6
+ [Black ""]
7
+ [Result "1/2-1/2"]
8
+
9
+ 1. Nf3 d5 2. g3 Nf6 3. Nc3 Nc6 4. d4 Bf5 5. Bf4 e6 6. Bg2 Bd6 7. Ng5 O-O 8. h4
10
+ Qd7 9. h5 a5 10. h6 Bxf4 11. gxf4 Nb4 12. Rc1 g6 13. Rg1 Kh8 14. Qd2 Qd6 15.
11
+ Bf3 Nc6 16. a3 a4 17. Qe3 b6 18. Rg3 Qe7 19. Kf1 Qd6 20. Qd2 Qe7 21. e3 Qd6
12
+ 22. Re1 Qe7 23. Be2 Ne4 24. Ngxe4 Bxe4 25. Rg5 f6 26. Rg3 g5 27. Bc4 Bxc2 28.
13
+ Bxd5 exd5 29. Qxc2 Ra5 30. Nxd5 Rxd5 31. Qxc6 Ra5 32. d5 Rc5 33. Qe6 Qd6 34.
14
+ Rd1 Rc2 35. Rb1 Rd2 36. fxg5 fxg5 37. Qxd6 Rfxf2+ 38. Kg1 cxd6 39. Rxg5 Rxb2
15
+ 40. Rxb2 Rxb2 41. Rg7 Rc2 42. Kf1 b5 43. Ke1 Rh2 44. Rb7 Kg8 45. Rxb5 Rxh6 46.
16
+ Rb7 Rh2 47. e4 Rc2 48. Kd1 Rf2 49. Ke1 Rc2 50. Kf1 h5 51. Ke1 h4 52. Kf1 h3
17
+ 53. Ke1 h2 54. Rb8+ Kf7 55. Rb7+ Kf6 56. e5+ Kxe5 57. Re7+ Kxd5 58. Kd1 h1=Q+
18
+ 59. Kxc2 Qf3 60. Re1 Qb3+ 61. Kd2 Qxa3 62. Kc2 Qb3+ 63. Kd2 a3 64. Re7 a2 65.
19
+ Re1 Qb2+ 66. Kd3 Qd4+ 67. Ke2 a1=Q 68. Rxa1 Qxa1 69. Kf3 Qd4 70. Ke2 Qe4+ 71.
20
+ Kd2 Kc5 72. Kc3 d5 73. Kd2 d4 74. Kd1 d3 75. Kd2 Qe2+ 76. Kc3 Qc2# 1/2-1/2
@@ -0,0 +1,14 @@
1
+ [Event ""]
2
+ [Site ""]
3
+ [Date ""]
4
+ [Round ""]
5
+ [White ""]
6
+ [Black ""]
7
+ [Result "1/2-1/2"]
8
+
9
+ 1. d4 f5 2. Nf3 Nc6 3. Nc3 Nf6 4. Bf4 e6 5. Qd3 Bb4 6. O-O-O O-O 7. Kb1 d5 8.
10
+ h4 Bd7 9. h5 Ng4 10. Bg3 Bd6 11. Bxd6 cxd6 12. h6 Nxf2 13. Qb5 Nxh1 14. hxg7
11
+ Kxg7 15. Qxb7 Nf2 16. Rc1 Kh8 17. e3 Rb8 18. Qa6 Ne4 19. Qa3 Qc7 20. Bd3 Nb4
12
+ 21. Bxe4 fxe4 22. Ng5 Rf2 23. Rh1 Nxc2 24. Rxh7+ Kg8 25. Qa6 Qxc3 26. Rg7+
13
+ Kxg7 27. Nxe6+ Kh7 28. Ng5+ Kh8 29. Nf7+ Rxf7 30. b3 Rf1+ 31. Qxf1 Na3#
14
+ 1/2-1/2
@@ -0,0 +1,19 @@
1
+ [Event ""]
2
+ [Site ""]
3
+ [Date ""]
4
+ [Round ""]
5
+ [White ""]
6
+ [Black ""]
7
+ [Result "1/2-1/2"]
8
+
9
+ 1. d4 d6 2. Nf3 Nf6 3. Nc3 Nc6 4. Bf4 Bf5 5. e3 h6 6. Bc4 d5 7. Bd3 g6 8. O-O
10
+ e6 9. a4 Bd6 10. Re1 h5 11. a5 O-O 12. h3 Qd7 13. Qd2 a6 14. Bxf5 exf5 15. Qd3
11
+ Rfe8 16. Re2 Kg7 17. b3 Bxf4 18. exf4 Ne4 19. Ne5 Qd6 20. Ree1 h4 21. Ra4 Kg8
12
+ 22. Raa1 Kg7 23. Re3 Kg8 24. Re2 Kg7 25. Ree1 Kg8 26. Ra4 Kg7 27. Ra2 Qb4 28.
13
+ Nxc6 Qxc3 29. Qxc3 Nxc3 30. Rxe8 Rxe8 31. Nb4 Re1+ 32. Kh2 Nxa2 33. Nxa2 Re2
14
+ 34. Nc3 Rxf2 35. Kg1 Rxc2 36. Nxd5 f6 37. Kf1 Kf7 38. Ke1 Ke6 39. Kd1 Rxg2 40.
15
+ Nxc7+ Kd6 41. Ne8+ Kd5 42. Nxf6+ Kxd4 43. Ke1 Rc2 44. Kd1 Kd3 45. Nd5 Re2 46.
16
+ Nb4+ Ke3 47. Nc2+ Kf2 48. Nd4 Re8 49. Kd2 Kg3 50. Kd3 Kxf4 51. Kc4 g5 52. b4
17
+ g4 53. hxg4 fxg4 54. Kd5 h3 55. Kd6 h2 56. Kd7 h1=Q 57. Ne6+ Ke5 58. Kxe8 Qc6+
18
+ 59. Kf7 Qxe6+ 60. Kg7 g3 61. Kh8 Qh6+ 62. Kg8 g2 63. Kf7 Qe6+ 64. Kg7 g1=Q+
19
+ 65. Kh7 Qh3# 1/2-1/2
@@ -0,0 +1,16 @@
1
+ [Event ""]
2
+ [Site ""]
3
+ [Date ""]
4
+ [Round ""]
5
+ [White ""]
6
+ [Black ""]
7
+ [Result "1/2-1/2"]
8
+
9
+ 1. c4 Nf6 2. Nf3 Nc6 3. Nc3 d6 4. d4 Bf5 5. Bf4 h6 6. Nd5 Nxd5 7. cxd5 Na5 8.
10
+ Rc1 g5 9. Qa4+ c6 10. Bd2 b6 11. Bxa5 bxa5 12. Qxc6+ Bd7 13. Qb7 Bg7 14. e4
11
+ O-O 15. Bb5 Bg4 16. Rc4 Qb6 17. Bc6 Rac8 18. Qxe7 Bxf3 19. gxf3 Bxd4 20. O-O
12
+ Be5 21. Rb1 Rc7 22. Qxc7 Qxc7 23. Kg2 Qb6 24. b3 Rc8 25. Rbc1 h5 26. Bd7 Rd8
13
+ 27. Rc7 Bxh2 28. Kf1 Be5 29. Ke2 Qa6+ 30. R1c4 Rb8 31. Bf5 Bd4 32. Bd7 Kg7 33.
14
+ Bc8 Qb5 34. a3 h4 35. Kf1 a6 36. Ke2 Kg6 37. Bf5+ Kg7 38. Bc8 Kg8 39. Bf5 Re8
15
+ 40. Kf1 Kg7 41. Be6 Rf8 42. Bf5 Rh8 43. Ke2 h3 44. Kf1 h2 45. Rxf7+ Kxf7 46.
16
+ Be6+ Ke7 47. Ke2 h1=Q 48. Bf5 Rh2 49. Bg4 Rxf2+ 50. Kd3 Qd1# 1/2-1/2
@@ -0,0 +1,14 @@
1
+ [Event ""]
2
+ [Site ""]
3
+ [Date ""]
4
+ [Round ""]
5
+ [White ""]
6
+ [Black ""]
7
+ [Result "1/2-1/2"]
8
+
9
+ 1. Nf3 f5 2. d4 Nf6 3. Nc3 Nc6 4. Bf4 e6 5. Qd3 Bb4 6. O-O-O O-O 7. Kb1 d5 8.
10
+ h4 Bd7 9. h5 Ng4 10. Bg3 Bd6 11. Bxd6 cxd6 12. h6 Nxf2 13. Qb5 Nxh1 14. hxg7
11
+ Kxg7 15. Qxb7 Nf2 16. Rc1 Kh8 17. e3 Rb8 18. Qa6 Ne4 19. Qa3 Qc7 20. Bd3 Nb4
12
+ 21. Bxe4 fxe4 22. Ng5 Rf2 23. Rh1 Nxc2 24. Rxh7+ Kg8 25. Qa6 Qxc3 26. Rg7+
13
+ Kxg7 27. Nxe6+ Kh7 28. Ng5+ Kh8 29. Nf7+ Rxf7 30. b3 Rf1+ 31. Qxf1 Na3#
14
+ 1/2-1/2
@@ -0,0 +1,20 @@
1
+ [Event ""]
2
+ [Site ""]
3
+ [Date ""]
4
+ [Round ""]
5
+ [White ""]
6
+ [Black ""]
7
+ [Result "1/2-1/2"]
8
+
9
+ 1. Nf3 Nf6 2. g3 Nc6 3. Nc3 d5 4. d4 Bf5 5. Bf4 e6 6. Bg2 Bd6 7. Ng5 O-O 8. h4
10
+ Qd7 9. h5 a5 10. h6 Bxf4 11. gxf4 Nb4 12. Rc1 g6 13. Rg1 Kh8 14. Qd2 Qd6 15.
11
+ Bf3 Nc6 16. a3 a4 17. Qe3 b6 18. Rg3 Qe7 19. Kf1 Qd6 20. Qd2 Qe7 21. e3 Qd6
12
+ 22. Re1 Qe7 23. Be2 Ne4 24. Ngxe4 Bxe4 25. Rg5 f6 26. Rg3 g5 27. Bc4 Bxc2 28.
13
+ Bxd5 exd5 29. Qxc2 Ra5 30. Nxd5 Rxd5 31. Qxc6 Ra5 32. d5 Rc5 33. Qe6 Qd6 34.
14
+ Rd1 Rc2 35. Rb1 Rd2 36. fxg5 fxg5 37. Qxd6 Rfxf2+ 38. Kg1 cxd6 39. Rxg5 Rxb2
15
+ 40. Rxb2 Rxb2 41. Rg7 Rc2 42. Kf1 b5 43. Ke1 Rh2 44. Rb7 Kg8 45. Rxb5 Rxh6 46.
16
+ Rb7 Rh2 47. e4 Rc2 48. Kd1 Rf2 49. Ke1 Rc2 50. Kf1 h5 51. Ke1 h4 52. Kf1 h3
17
+ 53. Ke1 h2 54. Rb8+ Kf7 55. Rb7+ Kf6 56. e5+ Kxe5 57. Re7+ Kxd5 58. Kd1 h1=Q+
18
+ 59. Kxc2 Qf3 60. Re1 Qb3+ 61. Kd2 Qxa3 62. Kc2 Qb3+ 63. Kd2 a3 64. Re7 a2 65.
19
+ Re1 Qb2+ 66. Kd3 Qd4+ 67. Ke2 a1=Q 68. Rxa1 Qxa1 69. Kf3 Qd4 70. Ke2 Qe4+ 71.
20
+ Kd2 Kc5 72. Kc3 d5 73. Kd2 d4 74. Kd1 d3 75. Kd2 Qe2+ 76. Kc3 Qc2# 1/2-1/2