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