/Go

Game of Go 囲碁 implemented in javascript

Primary LanguageJavaScript

This is the game of Go 囲碁 impleneted in javascript

To run open game.html in browser

go board

The file that contains all the board logic is legal.js. The interesting thing about it is that it doesn't use a recursive algorithm to score but instead uses a group data structure to keep track of how many liberties are in each group on the board. The program then joins two groups when a connecting piece is placed. This makes it so that the program never has to do more than eight checks per move to determine if a group should be taken, no matter the size of the group. The program still can’t join all groups due to some weird fringe cases that are difficult to check for.