This project implements a classic version of Chess using C++ and a Graphical User Interface. The Chess game follows the basic rules of chess, and all the chess pieces only move according to valid moves for that piece. Our implementation of Chess is for two players (no Artificial Intelligence). It is played on an 8x8 checkered board, with a dark square in each player’s lower left corner.
Much previous research has been conducted in Chess articial intelligence and creating a more realis- tic/intelligent Chess match. Although we were not able to design a working articial intelligence for the chess game in the time allowed, we researched the past implementations. In , Russell presented the minimax algorithm and the game tree developed by it. Russell discussed applying an evaluation function to the leaves of the tree, that judges the value of certain moves from a given position. Another method he mentioned is to cuto the search by setting a limit to its depth. Russell evaluated a particular technique called alpha-beta pruning to remove branches of a tree that will not in uence the nal decision. Although we did not use this advanced of a method, we stored the possible moves for a piece one level down. Bratko  discusses the method of chess players to "chunk" together familiar chess patterns, and using this to reduce the complexity for AI when considering a position. However, this technique is in its early stages, and requires that multiple assumptions and a complicated detection process. Berliner  recognized that two similar positions can be very dierent, and sought to present a taxonomy of positions in chess that require special knowledge. However, this kind of research is essentially never complete.
chess game c++ project Source code download