1               GNU GO - the game of Go (Wei-Chi)
2               Version 1.1   last revised 3-1-89
3         Copyright (C) Free Software Foundation, Inc.
4                    written by Man L. Li
5                    modified by Wayne Iba
6                   documented by Bob Webber
7
8This program is the updated version of Hugo (Version 1.0).  It is an
9attempt to start a free program to play Go.  The idea is based on the
10article "Programming the Game of Go. Byte, Vol.6 No.4" by J. K. Millen.
11
12Currently, this program only understands basic Go rules and play skills.
13It counts the number of liberty for each board piece.  Computer move is
14generated by choosing among several possible moves to attack the opponent,
15defense own pieces and match playing patterns.  If no good move is found
16then random move will be generated.  It doesn't have the concept of eye
17although it will try to form one.
18
19The program is written in C running on Sun and IBM PC.  The only difference
20is the function to get system time as the seed for the random number
21generator.  It can easily ported to other systems by changing this function.
22Computer Innovation C86 compiler is used for the PC version.  To use other
23C compilers, simple change is required.
24
25You are encouraged to send in enhencement, suggestion, bug/fix for this
26program.  Future release can be obtained from Free Software Foundation and
27usenet rec.games.go newsgroup.
28
29This package contains the following files:
30
31README - you are reading it.
32
33COPYING - GNU general public license
34
35Documentation - description of each function
36
37Makefile - file to compile gnugo program on Sun
38
39make.bat - file to compile gnugo program on IBM PC with C86 compiler
40
41objs - linking list used by make.bat
42
43count.c - count liberty of one piece
44
45countlib.c - count liberty of pieces
46
47endgame.c - bookkeeping at end of game
48
49eval.c - evaluate liberty
50
51exambord.c - update game board
52
53findcolr.c - find connected pieces of the same color
54
55findnext.c - find move to defense against attack and function to evaluate move
56
57findopen.c - find opponent liberty and choose move to attack
58
59findpatn.c - match play patterns for next move
60
61findsavr.c - check own weakness to defense
62
63findwinr.c - find opponent weakness to attack
64
65fioe.c - check if fill in its own eye
66
67genmove.c - main function to generate computer move
68
69getij.c - convert move string to board position
70
71getmove.c - read move or command from human player
72
73initmark.c - initialize marking array
74
75main.c - gnugo main program
76
77matchpat.c - match play pattern
78
79opening.c - generate game opening moves
80
81openregn.c - check open region
82
83patterns.c - playing patterns
84
85random.c - random number generator
86
87seed.c - start random number generator seed
88
89sethand.c - setup handicap pieces
90
91showbord.c - show GO board and stone positions
92
93showinst.c - show instruction on game playing
94
95suicide.c - check illegal move if suicide
96
97This program is free software; you can redistribute it and/or modify
98it under the terms of the GNU General Public License as published by
99the Free Software Foundation - version 1.
100
101This program is distributed in the hope that it will be useful,
102but WITHOUT ANY WARRANTY; without even the implied warranty of
103MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
104GNU General Public License in file COPYING for more details.
105
106You should have received a copy of the GNU General Public License
107along with this program; if not, write to the Free Software
108Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
109
110Please report any bug/fix, modification, suggestion to
111
112mail address:   Man L. Li
113                Dept. of Computer Science
114                University of Houston
115                4800 Calhoun Road
116                Houston, TX 77004
117
118e-mail address: manli@cs.uh.edu         (Internet)
119                coscgbn@uhvax1.bitnet   (BITNET)
120                70070,404               (CompuServe)
121
122