The only other WinBoard engines I am aware of that can play variant xiangqi are HoiXiangqi and TJxiangqi; MaxQi has little difficulty beating Hoi, and seems somewhat weaker than TJ. None of the programs seems to do a good job in implementing the complicated repetition rules of Xiangqi, and WinBoard is also no good as a referee on this. In MaxQi I take a minimalistic approach, scoring any repetition of game position as -500 (on the scale Rook = 900), and ignoring tree positions. (This is similar to wht mcro-Max does, except that in Chess the repeats are of course scored as a draw.) The idea was that this makes the repetition only attractive if you are more than 500 cP behind, which means the game would likely be lost anyway. So forfeiting on a forbidden repeat would not hurt so much, and who knows, perhaps you re in luck, and the repeat is allowed, so you will be awarded a draw.
The following game between MaxiQi and TJxiangqi shows that this can nevertheless backfire: TJxiangqi is "stretching the rules" by doing something tht comes close to giving perpetual check (which is forbidden), but to avoid the repeat in the check evasion MaxQi then sacrifices a Cannon! (99. Ch1)
Code: Select all
[Event "Computer Chess Game"]
[Site "CHESS_LAPTOP"]
[Date "2009.02.06"]
[Round "-"]
[White "MaxQi 4.8F"]
[Black "TJxiangqi 0.02"]
[Result "1-0"]
[TimeControl "40/60"]
[Variant "xiangqi"]
[Annotator "1. +0.31 1... +0.20"]
1. Ege2 {+0.31/5 0.9} Cxh0+ {+0.20/7 0.8} 2. Rxh0 {+0.01/7 0.8} Ci7
{-0.20/8 0.9} 3. Ci2 {-0.07/7 0.8} Cxi3 {-0.50/7 0.7} 4. Rh3 {-0.10/6 1.1}
Ci5 {-1.41/8 1.5} 5. Rh6 {+0.12/7 0.7} Ece7 {-1.32/9 3} 6. Rxg6
{+0.90/6 1.6} Hd8 {-1.32/9 6} 7. Hc2 {+1.07/6 1.4} Ci3 {-0.70/7 0.9} 8. Cb6
{+0.85/6 0.8} i5 {-1.10/9 2.4} 9. Rg8 {+0.94/7 1.8} Ade8 {-1.00/8 1.2} 10.
Rh8 {+0.95/6 0.8} Rb9 {-1.29/8 3} 11. Rb0 {+0.97/6 0.9} e5 {-1.70/7 1.0}
12. Eg4 {+1.02/6 2.4} i4 {-1.60/7 1.0} 13. He1 {+1.24/6 1.5} Cxe3+
{-1.81/8 0.9} 14. Hc2 {+2.20/7 1.6} ih4 {-2.90/9 1.3} 15. Hxe3
{+3.58/8 1.4} e4 {-2.91/9 2.0} 16. Hc2 {+3.70/7 0.9} hxg4 {-2.90/8 0.8} 17.
Ch2 {+3.92/7 1.2} gxg3 {-2.96/8 0.9} 18. Ee2 {+3.96/6 0.8} gf3
{-2.87/7 1.0} 19. Cxh9 {+3.87/7 1.5} Ri2 {-2.04/8 1.3} 20. He1
{+3.84/6 0.7} Rxe2 {-1.06/7 0.3} 21. c4 {+2.45/6 0.8} Rb8 {-0.90/6 0.2} 22.
a4 {+2.43/6 1.2} ed4 {-0.86/6 0.2} 23. Rh4 {+2.32/7 0.9} He6 {-0.86/6 0.2}
24. Rg4 {+2.41/6 2.6} Rd8 {-0.76/6 0.3} 25. Cxe6 {+4.17/7 0.8} Rxe6
{-2.49/7 0.2} 26. Rb9+ {+4.19/8 1.0} Rd9 {-2.56/9 0.3} 27. Rxd9+
{+4.20/10 1.0} Kxd9 {-2.49/10 0.4} 28. Rxd4+ {+4.39/8 0.7} Ke9
{-2.49/9 0.2} 29. Ch4 {+4.20/8 0.8} Re2 {-2.49/8 0.3} 30. Rf4 {+4.23/9 5}
fe3 {-2.49/9 1.9} 31. Rd4 {+4.20/7 0.7} ef3 {-2.49/8 0.5} 32. Rg4
{+4.20/8 0.7} Re5 {-2.45/9 1.1} 33. Rd4 {+4.20/9 4} Re3 {-2.49/9 0.8} 34.
Ch9 {+4.23/7 0.6} f2 {-2.30/10 1.4} 35. Rf4 {+4.08/9 0.8} fe2
{-2.30/10 1.2} 36. Hg0 {+3.99/8 0.6} Rh3 {-2.30/10 2.7} 37. Ci9
{+4.19/9 0.9} Rh0 {-2.40/9 2.0} 38. Rg4 {+4.27/8 0.9} ed2 {-2.50/8 1.5} 39.
Rg6 {+4.49/7 0.8} d1 {-2.40/8 0.3} 40. Afe1 {+4.10/8 1.2} dxd0+
{-2.32/7 0.1} 41. Axd0 {+4.28/10 1.1} Rh4 {-3.26/9 1.7} 42. Rxc6
{+4.43/11 1.7} Ri4 {-2.90/12 3} 43. Ch9 {+3.55/11 0.8} Rg4 {-2.47/12 2.4}
44. Hf2 {+4.47/11 1.2} Rh4 {-3.24/12 3} 45. Ch6 {+4.26/11 0.8} Rh0+
{-3.32/11 1.3} 46. Ke1 {+4.22/10 0.8} Rxd0 {-2.60/11 3} 47. Cxa6
{+4.16/9 0.9} Rd5 {-2.60/10 2.7} 48. Ke2 {+4.17/9 0.9} Re5+ {-2.32/10 1.4}
49. He4 {-0.33/12 1.1} Rxe4+ {+1.72/11 2.5} 50. Kd2 {-0.44/13 0.9} Rd4+
{+1.72/10 1.5} 51. Ke2 {-0.45/13 0.9} Re4+ {+1.42/10 1.4} 52. Kf2
{-0.47/12 1.0} Rf4+ {+1.52/9 0.8} 53. Ke2 {-0.38/11 1.0} Rg4 {+0.87/9 0.2}
54. Ca9 {-0.40/12 2.0} Re4+ {+0.00/9 0.3} 55. Kd2 {-0.40/13 0.9} Rd4+
{+0.00/10 0.4} 56. Ke2 {+0.43/12 1.7} Kd9 {+0.00/11 1.3} 57. a5
{+0.47/13 1.3} Re4+ {+0.00/8 0.2} 58. Kf2 {+0.48/12 1.0} Rf4+ {+0.00/9 0.4}
59. Ke2 {+0.52/12 1.1} Rf5 {+0.00/10 0.4} 60. Rc9+ {+0.49/13 1.0} Kd8
{+0.00/4 0.1} 61. Rc8+ {+0.52/13 1.3} Kd9 {+0.00/11 0.2} 62. a6
{+0.47/12 2.1} Re5+ {+0.00/9 0.2} 63. Kf2 {-4.99/22 1.2} Re6 {+0.00/11 0.6}
64. a7 {+0.47/11 1.0} Rf6+ {+0.00/9 0.5} 65. Ke2 {-4.99/23 1.1} Rf5
{+0.00/11 0.7} 66. ab7 {+0.51/12 1.3} Re5+ {+0.00/10 1.1} 67. Kf2
{-4.99/20 1.1} Rb5 {+0.00/11 0.5} 68. bc7 {+0.47/13 3} Ke9 {+0.57/10 1.0}
69. Rc9+ {+0.50/14 1.3} Ad9 {+0.57/4 0.1} 70. Rc8+ {+0.54/13 2.1} Ec9
{+0.52/12 2.8} 71. Rf8 {+0.50/12 5} Ae8 {-1.42/11 5} 72. c8 {+0.44/11 1.3}
Rb2+ {-1.42/12 1.3} 73. Kf1 {+0.43/11 0.9} Rb1+ {-1.60/13 4} 74. Kf2
{+0.47/13 1.3} Ra1 {-1.60/12 0.4} 75. Cb9 {+0.46/12 1.9} Ra2+
{-2.47/11 1.5} 76. Kf1 {+0.43/17 1.5} Rb2 {-3.47/12 2.4} 77. cxc9
{+1.99/14 1.0} Rb1+ {-3.52/11 1.7} 78. Kf0 {+1.99/13 1.0} Rb0+
{-3.50/9 0.4} 79. Kf1 {+2.97/12 4} Rb6 {-3.50/11 2.5} 80. cxd9+
{+3.69/11 1.4} Kxd9 {-3.50/4 0.1} 81. Cxg9 {+3.66/11 1.2} Rb1+ {-4.52/11 5}
82. Kf2 {+3.67/12 0.8} Rb2+ {-4.52/10 1.8} 83. Kf1 {+3.58/13 1.3} Rg2
{-4.55/12 2.6} 84. Cg8 {+3.60/12 0.9} Rg1+ {-4.55/12 1.8} 85. Kf0
{+3.59/15 1.0} Rg0+ {-4.55/12 6} 86. Kf1 {+4.61/14 15} Ad7 {-4.55/13 1.9}
87. c5 {+4.54/10 0.8} Rg1+ {-4.55/12 2.9} 88. Kf2 {+4.52/11 0.8} Rg2+
{-4.55/12 1.5} 89. Kf1 {+4.44/12 1.8} Ke9 {-4.55/13 3} 90. Ch8 {+4.50/11 3}
Rg1+ {-4.55/12 2.8} 91. Kf0 {+4.41/13 0.9} Ri1 {-4.55/11 1.6} 92. Rf9+
{+4.55/9 1.4} Ke8 {-4.55/4 0.1} 93. Rf8+ {+4.99/10 1.4} Ke9 {-4.55/12 1.2}
94. c6 {+4.53/10 2.9} Ri0+ {-4.55/12 2.3} 95. Kf1 {+4.57/11 0.8} Ri1+
{-4.55/12 3} 96. Kf2 {+4.52/11 0.7} Ri2+ {-4.55/12 1.4} 97. Kf1
{+4.45/10 0.6} Ri1+ {-4.55/12 1.0} 98. Ch1 {-0.10/13 1.0} Rxh1+
{+0.00/13 1.5} 99. Kf2 {-0.11/14 1.3} Rh9 {+0.00/13 0.6} 100. cd6
{-0.13/12 0.8} Rh2+ {+0.00/13 0.7} 101. Kf1 {-0.14/15 0.9} Rh1+
{+0.00/14 1.3} 102. Kf2 {-0.08/14 0.8} Rh0 {+0.00/14 0.4} 103. Rf9+
{-0.11/14 1.4} Ke8 {+0.00/4 0.1} 104. Rf8+ {+4.99/14 1.1} Ke9
{+0.00/15 0.5} 105. Kf1 {-0.15/13 0.7} Rh1+ {+0.00/14 1.1} 106. Kf0
{-4.99/17 1.0} Rh0+ {+0.00/13 2.2} 107. Kf1 {-5.00/28 0.2} Ae8
{-2.05/15 1.3} 108. Ri8 {-0.10/11 1.4} Rh1+ {+0.00/9 0.3} 109. Kf2
{-0.09/11 0.9} Rh2+ {+0.00/11 0.4} 110. Kf1 {-0.16/12 1.9} Ad9
{+0.00/13 0.8} 111. Ri9+ {-0.04/12 0.9} Ke8 {+0.00/14 0.6} 112. Rxd9
{+0.02/13 1.2} Rh1+ {+0.00/12 0.6} 113. Kf0 {+0.01/14 0.9} Rh0+
{+0.00/13 0.5} 114. Kf1 {+0.08/15 1.3} Rh6 {+0.00/14 0.5} 115. Rf9
{+0.01/15 1.3} Rxd6 {+0.00/15 0.7} 116. Kf2 {+0.01/15 1.2} Rd2+
{+0.00/18 0.6} 117. Kf1 {-0.07/14 0.8} Rd1+ {+0.00/19 0.7} 118. Kf2
{+0.05/15 0.9} Rd0 {+0.00/19 1.1} 119. Rf8+ {-0.01/15 0.9} Ke9
{+0.00/20 0.9} 120. Rf9+ {+4.99/19 1.0} Ke8 {+0.00/4 0.1} 121. Kf1
{-0.07/14 0.9} Rd1+ {+0.00/20 1.3} 122. Kf0 {-4.99/18 1.0} Rd2
{+0.00/21 1.6} 123. Rf8+ {+0.04/15 2.6} Ke9 {+0.00/22 3} 124. Rf9+
{+4.99/18 0.8} Ke8 {+0.00/4 0.1} 125. Rf7 {+0.00/14 1.0} Rd0+ {+0.00/24 3}
126. Kf1 {+0.09/14 1.1} Rd1+ {+0.00/24 4} 127. Kf0 {-0.09/14 0.9} Rd0+
{+0.00/20 0.6} 128. Kf1 {-5.00/28 0.2} Rd1+ {+0.00/24 2.2} 129. Kf2
{-4.99/17 0.9} Rd2+ {+0.00/24 1.8} 130. Kf1 {-0.07/14 1.1} Rd1+
{-190.00/24 1.8}
{Perpetual check by Black} 1-0
TJxiangqi does himself in by voluntarily persisting in a forbidden perpetual in a dead-draw situation, and then declares the game lost for himself as aa result of it!


