I'm writing a small chess engine in LISP. I was trying to read some PGN file, at first it seemed like a piece of cake. But then I realized something.
Most of the PGN files, don't tell which is white and which is black. I mean if white plays e4 an later d5, how does the engine knows if he has to take or not? I could name the black pieces
bN for example but by doing so i won't be able to import PGN easily.
Should i increment by 2? is that how PGN parsers do it? Say the first three moves in a match are e4 e6 f4, should i create a recursive function to read x + 2? to skip whites move?