***************************************************************************** XGOSH Scott W. Hassan Version 1.7 April 10, 1991 Modified by Eric Osman and Namhoon Yo. ***************************************************************************** xgosh is a quick and easy game of Go. It allows two people to play a game of Go easily over the network. It uses the X Windows' feature of opening two displays (One for each player.) NOTE: Only one xgosh program runs per game. It serves both displays at the same time. This is unlike the older netgo programs when both players had to have a copy of the program and meet at a port. X Windows handles all of this busy work. usage: xgosh [-options ...] where options include: -whitedisplay dpy X server on which to display white player. will default to the current DISPLAY variable. -blackdisplay dpy X server on which to display black player. will default to the current DISPLAY variable. -whitegeometry WxH+X+Y size and location of white player's window. Defaults to 350x350. -blackgeometry WxH+X+Y size and location of black player's window. Defaults to 350x350. -handicap number number of black handicap stones. Default to zero. -loadfile filename filename to load in. Defaults to "xgosh.save" -savefile filename filename to save under. Defaults to "xgosh.save" -blacktime seconds Amount of time alotted for all black moves. Defaults to 1800 seconds (half hour) -whitetime seconds Amount of time alotted for all white moves. Defaults to 1800 seconds (half hour) -graystipple Use a gray background for the board color. -size w h Sets the size of the game board. Defaults to 19 19. Try playing 1 5 go, etc. -beep Sounds a beep after every move. -singledisplay Play a game using only one display. -usage The parameter descriptions. THE GAME: When activated, the game will display two windows, one on the whitedisplay and the other on the blackdisplay. These are the title windows that are used to confirm the starting conditions of the game. Both players should click on their window and the two game boards will appear afterwards. In the information window that appears, there will be two stones in the upper left hand corner of each window (one white and the other black.) A box will surround one of the stones indicating whose move it is. Below these two stones is a message: "Captured Stones: Black(0) White(0)." These record the number of captured stones of each color. When the game begins the handicap stones will automatically appear. One of these days, I will allow the players to place the stones themselves. PLAYING THE GAME: Play will start as soon as the game is executed. The first player's clock will start clicking away immediately. The short hand is for minutes and the longer hand is for seconds. I have not actually tested the accuracy of these clocks yet (please someone do it for me!) To place a move, position the mouse over an intersection and press the left mouse button. A stone will be drawn in its place. The turn will then revert to the other player and his clock will start ticking. A small blinking cross is left on the last piece played. This is very helpful for figuring out where your opponent played last. To pass a turn, press the p key. To undo a move, press the u key. To quit the game, press the q key. To load a game, press the l key. To save the game, press the s key. To enter the kill mode, press the k key. This will allow for any side to destroy whole groups by clicking on one of the stones of the group. Press the k key again to resume the game. To calculate the score of the board at any time during the game, press c. The algorithm assumes that all dead stones are removed from the board prior to scoring. Loading and Saving of games: I have to admit the saving and loading functions are pretty primitive. To Load a game: The strategy is to specify the filename at the command line using the -loadfile argument. When the game is started, the file will automatically be loaded and play then commences. At any point during the game, press 'l' and the game will be re-loaded. To Save a game: Any time during a game, press 's' and the game will be saved. Afterword: I hope you will like this program. Please send all comments to: hassan@informatics.wustl.edu Thanks, Scott W. Hassan p.s. If you think this program has some merit, you too can fund better versions of this program and others like it by sending $10.00 to: Scott W. Hassan Old Withey RD #1 Belmont, NY 14813 Contributions will be greatly appreciated. Thanks.