I've made a small program that takes a list of moves in ICCF notation and translates them to the following:
- SAN
- FAN
- LAN
- MAN
- RAN
- CRAN
- Smith
- Descriptive
- Coordinate
- ICCF
For example, a starting move of 2133
(Nc3
in SAN):
SAN FAN LAN MAN RAN CRAN Smith Descriptive Coord ICCF Comments
Nc3 ♘c3 Nb1-c3 Nc3 Nb1-c3 Nc3 b1c3 QN1N-QB3 B1-C3 2133
Unfortunately, I'm having some difficulty understanding a few of the rules of the various notation formats (especially Descriptive - as you can see, it doesn't currently omit the unambiguous ranks/files because I haven't implemented the check for unambiguous destination ranks/files yet... so it's possibly a bit too descriptive). For example, checks (e.g. +
) are added to the end of a move, but promotions (e.g. Q
) are also added to the end of a move. What if both happen at the same time? For that particular situation, I'm pretty sure the check is listed after the promotion indicator, but I'm even more sure that there are other situations I'm not even thinking of.
What I'm hoping for (and haven't been able to find with a few Google searches, as I don't even know what search terms would produce it if it existed) is a sample game with moves that create these uncommon notations, so that I can input them into my program as a kind of test suite, see what it produces, and check the results. Alternatively, a simple list of these situations (e.g. "a pawn that captures a piece into a promotion, for a check") would be good too.
If, once I've done that, I can't tell if the program's output is even correct, I'll ask a separate question about it.