The goal of this project is to make a computer play the game of Gomoku, using the Minimax algorithm.
Three game modes are available, a Player-vs-Player mode, with hints from the computer, a Player-vs-Computer mode and a Computer-vs-Computer mode.
Screen after a game is over | Highlighted last move and recommended moves in PvP mode |
- 3 modes, Player-vs-Player, Player-vs-Computer and Computer-vs-Computer
- Generate recommended moves and show all generated moves
- Highlight the last move and display an undo button after a game is over to rewind the game
- Disable and enable the optional rules in the options
- Selectable algorithm between Minimax, Negamax and a Greedy algorithm that choose the first move from the heuristic
- Three difficulties level that change the depth of the algorithm
The minimum requirements are the same as macroquad, which you can find here.
You can start and play with a simple cargo run --release
, and change the options in the options menu.
There is a single feature that you can enable:
--features cli_ava
which will play a single game in AvA mode with all default options and display the output in the terminal only.
- https://en.wikipedia.org/wiki/Gomoku
- Extra rules:
- https://en.wikipedia.org/wiki/Gomoku#Ninuki-renju
- https://en.wikipedia.org/wiki/Gomoku#Pente
- https://en.wikipedia.org/wiki/Gomoku#Omok (three and three/double three rule)
- https://en.wikipedia.org/wiki/Minimax
- Publications