Open divy-07 opened 1 year ago
How we parse moves and make moves currently is very isolated, this can be made drastically simpler and integrated into the main architecture.
Currently, when we get the position command from UCI, we get "position [fen/startpos] [moves]" we do:
MoveConversion.applyAlgebraMoves()
What would be better is:
Move.fromAlgebraicNotation()
Position.makeMove()
This approach moves away from using static isolated methods, designed only for this task and uses more general and tested methods.
How we parse moves and make moves currently is very isolated, this can be made drastically simpler and integrated into the main architecture.
Currently, when we get the position command from UCI, we get "position [fen/startpos] [moves]" we do:
MoveConversion.applyAlgebraMoves()
, which returns a Position object after moves were appliedWhat would be better is:
Move.fromAlgebraicNotation()
)Position.makeMove()
to update the positionThis approach moves away from using static isolated methods, designed only for this task and uses more general and tested methods.