Fun challenge for best cool code
Moderator: Ras
-
- Posts: 28353
- Joined: Fri Mar 10, 2006 10:06 am
- Location: Amsterdam
- Full name: H G Muller
Re: Fun challenge for best cool code
EPDs have no 50-move or move-number fields. Only FENs have that...
-
- Posts: 12777
- Joined: Wed Mar 08, 2006 8:57 pm
- Location: Redmond, WA USA
Re: Fun challenge for best cool code
rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - fmvn 1; hmvc 0;
They have them, but they are decorated with a label.
Taking ideas is not a vice, it is a virtue. We have another word for this. It is called learning.
But sharing ideas is an even greater virtue. We have another word for this. It is called teaching.
But sharing ideas is an even greater virtue. We have another word for this. It is called teaching.
-
- Posts: 28353
- Joined: Fri Mar 10, 2006 10:06 am
- Location: Amsterdam
- Full name: H G Muller
Re: Fun challenge for best cool code
Sure. But they are optional, and 0, 1 are their default values.
-
- Posts: 4624
- Joined: Tue Apr 03, 2012 4:28 pm
- Location: Midi-Pyrénées
- Full name: Christopher Whittington
Re: Fun challenge for best cool code
I put that in as an issue to Python Chess about a week or so ago.Dann Corbit wrote: ↑Thu Feb 28, 2019 8:23 pmrnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - fmvn 1; hmvc 0;
They have them, but they are decorated with a label.
One more item: many online FEN strings come without the two final fields (moves since, movenum). the FEN reader complains. Might be useful if it added 0, 1, with some documentation explanation.
Response back: I need this quite frequently myself, but never got around to do it. Now implemented in 65e8729. Defaults to 0 1.
So, I think Python Chess now accepts both:
rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq
rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq x, y
and appends an 0, 1 if x, y missing. It used to just issue an error, "fen strings have six fields"
I'm not sure what happens if fmvn is specifically used as an identifier.
-
- Posts: 28353
- Joined: Fri Mar 10, 2006 10:06 am
- Location: Amsterdam
- Full name: H G Muller
Re: Fun challenge for best cool code
I hate pedantic interfaces. WinBoard just uses a default value 0 for the ply counter if it is missing, and ignores the move number anyway, when it parses a FEN.
I guess stupid old NotePad would not even have a problem doing this; just do a 'Replace All' on " id " for " 0 1 id " if you insist on beraking the EPDs that way.
I guess stupid old NotePad would not even have a problem doing this; just do a 'Replace All' on " id " for " 0 1 id " if you insist on beraking the EPDs that way.
-
- Posts: 42
- Joined: Sat May 16, 2015 11:41 pm
Re: Fun challenge for best cool code
Yeah, on the master branch it now even defaults to
Code: Select all
w - - 0 1
This always worked as expected:
Code: Select all
>>> import chess
>>> board, ops = chess.Board.from_epd("rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - fmvn 2; hmvc 3;")
>>> board
Board('rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 3 2')
>>> ops
{'fmvn': 2, 'hmvc': 3}
Code: Select all
id unquoted_string