(My computer game program adopts a variety of search algorithms. The following is the main class description of this program:
1. CEveluation class: Valuation class, which evaluates a given chessboard.
2. CMoveGenerator class: move generator, search for all possible moves for a given chessboard situation.
3.CSearchEngine class: Search engine base class.
4. CNegaMaxEngine class: negative large value method search engine.
5.CAlphaBetaEngine class: a search engine that adopts Alpha-Beta pruning technology.
6. CFAlphaBetaEngine class: fail-softalpha-beta search engine.
7. CHistoryHeuristic class: historical revelation class.
8.CAlphabeta_HHEngine class: Alpha-Beta search engine with historical inspiration.
9.CAspirationSearch class: eager search engine.
10.CIDAlphabetaEngine class: Iterate deep into the search engine.
11.CMTD_fEngine class: MTD(f) search engine.
12.CTranspositionTable class: replacement table.
13.CAlphaBeta_TTEngine class: Alpha-Beta search engine with substitution table.
14. CPVS_Engine class: very small window search engine.
15. CNegaScout_TT_HH class: NegaScout search engine using permutation table and historical revelation.
This program also has the function of repentance and recovery, and can also record the moves.)