Chess --------------------------------------- This program plays a weak (almost suicidal!) game of chess, but has a reasonable user interface. It is intended to take the place of a hand held chess set for game analysis. When it is started it offers the menu: Orig Init 2..9 End: Original chooses the standard starting position. Initialise allows you to set up a position from an empty board. Digits 2..9 choose one of 8 built in endgames (E, white to win) or mates in 2 or 3 :- 2 3 4 5 6 7 8 9 E E E 3 3 E 2 2 End quits. Once you have chosen or initialised (see below) a starting position, it offers a menu to choose who plays the white pieces. White - Org Inorg End: Organic means you play. Inorganic means the computer plays. End reverts to the main menu. The menu is repeated for black. Moves are then entered in algebraic notation. For pawn moves only the destination square is entered (eg e4), even if there is a capture (including en passant). Pieces must be named (K/Q/R/N for a knight, or L for a bishop (German 'Laufer' (?))). For example qh5. If the source square is ambiguous, it is prompted for with a '<'. If the move is a pawn promotion, the piece is prompted for with a '>' (As there are 4 valid moves for a promotion, the source square will have been prompted for). Castling is done by entering the special king double step (eg Kg1). The program plays a legal game of chess with two exceptions. Stalemate is counted as a win, and a draw by 3-fold repetion of position will not be recognised. A game may be interrupted at your turn by pressing . A menu is shown: Resn Mvback Un/Save Cont: Resign returns to the main menu. Move-back reverses the previous move. (if it was a computer move, the computer will play again). Save stacks the position (the stack holds 4 positions) Unsave unstacks a previously stacked position, including game information. Save and Unsave allow you to play through bracketed variations, and then return to the game. Continue cancels the Some information is shown at the left hand side. The first line shows the stack number of the board (0..3). The second line shows the ply (half-move) number. The third line shows the number of moves since a pawn was moved, or a piece captured. The fourth line shows the valid castling flags (there are other checks for legal castling as well). The fifth line shows the last e.p. square for a pawn. The seventh and eighth lines show the number of moves listed for white or black. At the bottom right are shown the listed/valid moves for white and black. Initialisation -------------- If this option is chosen at the main menu, an empty board is displayed and the program waits for pieces and their positions to be entered, in the same format as game moves. For example a simple mate in one would be:- kg6 kg8 rh4 (The spaces are not typed). The only restriction is that pawns will not be allowed on the 1st or 8th ranks. When the is pressed, a menu is shown: Done More Place Clear: Done means initialisation is finished. More cancels the . Clear prompts for a square (eg e4) to be cleared. Place enables input of a position in puzzle (?) notation. Another menu shows: pieces 1..7 A piece name (in upper or lower case) will then be entered at the cursor, and the cursor advanced. (Enter 'P' or 'p' for a pawn here). Digits 1 to 7 will move the cursor to the right, and move it to the first column on the next row (then back to the top after the bottom row). The example above would be 1 k 1 K 7 R (The spaces are not typed). The returns to the Done/More/Place/Clear menu. Future enhancements to the program will include:- 1. Stronger playing! 2. Recognition of stalemate. 3. Recognition of 3-fold repetition. 4. Double move-back. 5. Arrow keys enabled at 'Place' input. Hugh Satow --------------------------------------- hugh@bilpin.co.uk