FreeCell v1.0 (A GS/OS application) Copyright (c) 1997 by Jeremy Hack Email: jhack@unixg.ubc.ca Introduction FreeCell is a solitaire-type game based on the Windows version by Jim Horne. The object of the game is simple: to get the cards organized by suit in ascending order in the four stacks at the upper-right of the game window. According to the documentation of the Windows version, Òit is believed (although not proven) that every game is winnable.Ó Window Layout The four rectangles in the upper-left corner are the ÒcellsÓ. A cell can hold only one card at a time, but cards may be moved from cells whenever it is possible. In the upper-right corner are the ÒstacksÓ. Cards must be stacked in ascending order, from aces to kings, following suit. An ace can be placed on any empty stack. Once a card has been added to a stack, it cannot be removed (except by ÒUndo Last MoveÓ) . Once all 52 cards are placed in the stacks, the game is won. Between the cells and stacks is the score box. This tells you how many cards remain in play. Initially, the score is 52; the game is won when the score reaches 0. Eight columns are found in the lower portion of the screen. Initially, all 52 cards are located here. Please refer to the ÒGame PlayÓ section for more detailed rules. A scroll bar is located along the right side of the window. This is updated after every move to represent the maximum length of the columns. This allows you to access any cards that are outside of the viewable area. As well, the window can be resized via the grow box (bottom right corner). Game Play The first time FreeCell is run, a window comes up asking for your name. This is so it can keep track of your wins and losses. After the first time, you will not be asked your name again, unless you tell FreeCell to do so (see help for Edit Menu - Preferences). Cards are moved by dragging, or by double-clicking if only a single card is to be moved. The rules are relatively simple. A card can be moved to a column (from a cell or from another column) if it is one lower in denomination (aces low), and the opposite colour. A group of cards can be moved to a column if they are all ordered as above, and the top card is one lower in denomination and the opposite colour. As well, in order to move a group of cards, there must be enough free cells to fit all but the top card. Therefore the maximum number of cards that can be moved is equal to the number of free cells plus one. If you attempt to move more than this amount, the cards will not move. Double-clicking a single card (last in a column, or in a cell) will attempt to add it to a stack. If this is not possible, and it is located in a column, it will be moved to the first available cell. Any card or group of cards can be moved to an empty column. This can be useful for effectively increasing the maximum number of cards you can move at a time. (Unlike the Windows version, FreeCell GS does not automatically make use of empty columns to move large numbers of cards). If you get to the point where there are four ordered columns of the same length, FreeCell will automatically place the cards in their appropriate stacks. Note that you cannot replay a game that you just won. When no more moves remain, FreeCell will present a window letting you know. Clicking ÒStopÓ in this window will leave the game window open, but inactive. To make the game active again, you can choose ÒUndo Last MoveÓ from the Edit menu. You can then continue from the point before you made the final move. Holding down the command (Apple) key will change the cursor into a question mark. Clicking on a card will then hilight the card(s) that could be placed following it. Of course, unless the card is last, the move is not legal. However, it is useful for locating cards when developing your strategy. Holding down the option key will change the cursor into a magnifying glass. Clicking on a (partially covered) card will reveal it completely, allowing you to check its suit (particularly for aces). Apple Menu This contains two items, in addition to any New Desk Accessories you may have: About FreeCell... Brings up a window with some information about the game and author. Help... Opens up this window. Choose a topic from the pop-up menu at the top of the window to see additional information. You can copy text from this window to the clipboard via the ÒCopyÓ command in the Edit menu. File Menu ** Note that aborting a game counts as a loss, unless no moves have been made. ** New Game If a game is in progress, you will be asked if you want to abort. After confirming, the deck gets reshuffled, and a new game is started. Restart This Game/Replay Last Game Depending on whether or not a game is in progress, you will see one of these two items. After confirming that you really do want to restart, the cards will return to their initial positions. Open Saved Game... This allows you to open a previously saved game and continue play. Again, if a game is in progress, you will be asked if you want to quit. Save Game As... Allows you to save a game in progress. If you save a game, then immediately quit, it is not counted as a loss. Close Closes the topmost window. If this an active FreeCell game window, you will be asked to confirm the close. Quit Game After asking for confirmation if necessary, FreeCell will quit. Edit Menu Contains the usual clipboard-related items, plus two additional ones: Undo Last Move Undoes the last move you made. Only one step back can be made, otherwise the game would be way too easy! Preferences Allows you to customize many aspects of the gameÕs behavior. In addition to the checkbox options, FreeCell also remembers who played the game most recently, and what colour the background was. Clicking the ÒOkayÓ button will put any changes into effect only until you quit. Clicking ÒSaveÓ will update the preferences file on disk so that any changes will be remembered. If the preferences file ever becomes corrupted, just delete it and a new one will be created with the default settings. The first three options govern whether or not you want specific sound effects to be played (if you never want any sounds to play, you donÕt have to install them with the game). ÒDouble click moves to free cellÓ was an option present in the Windows game, so I included it here. If unchecked, double clicking a card has no effect. I donÕt know why youÕd want this (let me know if itÕs useful). The last two options control what happens when FreeCell is run. Check ÒAsk for player nameÓ if thereÕs more than one person who regularly plays this game (unchecked by default). If ÒStart new gameÓ is unchecked, a new game will not be started until you request it. Background Menu Allows you to change the colour of the background. ThatÕs it. Special Menu Hide Game Window/Show Game Window Depending on the current state of the game window, one of these will be present. Allows you to reduce clutter while working with NDAÕs, etc. The game is not aborted when ÒHide Game WindowÓ is selected. New Player... Allows you to change the current player. If you have played before, your name will appear in the pop-up menu. (The arrow keys can be used to navigate through the list of players). If you haven't played before, select ÒNew Player...Ó and you will be able to enter your name. Leaving this blank allows you to play anonymously. Pressing the delete (backspace) key while a player is selected will remove that player from the records (after confirmation, of course). Delete Current Player Removes all traces of the current player (use ÒNew Player...Ó to change the current player). Use this to clean up any inactive players. View Player Stats Brings up a window showing the number of wins and the number of losses for the current player. The ÒResetÓ button allows you to start fresh with 0 wins and 0 losses. Stats are remembered from session to session for all players other than ÒAnonymousÓ. Closing Remarks FreeCell is freeware, but can be distributed only electronically (FTP, cba2, GEnie, Delphi). This is because the game has not been thoroughly bug-tested, so it will very likely have to be updated frequently. Yes, thatÕs right Ñ YOU are the beta testers, so send me bug reports, feature requests, praise, etc. I especially would like to hear from users with ÒminimalÓ systems, since most of the testing IÕve done has been on an accelerated, harddrive-equipped GS. If I get a positive response, I will be motivated to put the finishing touches on the six other solitaire-type games I have sitting on my hard drive. They are basically done, except for writing documentation, which is not nearly as much fun as programming :-) If you think this is shareware-quality (ie. *you* would pay something for it), let me know. I would appreciate the encouragement! Jeremy Hack jhack@unixg.ubc.ca