Program Solipeg, a Classic Marble Puzzle Game for the Psion Series 3a Version 2.1 Copyright (C) 1993-1996 J Cade Roux Contact Cade Roux P.O. Box 513 Boutte, LA 70039 USA 73733.1014@compuserve.com http://ourworld.compuserve.com/homepages/cade/ Rules This is the classic Solitaire game played with marbles or pegs on a board. Solipeg is the name of an old commercial game produced in the early part of this century. There are two board shapes, and two rule sets. The two board shapes are: 000 000 000 00000 0000000 0000000 000O000 000O000 0000000 0000000 000 00000 000 000 English pattern French pattern The object is to remove pegs one by one from the board by jumping over them (similarly to Chinese Checkers), leaving just one peg in the center hole (or not, as the particular rules decree - in certain problems, for instance, that is impossible). The standard rule set allows only N-S-E-W jumps i.e. no diagonals. In the diagonal rules, jumps are allowed in all eight directions. In more complicated restrictions - see Hoyle - a specific peg can be designated as a "ball on the watch", which can only be used to make the final jump. Other pegs can also be designated as "dead balls", which are compelled to remain stationary and may only be captured on the final move(s). These may be implemented in future versions as new ball types in the board editor and then restrict play accordingly. The game Puzzle-Peg (Third Edition, 1924, Lubbers & Bell Mfg. Co., Clinton, Iowa, USA, 50 cents) included a small booklet (23 pages), "Problems in Puzzle-Peg", which details over 100 different end-game-type problems which can be played on the standard English board, sent in by players of their earlier versions. It also contained adverts for other games of theirs. All 104 of the problems are included in this distribution - embedded in the library. Distribution This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. * N.B. For space reasons the GNU General Public License is not * included with this Psion palmtop product. * * The license and source code is available from the author. Installation This program will only run on the Psion Series 3a machine. Running it on a Series 3 Classic will give a warning and terminate. If moving up to 2.1 from any other version, I recommend using the de-install procedure first (Shift-Ctrl-Delete) to clear out the environment variable. To install Solipeg, copy Solipeg.app it to any directory (like \APP\) and install it using Install (Psion-I) from the system screen. External libraries of puzzles may be provided in the future. To enable the digitized sound effects, copy SOLI*.WVE to any \WVE directory. These sounds are freely distributable. Please read the credits section at the end of this document. De-installation To de-install the program, press Shift-Ctrl-Delete - this causes the program to free all environment space it uses (23 bytes) and exit. Then delete the .APP file, the .WVE files, and any .SOL or .SLL files which were created or installed. Playing By pressing the keys in the following pattern, the cursor can be moved one position in that direction. If the shift key is held, a jump will be attempted in that direction, removing the peg jumped. Only one peg may be jumped at a time, and so only one peg is removed with each turn. NW N NE E R T W D G E C V B SW S SE Alternatively, the arrow keys can be used in a similar manner, although no diagonal moves/jumps can be made with them. If shift is held with the arrow keys a jump is made. If the move selected is illegal/impossible, a beep will warn the user. To undo a move, use the Esc or Delete key. To redo a move, use the Shift-Delete or Shift-Esc key. Menu File: New - Starts a new game. The last starting position (last Open, Save, Library, or External Library) is reloaded. Open - Opens a single save game (.SOL) Save - Saves a single game board (.SOL) Library - Opens a starting position from the internal library. External - Opens an external library for a list of problems - first choose a library file (.SLL) and then choose a problem by name Play: Undo Jump (when available) - Undo last move Redo Jump (when available) - Redo last move Options - Play options Special: Statistics - Show statistics of past game play Exit - Quit Solipeg Editing Solipeg includes a board editor. To use this, go into edit mode using the DIAMOND key, and then pieces can be toggled on and off using the space bar. Then the game can be saved or one can resume play mode to play the board. Games saved in either mode are equivalent. By default, the \SOLIPEG directory is suggested for saved games, but they can be saved to any directory, and this directory does not need to exist on any drive. Credits 2.0/2.1: Undo option inspired by the much inferior Microsoft Entertainment Pack game Pegged (which has no redo feature). Design for the undo manager and task do/undo/redo system is based on C++ code for Visual C++/MFC/Windows from Dr. Dobb's Journal, February 1996, "Implementing Multilevel Undo/Redo" by Jim Beveridge. 1.4: Suggestions: Mark Jelic, Les Hall