Clobber
Rules and protocol for 2006 Clobber tournament
The rules for the 2006 Clobber tournament are as follows.
- The board size is 10x10. The board rows are labelled by 1,2,...,10 and columns by a,b,...,j.
- In the initial position, the square a1 is occupied by a black stone and each square is occupied by a black or white stone so that no two neighbouring squares contain stones of the same colour. (Two squares are considered neighbouring if they share a common side).
- Players move alternately starting with black.
- A player can make a move if he has a stone on a square with a neighbouring square occupied by an opposing stone. The move consists of removing the opponent's stone from the board and replacing it with the player's own one.
- The player who can't move, loses.
The 2006 Clobber tournament will be played over LAN using the client-server protocol described below. The server will be running on a machine at the tournament site, so the client programs must be configurable to contact a later-to-be-given host at a later-to-be-given port. The communication protocol will consist of sending text strings where items are separated by single whitespaces and the strings are ended by '\n'.
- The first message is sent from the client program to the server and it has the form 'play clobber playername' where playername is a free string without whitespaces. This string will be used as an identification.
- The server replies by sending a string of the form 'm n b' where m and n are board dimensions (both 10 for this tournament) and b is either 1 or 0 depending on whether the player is the beginner (i.e. black) or not (i.e. white), respectively.
- The player sends a string of the form 'c1 r1 c2 r2' where c1r1-c2r2 is the player's move. That is, if he/she wants to make the move a1-b1, he/she should send over the string "a 1 b 1\n".
- The server replies by one of the following strings:
- 'error' if the move was illegal.
- 'end' if the game has ended because of the opponent's illegal move.
- 'c1 r1 c2 r2' if the opponent replied by the move c1r1-c2r2.
After the game has finished (either because of someones win or an illegal move), the client program is supposed to return to step 2 and start a new game with new settings. Note that if the game has ended normally, the program is expected to understand whether it has lost or won, no special end-and-restart command is given. (This may be changed in the future versions of the protocol.)