Description:

SharpChess (
http://www.sharpchess.com) is a computer application that enables you to play chess against the computer. It plays a challenging, tactical and, I'm told, "fun" game of chess.



Overview:

Game features

Chess engine features

  • Alpha-Beta search with Pricipal-variation (PVS)
  • Iterative Deepening
  • Hashtable (transition table) using Zobrist Keys. (Separate Pawn & Check hashtables)
  • Null-move forward pruning (verified and non-verified)
  • 0x88 board representation
  • Move ordering using Hash table and History Heuristic
  • Quiescience Search (MVV/LVA and SEE)
  • Search Extensions (Check, Re-Capture, Pawn-promotion)
  • Futility pruning (Standard & Extended)
  • "n moves in x minutes" Move time-allocation algorithm

Programming features

A well-designed, and hopefully easy-to-understand, object-model that will enable other developers to quickly get involved in the project.

Object Model