Check out Janggi (Korean Chess), our featured variant for December, 2024.


[ Help | Earliest Comments | Latest Comments ]
[ List All Subjects of Discussion | Create New Subject of Discussion ]
[ List Earliest Comments Only For Pages | Games | Rated Pages | Rated Games | Subjects of Discussion ]

Single Comment

Omega Chess. This preset for Omega Chess enforces the rules and spots check, checkmate, and stalemate.[All Comments] [Add Comment or Rating]
H. G. Muller wrote on Mon, Feb 5 04:38 PM UTC in reply to Kevin Pacey from 12:37 AM:

You hit on a major bug in the PTA here. The GAME code generated by the PTA, for efficiency reasons, tries to perform all moves of the game except the last as the game notation specifies them, without any computation. Based on the idea that these moves were already checked for legality earlier, when these were the last move so far. But this does not work for moves with implied side effects, such as castling, e.p. capture and creating e.p. rights. So these moves are considered special, and a computation for them is done even when they are not last, to determine their side effect (like moving a Rook, or removing a Pawn).

The problem was that the Play-Test Applet, when generating GAME code, did not group the ifmW* initial push of the Omega (or Wildebeest) Pawn with these special moves. So their side effect of creating e.p. rights was computed only when they were the last move so far (enabling the highlighting of the e.p. capture in the move to come), but when the e.p. capture was actually played, that became the last move, and the e.p. rights the multi-push should generate were no longer computed, making the e.p. capture illegal.

I now fixed the PTA to also group the W* moves with the special moves. If you want to fix your preset, it might be easier to just modify the code you pasted in the Pre-Game section. Near the end this says:

def P cond #0 1 21;
def p cond #0 32 52;

The 21 here should have been 16, the 52 should have been 47. If you make these changes e.p. capture should work in the preset. I would have done it myself, but it appears that even editors cannot modify other people's presets.