C language major project, the version that fixed the bug in the hash table (by removing the hash table altogether)
Please compile using the release configuration, and ensure that the (default) /O2 optimization is turned on.
It is recommended to compile using CMake, which generates the executable file five(Linux)/five.exe(Windows)
cmake .
makegcc --std=c99 -O3 *.c -o five- game.c includes characters for drawing the chess board, which are in GB2132 encoding. If a compilation error occurs, change the encoding of that file to GB2132. (Windows only)
- Please use the c99 standard or above.
- The AI's level corresponds to the search depth +1 (this version can search 6 levels), level 6 is too slow and ineffective.
- Unable to judge complex forbidden moves.
acm.c: Aho-Corasick automaton (used for pattern matching), used for scoring functions and forbidden move judgment.bot.c: AI implementation (game search + AlphaBeta pruning).five.c: Program entry point.game.c: Game logic (mode logic, interaction, win/loss judgment).scores.h: Scoring/forbidden move judgment table.utilities.h: Contains implementations of queues and doubly-linked lists for heuristic optimizations.