An implementation of the game fanorona
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
sloum 6d0b936e7b Solves minor ai issues, comments out broken paika check, and adds sequential paika limit with game end if crossed 2 months ago
qline Initial commit 2 months ago
termios Initial commit 2 months ago
.gitignore Initial commit 2 months ago
README.md Initial commit 2 months ago
cpu.go Solves minor ai issues, comments out broken paika check, and adds sequential paika limit with game end if crossed 2 months ago
fanorona.png Initial commit 2 months ago
main.go Solves minor ai issues, comments out broken paika check, and adds sequential paika limit with game end if crossed 2 months ago

README.md

Fanorona

Fanorona is a game originating in Madagascar. Wikipedia has a good bit of information information about the game's history and rules.

screen shot of fanorona being played, it is black's turn

Building / Installing

You will need a Go compiler. After that you can run go build from the repository directory to build the executable locally or go install to install it.

Usage

By default, executing the program will put you into two player mode. Two player mode takes place on the same system (swapping keybaord or with one player dictating moves to the other for their turn). To play against an automated opponent you must pass the flag -cpu, as in: fanorona -cpu. The automated opponent is, as of this writing, not great. It plays decently in the early parts of the game but does not know how to finish the game well.

Playing Moves

Moves are played as [from]-[to], for example A2-B3. The letters are not case sensitive. If the move you play results in captured/dead stones you will be offered the opportunity to make a continuation play. The position you are at will be prepopulated, so you just need to add the -[to] part. If you are done for the turn and either cannot play a continuation or do not want to you may enter PASS or DONE (again, not case sensitive).