This version is meant to teach people how to make a chess program. Since it doesn't handle en-passant and castling, it is not really a complete chess program. But on the other hand, it is simple enough so that most people can understand the source code, and can modify it.
I've made another version called mchess2, which is expanded from mchess by adding several feature, including:
- en-passant and castling
- UCI interface (works with GUI's like Arena)
- transposition tables and iterative deepening
So check out https://github.com/MJoergen/mchess2
for a more complete chess program. It actually plays pretty decent chess, at least if you are a beginner.