Next: The Board State, Previous: Getting Started, Up: API
There are some basic definitions in gnugo.h which are used everywhere. The most important of these are the numeric declarations of colors. Each intersection on the board is represented by one of these:
color value EMPTY 0 WHITE 1 BLACK 2
There is a macro, OTHER_COLOR(color)
which can be used to get the
other color than the parameter. This macro can only be used on WHITE
or BLACK
, but not on EMPTY
.
GNU Go uses two different representations of the board, for
most purposes a one-dimensional one, but for a few purposes a
two dimensional one (see Libboard). The one-dimensional
board was introduced before GNU Go 3.2, while the two-dimensional
board dates back to the ancestral program written by Man Lung Li
before 1995. The API still uses the two-dimensional board, so
the API functions have not changed much since GNU Go 3.0.