GNU GO - the game of Go (Wei-Chi)
Version 1.1 last revised 3-1-89
Copyright (C) Free Software Foundation, Inc.
written by Man L. Li
modified by Wayne Iba
documented by Bob Webber
This program is the updated version of Hugo (Version 1.0). It is an
attempt to start a free program to play Go. The idea is based on the
article "Programming the Game of Go. Byte, Vol.6 No.4" by J. K. Millen.
Currently, this program only understands basic Go rules and play skills.
It counts the number of liberty for each board piece. Computer move is
generated by choosing among several possible moves to attack the opponent,
defense own pieces and match playing patterns. If no good move is found
then random move will be generated. It doesn't have the concept of eye
although it will try to form one.
The program is written in C running on Sun and IBM PC. The only difference
is the function to get system time as the seed for the random number
generator. It can easily ported to other systems by changing this function.
Computer Innovation C86 compiler is used for the PC version. To use other
C compilers, simple change is required.
You are encouraged to send in enhencement, suggestion, bug/fix for this
program. Future release can be obtained from Free Software Foundation and
usenet rec.games.go newsgroup.
This package contains the following files:
README - you are reading it.
COPYING - GNU general public license
Documentation - description of each function
Makefile - file to compile gnugo program on Sun
make.bat - file to compile gnugo program on IBM PC with C86 compiler
objs - linking list used by make.bat
count.c - count liberty of one piece
countlib.c - count liberty of pieces
endgame.c - bookkeeping at end of game
eval.c - evaluate liberty
exambord.c - update game board
findcolr.c - find connected pieces of the same color
findnext.c - find move to defense against attack and function to evaluate move
findopen.c - find opponent liberty and choose move to attack
findpatn.c - match play patterns for next move
findsavr.c - check own weakness to defense
findwinr.c - find opponent weakness to attack
fioe.c - check if fill in its own eye
genmove.c - main function to generate computer move
getij.c - convert move string to board position
getmove.c - read move or command from human player
initmark.c - initialize marking array
main.c - gnugo main program
matchpat.c - match play pattern
opening.c - generate game opening moves
openregn.c - check open region
patterns.c - playing patterns
random.c - random number generator
seed.c - start random number generator seed
sethand.c - setup handicap pieces
showbord.c - show GO board and stone positions
showinst.c - show instruction on game playing
suicide.c - check illegal move if suicide
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation - version 1.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License in file COPYING for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
Please report any bug/fix, modification, suggestion to
mail address: Man L. Li
Dept. of Computer Science
University of Houston
4800 Calhoun Road
Houston, TX 77004
e-mail address: [email protected]
(Internet) [email protected]