WinBoard, exotic version

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

Vinvin
Posts: 5228
Joined: Thu Mar 09, 2006 9:40 am
Full name: Vincent Lejeune

Re: WinBoard, exotic version

Post by Vinvin »

Yes, there's diagonal flips ! :wink:

Image
hgm wrote:There are no diagonal flips in Reversi, are there? :shock:
User avatar
hgm
Posts: 27787
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: WinBoard, exotic version

Post by hgm »

OK, so I added them. :oops:

http://hgm.nubati.net/WinBoard-4.5.beta.zip (untested!)

Perhaps I should make it dependent then on the piece type you play it with: play standard Reversi with Queens, but perform only orthogonal captures on Rook drops, or diagonal captures on Bishop drops? :idea:
Daniel Shawul
Posts: 4185
Joined: Tue Mar 14, 2006 11:34 am
Location: Ethiopia

Re: WinBoard, exotic version

Post by Daniel Shawul »

Unfortunately it crashed on the second move.
Queen,rook type flips is a simple yet good idea! I suppose you know of a reversi variant with only rook type flips ?

You really should say something about the "pass" moves :) We have ignored them them for long and may be serious trouble. How is it going to be done on the GUI too, a pass button or key combination.
User avatar
hgm
Posts: 27787
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: WinBoard, exotic version

Post by hgm »

Ah, OK. I guess "pass" is a good idea. Entry perhaps through clicking on the clock? This has now the function of claiming the flag, but this is not really contradictory. In stead of the errormessage "your opponent is not out of time", I could make it a null-move entry in Go, Reversi and variant alien. I suppose you never want to null move when the opponent is out of time...
Daniel Shawul
Posts: 4185
Joined: Tue Mar 14, 2006 11:34 am
Location: Ethiopia

Re: WinBoard, exotic version

Post by Daniel Shawul »

But bear in mind that unless it is two consecutive passes, the game will continue forever. It is a legal move that can be played anytime during the game like " a4 pass i9 pass g8 pass ". Also please look into the '-' to ',' change as I think that has introduced problems with multi moves and queening in checkers.
User avatar
hgm
Posts: 27787
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: WinBoard, exotic version

Post by hgm »

Do you mean if the user wants to enter it with the mouse? I noticed the use of the control key was broken in the previous version. No idea what was the problem, but is should work now. Even on promotions.

Did not work on the pass move yet.
Daniel Shawul
Posts: 4185
Joined: Tue Mar 14, 2006 11:34 am
Location: Ethiopia

Re: WinBoard, exotic version

Post by Daniel Shawul »

The multi-moves are no more sent properly, only the first move is sent. It seems the new delimitter comma has introduced problems. Also pawns are not properly promoted. First the newly promoted king is not visible then when the engine tries to move the king, it is rejected. Who woulda thought hyphen to comma change would bring all these problems :?

Edit : I downloaded again and it seems it can make multi-moves properly , or the problem is non determinstic :? But the promotion problem is still there as describedl.
User avatar
hgm
Posts: 27787
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: WinBoard, exotic version

Post by hgm »

When I enter a multi-move as user it is sent to the engine without problems: move f2g3,g3h4 (which is then rejected by the version of Nebiyu I have, of course).

In an engine-engine game I do not seem to have problems. A multi-move (18) was made in the following game (ending in promotion):

Code: Select all

[Event "Computer Chess Game"]
[Site "CHESS_LAPTOP"]
[Date "2011.01.18"]
[Round "-"]
[White "Nebiyu_10:03:39"]
[Black "Nebiyu_10:03:39"]
[Result "0-1"]
[TimeControl "40/60"]
[Variant "checkers"]
[FEN "1p1p1p1p/p1p1p1p1/1p1p1p1p/8/8/P1P1P1P1/1P1P1P1P/P1P1P1P1 w - - 0 1"]
[SetUp "1"]

{--------------
. p . p . p . p
p . p . p . p .
. p . p . p . p
. . . . . . . .
. . . . . . . .
P . P . P . P .
. P . P . P . P
P . P . P . P .
white to play
--------------}
1. g3h4 {+0.00/14} b6a5 {+0.00/16 1.3} 2. e3f4 {+0.00/16 1.2} f6e5
{+0.00/16 1.4} 3. f2e3 {+0.00/15 1.3} e5g3 4. h2f4 d6e5 {-0.30/15 1.5} 5.
f4d6 c7e5 {+0.00/16 1.2} 6. e3d4 {+0.00/16 1.3} e7d6 {+0.00/15 1.2} 7. d4f6
g7e5 8. c3d4 {-0.30/18 1.6} e5c3 9. d2b4 {+0.00/18 1.4} a5c3 10. b2d4 b8c7
{-0.30/17 1.5} 11. e1f2 {+0.30/18 1.6} c7b6 {-0.30/18 1.4} 12. c1d2
{+0.30/18 1.4} b6a5 {-0.30/17 1.6} 13. g1h2 {+0.30/18 1.2} h8g7
{+0.15/18 1.4} 14. h2g3 {+0.00/19 1.6} g7f6 {-0.46/20 1.6} 15. g3f4
{-0.16/20 1.3} d8e7 {+0.75/20 1.2} 16. d2c3 {-0.85/22 2.2} a5b4
{+0.81/21 1.3} 17. c3a5 {-1.04/24 1.4} d6e5 {+1.05/23 1.6} 18. f4d6
e7c5,c5e3,e3g1=Q 19. a3b4 {-2.75/23 1.3} Qf2 {+2.75/22 1.7} 20. a1b2
{-3.03/25 1.5} Qe3 {+2.99/23 1.6} 21. b2a3 {-3.16/25 1.3} Qd4
{+3.16/24 1.8} 22. b4c5 {-4.61/26 4} Qb6 23. a5c7 f8e7 {+0.89/27 1.8} 24.
a3b4 {-0.74/27 1.4} h6g5 {+0.72/29 1.7} 25. c7b8=Q {-0.78/29 1.6} g5f4
{+0.91/29 1.7} 26. Qc7 {-1.00/27 1.4} f4g3 {+0.95/27 1.5} 27. b4c5
{-0.65/28 1.4} g3f2 {+0.63/28 1.8} 28. Qb8 {-1.04/28 1.6} f2e1=Q
{+0.63/28 1.5} 29. Qc7 {-1.00/26 1.5} Qf2 {+1.03/28 4} 30. Qd8
{-1.22/26 1.6} Qe3 {+1.19/28 1.5} 31. Qc7 {-1.36/25 1.8} Qd4 {+1.28/26 1.5}
32. Qd6 {-1.36/27 1.9} Qb6 33. Qf8 f6e5 {+1.36/25 1.6} 34. h4g5
{-1.65/26 1.9} Qc7 {+1.51/25 1.6} 35. Qg7 {-1.70/28 2.3} e5f4
{+1.69/26 2.0} 36. g5h6 {-1.67/28 2.2} a7b6 {+1.69/27 1.8} 37. Qf6
{-1.81/26 1.9} f4g3 {+1.77/27 2.3} 38. Qe5 {-3.05/29 3} b6c5 {+1.89/26 2.1}
39. h6g7 {-1.75/24 2.0} c5b4 {+3.12/27 2.2} 40. Qd4 {-3.22/28 2.3} b4a3
{+3.30/28 3} 41. Qc3 {-3.24/26 1.5} g3h2 {+3.30/26 1.4} 42. g7h8=Q
{-3.32/24 1.4} Qd6 {+3.42/26 1.1} 43. Qb4 {-3.35/23 1.5} Qe5 {+3.43/24 1.3}
44. Qg7 {-3.44/23 1.5} a3b2 {+3.46/23 1.1} 45. Qh6 {-3.51/23 1.5} Qf6
{+3.51/24 1.5} 46. Qc5 {-3.66/27 1.2} h2g1=Q {+3.53/25 1.3} 47. Qb6
{-3.63/26 1.4} b2a1=Q {+3.58/23 1.3} 48. Qc5 {-3.66/23 1.1} Qab2
{+3.64/25 1.1} 49. Qb6 {-3.63/26 1.5} Qgf2 {+3.63/25 1.4} 50. Qc5
{-3.74/25 1.4} Qa3 {+3.65/25 1.2} 51. Qb6 {-3.63/26 1.3} Qb4 {+3.66/24 1.2}
52. Qc7 {-3.66/27 1.5} Qe3 {+3.65/23 1.2} 53. Qb6 {-10.67/28 1.3} Qed4
{+7.19/23 1.2} 54. Qc7 {-7.35/26 1.2} Qbc5 {+10.83/27 1.2} 55. Qb8
{-10.87/29 1.2} Qcb6 {+10.87/28 1.2} 56. Qa7 {-10.87/30 1.2} Qdc5
{+10.90/27 1.5}
{White resigns} 0-1
User avatar
hgm
Posts: 27787
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: WinBoard, exotic version

Post by hgm »

Daniel Shawul wrote:Also pawns are not properly promoted. First the newly promoted king is not visible then when the engine tries to move the king, it is rejected.
You mean in earlier legs of a multi-move? In the game above there were several promotions, and no problems. Can you do that in checkers? Promote 'on the fly', I mean? Does the piece stay a Pawn when it reaches last rank? The engine is resposible for picing the piece. What exactly do you send? Can you make a debug file, and post the part just before the engine sends the "Illegal move" message to reject amulti-move?
Daniel Shawul
Posts: 4185
Joined: Tue Mar 14, 2006 11:34 am
Location: Ethiopia

Re: WinBoard, exotic version

Post by Daniel Shawul »

Never mind. The setup (P.....p....) was like that for checkers too. I wanted to test automatic drops for reversi and go and I had that for checkers too which was causing all the problems. It can also make even triple captures. Sorry it is completely my fault. Now I have this inside code so it never happens again

Code: Select all

#if defined CHESS
			print("setup (PNBRQKpnbrqk) %s\n",start_fen);
#elif defined CHECKERS
			print("setup (P...Q.p...q.) %s\n",start_fen);
#else
			print("setup (P.....p.....) %s\n",start_fen);
#endif
Game

Code: Select all

1. a3b4 {+0.00/22} b6a5 {+0.15/23} 2. b2a3 {+0.00/24} a7b6 {+0.00/24} 3. a1b2 {-0.15/25} f6e5 {+0.15/25} 4. g3f4 {-0.15/27} e5g3 5. h2f4 {-0.60/26} b6c5 {+0.60/26} 6. e3d4 {-0.45/28} c5e3 7. f2d4 d6e5 {+0.45/26} 8. f4d6 {-0.30/27} c7e5 {+0.30/26} 9. d4f6 g7e5 {+0.60/25} 10. d2e3 {-0.60/25} h8g7 {+0.45/25} 11. b4c5 {-0.45/23} b8a7 {+0.15/25} 12. e1d2 {-0.25/27} e5d4 {+0.25/29} 13. c3e5 e7d6 {-0.10/30} 14. e5c7 {-0.05/33} d8b6,b6d4,d4f2 15. g1e3 f8e7 {+0.20/30} 16. b2c3 {+0.10/30} g7f6 {-0.10/31} 17. e3d4 {+0.30/31} f6g5 {-0.10/28} 18. d4e5 {+0.15/29} g5h4 {-0.25/29} 19. a3b4 {+0.10/28} h4g3 {-0.30/28} 20. b4c5 {-0.05/26} g3f2 {-0.30/28} 21. d2e3 {+0.20/26} f2e1=Q {-0.25/27} 22. e3d4 {+0.25/26} Qf2 {-0.20/24} 23. c1d2 {-0.95/25} Qe1 {+0.30/29} 24. e5d6 {-0.75/29} e7f6 {+0.65/30} 25. d6c7 {-0.85/29} a5b4 {+0.75/30} 26. c3a5 Qc3,Qe5 27. c5d6 {-1.00/30} Qd4 {+0.95/31} 28. c7d8=Q {-1.30/32} Qc3 {+1.00/31} 29. d6c7 {-1.15/31} Qb4 {+0.85/32} 30. c7b8=Q {-1.15/33} f6e5 {+1.25/31} 31. Qe7 {-1.00/33} e5d4 {+1.15/31} 32. Qf6 {-1.05/32} d4c3 {+1.20/30} 33. Qc7 {-1.00/31} Qc5 {+0.95/28} 34. Qfe7 {-1.05/31} h6g5 {+1.25/31} 35. Qcd6 {-1.30/32} Qb4 {+1.15/31} 36. Qef6 {-1.25/28} g5f4 {+1.30/31} 37. Qfe5 {-1.35/31} f4g3 {+1.30/32} 38. Qed4 {-1.40/31} Qa3 {+1.45/35} 39. Qd4b2 Qc1 40. Qc5 {-1.45/42} Qd2 {+1.45/42} 41. a5b6 {-1.45/40} Qe3 {+1.45/41} 42. b6c7 {-1.45/38} Qf4 {+1.45/38} 43. c7d8=Q {-1.45/38} g3h2 {+1.45/38} 44. Qde7 {-1.45/38} Qe5 {+1.45/41} 45. Qd8 {-1.45/40} h2g1=Q {+1.45/44} 46. Qdc7 {-1.45/43} Qf2 {+1.45/44} 47. Qd8 {-1.45/41} Qfe3 {+1.45/44} 48. Qdc7 {-1.75/42} Q3f4 {+1.95/40} 49. Qd8 {-1.75/40} Qef6 {+1.85/34} 50. Qdc7 {-1.85/38} Q4g5 {+1.85/38} 51. Q7d6 {-1.85/37} Qfg7 {+1.85/39} 52. Qdc7 {-1.85/35} Q5f6 {+2.15/38} 53. Q7d6 {-1.95/36} Qgh6 {+1.85/37} 54. Qcd4 {-1.90/33} a7b6 {+2.25/36} 55. Qc3 {-1.95/35} Qhg7 {+2.15/35} 56. Qcd4 {-2.15/34} b6a5 {+2.25/35} 57. Qe3 {-2.15/34} Qgf8 {+2.35/36} 58. Qed2 {-2.45/34} Q6e7 {+2.35/34} 59. Qc7 {-2.35/37} a5b4 {+2.35/38} 60. Qb6 {-2.35/40} Qd6 {+2.35/40} 61. Qa5 {-2.35/39} b4a3 {+2.35/41} 62. Qc1 {-2.45/38} Qfe7 {+2.45/39} 63. Qb4 {-2.35/38} Qed8 {+2.45/38} 64. Qbc3 {-2.35/38} Q6e7 {+2.35/36} 65. Qd4 {-2.55/37} Qf6 {+2.35/37} 66. Qdc5 {-2.55/36} Qe5 {+2.55/39} 67. Qb6 {-3.40/39} Qed6 {+2.55/33} 68. Qa5 {-3.60/42} Qe5 {+2.35/35} 69. Qb6 {-3.60/39} Qde7 {+2.35/39} 70. Qa7 {-3.70/38} Q7d6 {+3.50/43} 71. Qb6 {-3.90/40} Qed4 {+3.70/42} 72. Qa5 {-3.90/41} Qc3 {+3.80/41} 73. Qb6 {-4.00/42} Qcd4 {+3.80/40} 74. Qa7 {-4.00/40} Qc7 {+4.20/41} 75. Qb8 {-4.20/39} Qcb6 {+4.20/38} 76. Qd2 {-4.20/38} Qa5 {+4.20/36} 77. Qc1 {-4.30/41} Qab6 {+4.20/40} 78. Qd2 {-4.30/38} Qdc5 {+4.20/40} 79. Qa7 {-4.30/38} Qcb4 {+99.68/49} 80. Qa7c5 Qd6 81. Qe3 {-99.71/64} Qe5 {+99.72/64} 82. Qf2 {-99.73/64} a3b2 {+99.74/64} 83. Qe3 {-99.75/64} b2c1=Q {+99.76/64} 84. Qf2 {-99.77/64} Qd2 {+99.78/64} 85. Qg3 {-99.79/64} Qde3 {+99.80/64} 86. Qh2 {-99.81/64} Q3f4 {+99.82/64} 87. Qg1 {-99.83/64} Qg3 {+99.84/64} 88. Qh2 {-99.85/64} Qef4 {+99.86/64} 89. Qg1 Qh2 {+99.88/64} 90. Qf2 Qg1 {+99.90/64} 91. Qe1 {-99.91/64} Qe5 {+99.92/64} 92. Qd2 {-99.93/64} Qed4 {+99.94/64} 93. Qc1 {-99.95/64} Qc3 {+99.96/64} 94. Qb2 {-99.97/64} Qc3a1#