Klondike v1.9 Copyright © 1992, WallyWare All Rights Reserved Software License: Distribution: Klondike, in its unaltered entirety, may be distributed freely so long as it is not sold and there are no distribution fees. Commercial enterprises must register before distributing Klondike on magnetic media. Usage: Like all shareware, you get to try it for free. Afterwards, if you decide to keep it, simply send in a registration. By doing so, you help someone's ends meet, your ideas and opinions influence new and improved programs, and you encourage artistic expression from around the globe. Everyone benefits when you support shareware. Registration: Please remit $10.00 in US funds by personal or cashiers check drawn on a US bank, or a US or international money order. Please include your name, address, and any ideas you'd like to share. Payable to: Gaylan Wallis Send to: WallyWare 1324 Parkwoods Terr. Midwest City, OK 73110-7439 USA I know not where, Klondike goes, Hither, thither, off she flows. A gem or not, decide, for free, But use it lots, and you owe me. WallyWare Solitaire: ------------------- The most commonly played solitaire game is known widely as Klondike. It might also be known as Patience Solitaire, ChinaMan, Demon Patience, Fascination, Canfield or others. But even more numerous than its names are the number of different ways Klondike is played. Unfortunately, most computer solitaire games enforce Hoyle's rules with few exceptions. So, if you like playing by slightly different rules, you're simply out of luck, forced to conform. WallyWare Solitaire not only plays Klondike nicely with low memory/screen requirements, you play by the rules of your choice. Hoyle's rules can be either partially or entirely disabled, and there are 5 different ways of working through the hand. There are many other features including a Wrap-Up function for when a win is imminent, an Undo function that will back up more than one move, a palette requester to fine-tune the colors to your liking, and a Save-Setup function that remembers how everything is configured. There are also three optional play modes. In Sudden-Death, if you miss a move the game is over. In the Near-Death mode, a missed move only gets a warning. With the Move-Indicator ON, you're constantly informed whether a legal move is possible and if needed, you can get specifics about the move. And finally, as a novelty, WallyWare Solitaire plays on its own. Select the AutoPlay function and away it goes. Makes a nice showroom demo. Installation: ------------ With WorkBench, drag either the Klondike directory icon, or all of its files to where you want Klondike installed. Klondike files: -------------- Klondike WallyWare Solitaire Game 68244 bytes Klondike.info its icon 1270 Klondike.cards Card Images (has no icon) 41022 Klondike.doc Documentation 21298 Klondike.doc.info its icon 315 --------------- total disk space needed: 259 free blocks 132149 bytes ** A Klondike.settings file may later require another 44 bytes It is IMPORTANT that both the document and card-images files be available to Klondike. See the alternate installation scheme if Klondike has trouble finding files. Upgrading: --------- If you're upgrading a previous version of Klondike, the 5 files listed above, replace their earlier counterparts. Your existing settings file will be utilized by the newer Klondike. See Changes v1.9 listed below. In a Nut-Shell: -------------- When Klondike is started, it displays the software license, initializes program variables and prompts the user to press anything to begin playing. Once the cards have finished dealing, you're ready to play the first game. Cards are moved by positioning the cursor over the card to be moved, and grabbing it by holding down on the left mouse button. Continue holding down on the mouse button and move the card to its new position. Release the mouse button to drop the card. Several cards can be moved in a single motion by grabbing the deepest card of the pile to be moved. Cards are dealt according to the dealmode when the deck or hand at the (upperleft) is clicked. If the dealmode allows for multiple passes through the hand, clicking the hand position when its empty will pickup the waste pile (talon), in preparation for another pass through the hand. The menus can be used to start new games, change the options and rules, quit... According to "Hoyle": -------------------- 28 cards are dealt to 7 piles called the tableau. The object is to move all of the cards to the top 4 piles called foundations. On the tableau piles, you can build in descending sequence, red on black, or black on red. Multiple cards may also be moved in the tableau and only Kings are allowed to be played in an open tableau pile. When an Ace is freed, it is played in a foundation pile. Thereafter, you may build on the foundations in ascending sequence of the same suit. Once a card has been played in a foundation, it may not be moved. The cards remaining after the deal are called the hand. There are two common methods for working through the hand. In the one card mode, each consecutive card in the hand is turned up and placed in the waste pile. The top card in the waste pile is always available to be played. The game ends after the stack has been gone through once. In the 3 card mode, three cards at a time are dealt from the hand to the waste pile but you may make as many passes through the hand as necessary. Klondike Menus and Keyboard Shortcuts: ------------------------------------- The Right Mouse Button can be used to activate menu items. When a check- mark character is shown with a menu item, the option or rule is turned ON. Multiple menu selections can be made by using the left button along with the right button. Shortcuts are available for most of the menu functions or settings. The keyboard shortcuts can be activated the AmigaOS way, by using the right Amiga key inconjunction with the hot key, or by simply pressing the hot key by itself. Game Menu Hot-Key: ----------------------- New Game N Each time a new game is started, your bank balance is charged 50 dollars, the cards are reshuffled then dealt, and it's ready for play. Chapter 7 7 Sets the bank balance to zero prior to starting a new game. Undo Last Move U The Undo function uses a history buffer to record upto 400 card movements within a game. Activating this function will undo moves in their reverse sequence. Repeated activation will return a game to its initial starting condition. Wally Warp-Up W Its purpose is to eliminate the formality of moving cards to foundations when a win is imminent. When activated, as many cards as possible are moved to foundations. If all the cards make it to the foundations, a victory is scored and bank balance gets a bonus. As it turned out, this also works nicely when a number of cards need to be moved to the foundations and you just feel lazy. Concede Game C Select this function to see the hidden cards after a game has reached its conclusion. After a Concede game function, play is still possible. It will probably be confusing though, since the cards that were just turned up are still considered hidden and so unmovable until they are really turned up. AutoPlay A Starts the computer playing on its own. Play continues until a mouse or keyboard event occurs, which means you can press the A key repeatedly to stop/start playing. Save Setup S This function saves the current menu options and rules so that this arrangement is restored the next time you play Klondike. It normally creates a file named "Klondike.settings" in the current directory. In the alternate installation scheme, the settings file is read from and written to volume KLONDIKE:. Quit Q Ends the Game. An inadvertant press of a bare Q key is protected with a confirmation requester. Options Menu Hot Key: ------------------------ 1-Card 1-Pass 1 Deals 1 card at a time, and allows only one pass through the hand. 3-Card 3-Passes 2 Deals 3 cards at a time, and allows only three passes through the hand. 3-Card N-Passes 3 Deals 3 cards at a time, and allows unlimited passes through the hand. 3-Card N-P.Rev. 4 Deals 3 cards at a time, but their order is reversed as they are moved from the hand to the waste pile. Allows unlimited passes through the hand. It takes two complete passes through the hand without a play before a game concludes. 1-Card N-Passes 5 Deals 1 card at a time, and allows unlimited passes through the hand. Rules Menu Hot-Key: ----------------------- All Rules Off - Turns all five rules OFF. Non-Movable Partial Stacks This rule prevents you from moving partial stacks in the tableau. After cards are played in the tableau, they can be moved only a few ways; from the top of a stack to a foundation, as part of all the cards that are face up in that stack or to an empty tableau. The rule is enforced by allowing you to move only cards that are the first face-up card from the bottom (screen top) of the stack. Non-Movable Foundations This rule prevents you from moving cards once they have been played on a foundation. Kings Only on Empty Stacks This rule allows only Kings to be played in empty tableau piles. Normal Foundation Rules This rule consist of two parts. An Ace must be the first card played in an empty foundation. Afterwards, cards played in the foundation must be one value higher and of the same suit as the card its played on. Normal Tableau Rules Cards played in the tableau must be of the opposite color and one value lower than the card its played on. All Rules On = Turns all 5 rules ON. There is a small quirk when this function is selected using the multiple menu selection feature of AmigaDOS. The check marks beside the five rules will not appear until after the mouse buttons have been released and the menu reactivated. Extras Menu Hot-Key: ----------------------- Move Indicator M When ON, a little box that says PLAY will appear whenever a legal move is possible. Click the PLAY box if you need more information about the move. Near Death N In this mode, you cannot deal cards from the hand until all the legal moves have been made. Sudden Death D When sudden death is ON, if you miss a play you're history. Be sure all the plays have been made before clicking the hand to turn up more cards. Fast Moves F When ON, the card movements are faster. Spread Talon x X With this option ON, dealt cards are spread horizontally so that you can see the last three cards dealt. Spread Talon y Y With this option ON, dealt cards are spread vertically down the screen, so that you can view all of the cards in the waste pile. Turn both Spread Talon functions OFF to view only the last card dealt. Palette P A simple Palette requester to fine-tune the colors for your monitor. Rules Discussion: ---------------- Hoyle's rules are implemented in five parts so to allow for a number of common play variations while still enforcing a set of rules. Still, you can turn them all OFF and move cards about freely. By manually enforcing your own choice of rules you can play a popular variation of Solitaire known as How-Many-Times-Do-I-Have-To-Cheat-To-Win. Don't be surprised if you get unexpected results when only a part of the rules are disabled. While one rule might seem to allow a particular move, another rule may still prevent it. Scoring: ------- The scoring method employed is based on a 50 dollar charge for playing a game, and a 5 dollar pay back for every card you move to a foundation. If all 52 cards make it to the foundations, then a bonus is included which makes a total score of 500 dollars, or a net profit of $450. AutoPlay Logic: -------------- Compared to the decision making processes of humans playing solitaire, AutoPlay's is bare bones. While it distinguishes between plays that move cards to the foundations and plays that move cards to a tableau pile, it does not recognize multiple plays. The first move it finds is the move it makes. Start: Make plays to the tableau until there are none. If there is a move to one of the foundations then Make the move then Goto start. If there is at least one card remaining in the hand then Deal once from the hand then Goto start. Ready the hand for another pass by picking up the waste pile. If the game is over, which depends on the dealmode, then Start a new game. Goto start. A variation of this method, which plays cards to the foundations as a first priority produced 10 to 20 percent lower returns for all dealmodes. AutoPlay Experiment: ------------------- Out of curiosity, I've wanted to know how the various dealmodes affect the odds of making money playing solitaire. To speed things up, I stripped everything possible from the program. Without all the whistles and bells, Klondike plays almost 4 games/second on an A3000. The following data was gathered using ten 10,000 game sessions for each dealmode. ave ave %Games std. return std. DealMode Won dev. /game dev. ===================================================== 1-Card 1-Pass 1.85 .15 -4.63 .88 3-Card 3-Passes 3.05 .11 -5.90 .56 3-Card N-Passes 6.74 .20 14.62 1.00 3-Card N-Pass Rev. 21.78 .43 95.41 1.93 1-Card N-Passes 26.38 .69 118.94 3.04 Its interesting that while the average loss per game in the first two dealmodes are about the same, the number of wins in the 3-Card 3-Pass mode is much higher. I guess you don't win as often in the 1-Card 1-Pass mode, but when you lose, you don't lose as bad. After 1 million games in the 3-card N-Passes mode, Klondike averaged 14.57 profit per game and won 6.72 percent of the time. Again, these results are based on a very simple play strategy. A human can improve them by selecting plays intelligently. Alternate Installation Scheme: ----------------------------- If for some reason you want to start Klondike from the CLI, and from a different directory than where Klondike's files are stored, this will interest you. The problem with the normal installation is that Klondike won't be able to find its support files. To remedy this situation, ASSIGN KLONDIKE: (to your Klondike's directory). When Klondike is first started, is tries to find the document file in the current directory. If found, all support files will be read from and written to the current directory. If the doc wasn't found in the current directory, it tries volume KLONDIKE: and uses that directory if it can find the doc. If the doc isn't found in either of these directories, Klondike exits. Changes v1.19: ------------- New Autoplay function. Computer plays on its own until a mouse or keyboard event occurs. New Undo function. Uses a history buffer to undo moves. Remembers upto 400 moves. New Concede game function to view the face-down cards when there are no more moves. Modified the Move indicator mode so that clicking the Play box will tell you which card can be played. (Jeff Lavin) Expanded the logic for finding and handling support files. Support files may be kept in the current directory or the assigned directory KLONDIKE:. The location the document file determines where the remaining support files are expected to be and where the settings file is saved. (James Sherman) Fixed the only known bug, in the hot-key menu shortcuts. The qualifying Right-Amiga key wasn't supposed to be required. Separated the Spread Talon option into its x and y components. Turn them both off to see only the top card in the waste pile. (Bill Falls) This ended up changing the size of settings file. Klondike v1.9 can read either settings file, but writes only new ones. Klondike v1.8 ignores the newer settings files. Added ability to abort a WallyWarpUp. Any mouse or keyboard event serves to halt the Warp. Shuffles are more thorough and still efficient. (Jeff Lavin) The 3-Card n-passes Rev dealmode now uses a hidden pile, just right of the hand, which ends up showing the cards being reversed as they are dealt. This cleaned up my voodoo code in the reverse dealmode, which was needed to complete the Undo function. Fixed the unreported bug in the keyboard menu shortcuts. The qualifying right-Amiga key isn't required to activate a menu item from the keyboard. Changed the input handling so that you can double-click ahead when dealing from the hand, so long as your not in the sudden-death mode. (Bob Starkey) Minor changes to a few of the card images. Klondike Trivia: --------------- In 1897, news of a gold strike on a tributary of the Yukon made the name "Klondike" famous. The word "Klondike" is thought to be a corruption of "Thron-diuck", an Indian word which translates as "hammer water". It is said to be derived from the fact that the natives drove stakes across the shallow mouth of the stream as anchors for their salmon nets. Of coincidence, is the fact that another game of solitaire called Canfield, was being played about the same time that news of the gold strike was heard. A proprietor of a famous gambling dive at Saratoga made a fortune charging $50 per deck and paying $5 for every card played to a foundation. Even though the rules of Canfield solitaire resemble Klondike's, the odds of winning proved much to Mr. Canfield's advantage. "Games for one player are childish and simple, and are not worth learning. When a man is reduced to such a pass as playing cards by himself, he had better give up..." Captain Crawley, "The Card Players Manual", 1876 "Patience is the mental equivalent of jogging. Its purpose is to tone the brain up and get rid of unsociable flabbiness." David Parlett, "The Penguin Book of Card Games", 1979 Quirks: ------ Intuition doesn't provide a means of turning ON several menu checkmarks internally, so using the multiple menu select feature of AmigaOS to turn ON all the rules doesn't show the checkmarks until the right mouse button is released and the menu is reactivated. Too bad we don't have a MutualInclude field in the MenuItem structure that would turn MenuItems ON the way the MutualExclude field turns them OFF. Still minor font problem in the menus when the system default font is larger that TOPAZ 8. Moving cards flutter. I needs to use the Amiga's bobs instead of.... A few when moving cards which exist off the bottom of the screen. Wish List: --------- 1) Reset Game/Undo All function. 2) 600x400x3 graphics. Card images with rounded see-through corners and faster smoother graphics. 3) Compete against other players, human and or computer. 4) Compete in several scenarios, where a certain condition determines the end of the competition. Be able to limit the number of games in a session or ending when the balance reaches a particular level. 5) Be able to enter a starting balance. 6) Keep accounts and histories for multiple players. 7) Ability to double-click and automatically move a card to its foundation. 8) Ability to use a DPaint brush as the image for the back of the cards. 9) A penny for every game of WallyWare Solitaire played. Your input welcome! THANKS! to: ---------- Bob Starkey, imagery and program design. Randy Evers, Alan McMindes and family, for torture testing. Mike McDougal, many members of the Oklahoma City Amiga user group, OACES. and to everyone that sent in a registration for v1.8. Your suggestions and contributions were very helpful. Bit Artist: ---------- Gaylan Wallis WallyWare 1324 Parkwoods Terr. Midwest City, OK 73110-7439 USA Residence/business Voice 405-733-2768 BIX: gwallis Amy Source BBS 405-793-1097 24hr 1200-14400 Amiga Line BBS 405-324-8061 24hr 1200-2400