This project implements Reversi using Golang. You interact with the game using a terminal. There are two versions of the game: reversi
and reversiSimulation
. The reversi
program is player vs. AI. The reversiSimulation
program plays an AI (red player) that uses heuristics against another AI (blue player) that does not use heuristics.
The AIs are search-based and use Monte Cristro Tree Search.
- In the root of the project, run:
- Build the image:
docker build . -t reversi-games
2. Run regular reversi (player vs. computer):docker run --rm -ti reversi-games ./reversi
3. Run simulation reversi (computer vs. computer):docker run --rm -ti reversi-games ./reversiSimulation
- Build the image:
- Copy the packages
reversi
andreversiSimulation
to your $GOPATH/src (if your GOPATH env. variable is set): - Run either packages:
- Player vs. Computer:
go run reversi
- Computer (red and uses heuristics) vs. Computer (blue and no heuristics):
go run reversiSimulation
- Player vs. Computer:
- The language used is Go (v1.14)
- The maximum amount of time a computer can take to pick its next move is 10 seconds
- There are two version of the program:
- reversi: player vs. computer (heuristics)
- reversiSimulation: red computer (heuristics) vs. blue computer (no heuristics)
- Some windows terminal fonts lack CJK characters. If the chip (⬤) does not display correctly, change your terminal font to
SimSun-ExtB
:- Open cmd
- Right-click cmd terminal icon top-left of the window
- Click 'properties' -> 'font' and set the font