Initial import of my chess engine. So far, just a basic board and pieces along with a few unit tests.
You can now construct a chessboard from a FEN position and get a FEN back out of a chessboard.
Cleaned up some of the square to index translation code
Laying out a structure for making moves
Working on black pawn moves and unit tests
White and black pawn moves are working and most of the tests have been written except for a few for black.
Changed moves based on indexes to moves based on the square notation
Finished the remaining black pawn move tests
Converted the move engine from testing every move to comparing against all possible moves.
Refactored the removal of the en-passant captured piece out to a higher method
Refactored the move out to a delegate.
Refactored out most of the duplicate code from MakeMoves that is now in MovesFor
Added methods to get the rank and file from an index
Most of the move generation is done, it just needs to be refined and tested
Added unit tests and fixed up errors in the code for moves
Made a start on the UCI command interface
Merge branch 'master' of github.com:rprouse/ChessSharp