This is a simple (minimalistic) chess engine, but functional never the less. It is meant as a starting point for writing your own chess engine. Use it for inspiration :-)
This is actually a part of the answer: http://www.quora.com/How-do-I-get-started-with-my-own-chess-engine/answer/Michael-J%C3%B8rgensen-2
- Includes a simple alpha-beta search strategy.
- Searches a fixed depth of four ply.
- A simple console (ASCII) user interface.
The design is documented in the file DOC.html.
The source code has comments in most places. Otherwise, the best place for a high level description is the above link. Additionally, the directory doc contains some additional information on writing chess engines.
- Castling
- En passant
- UCI interface (for GUI)
- Time control
- Opening book