Copyright: Dan Reed  Bad Elf SW


yesyesyesyesHELLLP! GeneratedSOLOyesyes22/01/95


Table of Contents

SOLO

The Solitaire Graphical Game Maker and Player

by Dan Reed

Copyright 1994     Bad Elf Software

Introduction

Installing/Uninstalling

Playing A Single Game

Playing A Tourney

Play Mode Keys And Buttons

Revision History

Known Bugs And Omittances

Options

STOP: If you don't want to edit or create any games then don't read beyond this.

Edit Mode

Edit Mode Buttons And Keys

Game Info

Solitaire Objects

Display

Deck

Foundation

Stock

Waste

Tableau

Reserve

Hold

Other - Draw Card

Other - Collector

Other - Popper

Other - Row/Column

File Formats


Introduction

Well what is SOLO? Yes it's another solitaire game. Just not any one specific game but a number of games. In fact hopefully it'll play all your favorite solitaire games. Since I don't know what your favorite solitaire game is you'll have to tell SOLO how to play it. SOLO allows game creation by visual programming. You drop objects that are chosen from a menu and toggle a few buttons and 'Frank Viola' instant game.

Why SOLO? Well if your like me you have 4 or 5 different solitaire games. Some are very good and some you have just because it's a good card game. I'm not promising that SOLO's version of Spider(a game) is better than the program you have that only plays Spider. Hopefully one day it'll be BUT I am saying I like variety and SOLO gives variety and choice. Ever played a game and thought to yourself, "That's not the way I used to play this.". Well now you can change the game and play it the way you like it. Ever said I used to play the game "such-and-such" but now I can't find my deck of cards so I don't. Well add it to SOLO's game lists.

Some features:

create games graphically. No programming involved.

tourney play

standard mouse use

This game is FREEWARE. No guilt in using this game. Distibute freely but use the original .ZIP file you received.

This was made for Windows 3.1. I used the 'SuperVGA 800x640' graphics mode so I don't know how some games will look on smaller resolutions. You can scale the cards to fit smaller screens.

FEEDBACK

If you have any requests, comments, gripes, or whatever just send me E-mail. If you've come up with a game you'ld like to share and want included with future versions send it to me. You can't make your favorite game because of features lacking in SOLO then make a request. All I ask is that messages be polite.

Send mail or UUENCODEd files to:

alierha@access.digex.net

Remeber you can send mail to this address from all the commercial networks(AOL,Compuserve,...) and some free networks(FIDO).

Don't assume I know about a bug or missing feature. Unfortunately the worst person to playtest a program is the programmer. Also I don't mind if you point out spelling errors, some people apparently do.

THANKS

Thanks to the people who have given feedback(positive or negative). Actually most has been positve except for those nasty bug reports. Keep writing or things will never be fixed,added, and such. I do plan to support this program since I actually play it myself. I keep all suggestions in a text file. Just because its not in this version doesn't mean I'll not get around to it. Feel free to suggest again(sometimes things get lost.)

I have a backlog of user requests that I am going to implement but haven't gotten around to. Most or all of the user requests will be implemented so don't feel left out.

Dan


Installing/Uninstalling

Everything you need is in the SOLOx-xx.ZIP file. You can decompress into any directory. SOLO will not create any files out of the directory you run it from. No extra files in your cluttered C:\WINDOWS directory. No more junk added to your .INI files. What you should get is

    SOLPLR.EXE	the executable

    *.SOL                       individual game files. You only need the files for the games you are going to play

    CARDBACK.DLL         contains the pictures. Replace with your own VBCARDS.DLL if you

like. Details later

    CARDFACE.DLL	contains the pictures. Replace with your own VBCARDS.DLL if you

    SOLO.HLP	this file

    RULES.HLP	Some rules for various games supplied

    GAMELIST.DAT	Keeps track of what games are available and highscores

SOLO will make

    SOLPLR.INI	Saves screen info and options

To uninstall in case you don't like this game(or hopefully because you got a newer version) just delete the directory you decompressed the .ZIP into. Since everything is in 1 directory its all gone(Yes this is a pet peeve of mine with other programs that add stuff everywhere and don't tell you about it). If you are updating then you should save the .SOL files you created and the GAMELIST.DAT file.

You will have to add and remove the icon from whatever group you've added the program to manually.


Playing A Single Game

1.) From menu select GAME-CHOOSE

2.) A dialog appears. Highlight the game you want to play. Press 'Choose' button.

3.) From menu select PLAY-DEAL

To replay same game just select PLAY-DEAL again.


Playing A Tourney

A tourney is a group of games played in succession to obtain a high score or just to avoid GAME - CHOOSE when you want to switch games.

1.) From menu select GAME-START TOURNEY. The first game appears and is dealt.

2.) When game is stuck or won select from menu GAME-NEXT GAME.

After all games are played a dialog appears to ask for your name and shows you where you stand in the high score rankings.

To add/remove games from tournament you select from menu GAME-CHOOSE. A dialog appears with a list of games. Some of the games have '+' character in front of them. These games are selected for the tourney. Pressing the 'Mark For Tourney' button will toggle the status of the highlighted game. This way you can make the tourney up with only the games you like. Changing the tourney in anyway will reset the high scores, so if 2 or more people use the same computer a compromise on game choice is necessary.

Note that no editting is allowed while in a Tourney.


Play Mode Keys And Buttons

Left Mouse Button	Drag from 1 pile to another

Clicked on stock to turn cards over or refill stock when stock is empty

Right Mouse Button

Click on object to automatically move cards. SOLO will look for foundations first and then any object that will take them.

ALT-V	View cards in a pile. Useful when the pile is crowded.

CTRL-Z	Same as PLAY - UNDO


Edit Mode

To get into edit mode select from menu MODE-EDIT. You can now create games or change existing games.

To make a new game:

1.) select EDIT-NEW from menu. Screen should clear.

2.) select EDIT-NAME. Fill in description and and file name to save game in. I used *.SOL for these files but the choice is yours.

3.) select EDIT-DECK if your game uses anything other than 1 Standard deck of cards.

4.) drag and drop objects from menu choice OBJECT to create game. More on this later.

5.) choose EDIT-SAVE to save your creation.

To edit an old game:

1.) select EDIT-LOAD from menu if game isn't on screen already.

2.) drag and drop objects from menu choice OBJECT to change game. More on this later.

3.) choose EDIT-SAVE to save your creation.

You can now play the game by selecting MODE-PLAY and PLAY-DEAL. Go back to editting by MODE-EDIT. Go back and forth until game is the way you want it. Remember to EDIT-SAVE when its done.


Edit Mode Buttons And Keys

Left Mouse Button	positions/repositions objects on screen by dragging

Right Mouse Button	when positioned over an object and clicked a dialog that customizes(edits) that object

Control-Insert	Copies object the cursor is over into paste buffer

Shift-Insert	Cursor changes to Paste a copy of the object wherever you click Left Mouse Button next.

Delete	Removes object that cursor is over.

Control-O	Changes the order number of the objects.


Solitaire Objects

Think of every place you place your cards in a game as one object. These objects have traditional names that you may be unaware of but will learn. When making a game you will get object from the menu selection OBJECT-* and drop it on the screen somewhere. Objects that are used less frequently in games are found in the menu selection OBJECT-OTHER-*. The

objects can be customized by opening its 'Edit' dialog. The dialog will allow you to change what cards can be placed here and what cards can be removed from the object. Each object has default settings that while are close usually aren't exactly what you want for your game.

Hint: If placing more than one object of the same type try this. Place one object and edit it the way you want. Use Control-Insert to copy and multiple Shift-Inserts to duplicate the object with your settings already there.

Each object type will be described below in more detail. To get a better understanding of the object names 'CHOOSE' the game Klondike. This game is the standard game everyone learns when they think of solitaire. Choose MODE-EDIT and look at the object names. Open them up and look at their settings.

When in Play mode the object is a rectangle slightly larger than a card and is empty except for the name of the object. In Edit mode the object also is enlarged to show how much space a full object takes on the screen. Along with the name of the object is a number. This is the ordering number. This determines which object will get dealt to first and what objects are looked at first when you want to automove a card. Solo will still try to play cards first to Foundations before Tableaus.

Most objects refer to 'builds'. A build is how the cards are allowed to overlap each other. You usually build by rank and suit. The following describe the choices presented for building.

Rank

UP -  build Ace,2,3,4,5,6,7,8,9,10,Jack,Queen,King

DOWN - build King,Queen,Jack,10,9,8,7,6,5,4,3,2,Ace

ANY RANK - ignore rank for building. Usually use suit only to determine building

ADJACENT - build on a card if UP or DOWN from card. Example a 9 could receive 8 or 10

By

The difference in rank of one card to the next. In the Rank UP and DOWN above the interval is 1. If interval was 2 then you would build up Ace,3,5,7,...

Circular

Usually used when 'By' is not 1 but doesn't have to. If this is checked then the build wraps around. If UP By 1 was set along with this then a build could look like: 10,Jack,Queen,King,Ace,2,3,...

Suit

ANY SUIT - ignore suits for building

SAME SUIT - only if of the same suit

ALTERNATING COLOR - red,black,red,black,...

SAME COLOR - black on black, red on red

OTHER SUIT - any suit as long as not the same. No Spade on Spade

Display Display Menu


Display

Some object 'Edit' dialogs will have a menu item DISPLAY. Selecting DISPLAY will open a dialog that controls how the object will look with cards on it. The following is a description of the Edit Display dialog box.

Only Top Card Visible - if checked then you will only be able to see the top card and none else

Grow - controls direction that cards overlap each other. Your choices are down or right.

# cards visible - The number of whole cards that can be displayed at once. Making this too large will result in drawing over other objects. When the number of cards in a pile exceeds this setting the bottom cards are squished together. When playing use the ALT-V command to see whole pile.


Deck

Not really an object but important. You can change the deck by selecting from the menu EDIT- DECK. Right now you can only control how many standard decks are used in a game. A standard deck being 4 suits with 13 cards each.


Foundation

This is where you want all the cards to go to end the game. You only add cards to the foundations and never remove. Usually you only see the top card so that is the default 'Display'.

The following describe the 'Edit Foundation' dialog controls.

Build - the items describe the cards that can be accepted. See above for description of 'build' settings.

Whole Pile - check if only a complete build (13 cards) can be placed here

Card Dealt Here  - controls what cards are placed here at original deal. Choices are:

None - no cards

Card - a card of the rank in adjacent list box

Any - checked along with Card being selected to indicate that a card is dealt here and it doesn't matter which card it is

First Card Sets Rank - Sometimes you have foundations and you don't care what the first card played to the first foundation is BUT you want all the rest of the foundations to start with the same card. For example lets say you have 4 foundations and they are all empty. The first card played to a foundation is an 8. The rest of the foundations will now only accept 8s as the first card.

Limit Size If checked then this foundatiopn can only collect the amount of cards listed.


Stock

The stock is all the cards that weren't played down during the deal. These cards are face down and are turned over to be played on other objects. During play the stock is clicked on by the left mouse button. This tells the stock to turn over some cards or if the stock is empty to gather back cards. Cards gathered back from Tableus are reshuffled. Cards gathered from Waste piles are not reshuffled.

The Following describes the 'Edit Stock' dialog controls.

Turn To - Where the cards go from stock. You have three choices: Waste, Foundation, or Tableau objects

# cards to turn - the number of cards to turn over with one click of the mouse

unlimited redeals - If this is checked then you can gather the cards on the Waste again and again

# redeals - the number of times allowed in a game to gather from Waste/Tableau. Overridden by 'unlimited redeals'.

Top Card Available For Play - If checked then the top card of stock is visible and can be moved.

Shuffle During Redeal - if checked then the cards returned to Stock are shuffled.


Waste

The usual place that cards go when they are turned over. The waste cards are usually available for play.

'Edit Waste' dialog controls:

Top card available for play - if checked then you may move top card to another pile

Note that the Waste objects can only accept cards from Stocks.


Tableau

This is where you build piles in order to get them in a sequence to make play to foundations. Usually they are dealt a number of cards at time of deal.

'Edit Tableau' dialog controls:

Deal - controls what cards are dealt here at begining of game.

# down - number cards dealt face down

# up - number of cards dealt face up on top of the '# down' cards

Specific card - if checked put card selected in the adjacent list box.

Empty Space - what cards may be played here when this object is empty during the game

ANY CARD - anything can be put here

ANY - only card of the rank selected in the adjacent list box

NO CARD - once empty this tableau stays empty

Empty Space Fill From - from what objects the empty space must be filled from

ANY - anywhere

RESERVE THAN ANY - must fill from Reserve until Reserve is empty

RESERVE ONLY - only from Reserve

RESERVE THAN WASTE - only from Reserve until Reserve is empty. After that only from

Waste pile.

Build - the items describe the cards that can be added to tableau. See above for description of build settings.

Move - the items that can be removed from the tableau. It is legal for some combination of the following settings.

Top Card - Only the top card can be moved off

Whole Pile - must move entire pile of cards at once

Build Sequence - any amount of cards as long as they are in sequence

Move Same As Build - Checkde if the sequence cards you can remove from tableau is the same as the sequence you can add to the tableau. If it isn't then the second 'Build' display controls what can be removed.

Check Bottom Card Only - If checked then when a pile is moved onto the tableau only the bottom card of the pile is checked to see if it is in sequence with the top card of the Tableau pile. The rest of the card in the moving pile can be in any sequence.


Reserve

A reserve is used to hold cards that are received during deal. The top card is available for play and is the only card visible.

'Edit Reserve' dialog controls:

# deal - number of cards reserve is filled with during deal

Can Play To - If checked then allows cards to be played here.

Size Limit - If checked then only can play the number of cards specified.


Hold

A hold is a place that gets cards in no particular sequential order. The top card is available for play to foundations or tableaus. I consider the HOLD object to be duplicitous. You should probably use the RESERVE object as it has a similra functionality now.

'Max Number Cards' is maximun number of cards that can be in pile if 'Limit Number Cards' is checked.

'Limit Number Cards' enables 'Max Number Cards'


Draw Card

When you drag the left mouse button from an object to the 'Draw Card' object the list of cards in the original object is displayed. If you select a card that card is removed from the original object's card pile and placed on the 'Draw Card' object. This card is now available for play. 'Edit Draw Card'' dialog controls:

Only After Redeals Complete - if checked then no draws are allowed until after last redeal.

# draw - the number of draws allowed during the game


Collector

A special kind of Foundation used to collect cards without regard to sequence. The number of cards previously collected is what determines if a card can be dropped. A good example of its use is the game 'Osmosis'.

Collect Suit - If checked then will collect the suit listed in the drop down list. If the 'Any' box is checked then first card placed in the Collector will determine the suit.

Collect Rank - If checked then will collect the rank listed in the drop down list. If the 'Any' box is checked then first card placed in the Collector will determine the rank

Can Drop When - The drop down list helps determine when a card is allowed to be played.

•	ANY - any time

•	'N' of rank in all collectors - There must be 'N' cards in all the Collectors with the same rank as the card placed.

•	'N' of suit in all collectors - There must be 'N' cards in all the Collectors with the same suit as the card placed.

N - the number 'N' referred to in 'Can Drop When' drop list

Note: Usually you check 'Collect Suit' and choose 'N of rank' OR vice versa.

Deal Card To - Check if a card is to be dealt here.


Popper

An object that has a list of face down cards and when a card is dragged to it then the top face down card is turned up while the card dragged to it is placed face down. A good example of its use is the game 'Clock'.

Deal number down - The number of cards dealt here face down.

Deal number up - The number of cards dealt here face up.

Accept - The rank to accept.

Number To Accept - Maximun number of rank to accept.

Done When Full - Check this if the game should be over when this Popper is full.


Revision History

Version 0.01  - Jan 1994

The original.

Version 0.02 - Jan 1994

Menu only allows legal selections.

The GAME-CHOOSE probably couldn't find any files for you until you 'Delete' then 'Add' files back in. Sorry but the data files used to refer to a specific directory.

Add OPTIONS-CARD BACK to select the back of cards.

Made game and tourney scores visible.

Version 0.03 - Apr 1994

bug: VBCARDS.DLL wasn't unloaded after use

bug: copying objects didn't always copy all of the settings

bug: TABLEAU - 'Must Move Whole Pile' flag didn't work

TABLEAU - add 'Empty Space From' option list

RESERVE - allow DISPLAY menu options

FOUNDATION - added 'No Size Limit' check box

STOCK - allow to turn to FOUNDATION

new objects - COLLECTOR, POPPER

more example games added - Osmosis, Duke, Thirteen Up, Golf

the RULES.WRI is now a Help file RULES.HLP

Version 0.04 - Aug 1994

POPPER object fixed

bug: duplicating an object that had cards in its pile was bad

SOLO.WRI is now SOLO.HLP

new menu items: HELP, REDRAW

more example games: Eight Off, Scorpion, Scorpion 2, Fanny, Windmill, Alhambra

HOLD - added 'Limit Number Cards', 'Max Number Cards'

FOUNDATION - removed 'No Size Limit'. Added 'Limit Size To'

STOCK - added 'Top Card Available For Play'

WASTE - accepts moves from STOCK

new - GAME CHOOSE list is ordered alphabetically now

SOLPLR.EXE is now SOLO.EXE(a good name for SOLO!)

RESERVE - added 'Size Limit', 'Can Play To'

TABLEAU - added 'Check Bottom Card Only'

bug: EDIT - CLEAR cleared display

FOUNDATION - improved 'Deal Card' selection

new: Control-Z  is hot key for PLAY - UNDO

Version 0.05 - Jan 1995

new: ordering of objects in Edit Mode

bug: Reserve left empty crashed SOLO at deal

bug: Control-Z didn't work for undo

bug: left cursor became unusable sometimes

new - GAME CHOOSE: add 'Remove Game from DIR', double click in list enabled

seperated VBCARDS.DLL into 2 files. CARDBACK.DLL and CARDFACE.DLL

new: STOCK: added 'Shuffle During Redeal' flag

new: ROW/COLUMN objects


Known Bugs And Omittances

The 'EDIT-DECK'  only allows standard decks. Future will allow stripped decks or 5-suit decks if enough interest is shown.

'EDIT-WIN' and 'EDIT-STUCK' don't do a thing yet.

Editting with scaled cards doesn't work correctly yet.


Game Info

Selecting EDIT - NAME while in Edit Mode allows you to change

Filename that game is stored to.

Description text. This is appears in CHOOSE game dialog box and in title when game is loaded.

Allows you to point to a HELP file that has instructions in it. The filename is the name of the .HLP file. The .HLP file entry is the Help location to jump to. This is only good if you make your own Help file. If left blank it will go to the Contents of the .HLP file. I don't blame you if you don't make a Help file(lots of effort).


Options

OPTIONS - CARD BACK

Allows selection of the card back design. You can use your own file(File Formats) for the backs and fronts of the cards if you wish.

OPTIONS - SCREEN SIZE

Allows you to set the screen to standard sizes. Keep in mind when making a game for others that not everyone has a good monitor. Also I've noticed not everyone knows they can setup for more pixels and colors in Windows(a flaw in Windows).

OPTIONS - BACKGROUND COLOR

Pops up standard Windows color choose dialog box to allow you to change background color to something more pleasing to your eye.

OPTIONS - SCALE

Allows you to enter a percent of scale for cards and objects. 100 is normal size. You can fit more stuff on the screen for those who want to try those 4 deck games.


File Formats

CARDBACK.DLL

The card back pictures. The bitmaps are 71x96 and are named starting from '1'. If you use a VBCARD.DLL you will usually have the names starting at 60 and going to 66.

CARDFACE.DLL

The card front pictures. The bitmaps are 71x96. They follow standard VBCARD.DLL naming.

1 -> 13 : Ace to King Spades

14 -> 26 : Ace to King Hearts

27 -> 39 : Ace to King Clubs

40-> 52 : Ace to King Diamonds

53 : Joker

SOLO.INI

Here are the entries described of my .INI file. Most are changed invisibly by SOLO from the menu selections under OPTIONS. Others are described so you can use your own .DLL for pictures and what not.

[OPTIONS]

BACKGROUND.RED= <#>

BACKGROUND.GREEN= <#>

BACKGROUND.BLUE= <#>

; The background color selected from menu OPTIONS - BACKGROUND COLOR

CARDBACK.FILENAME=<file.DLL>

CARDBACK.BITMAP=<#>

; The card back design you chose from menu OPTIONS - CARD BACK

; You may also use your own file by adding/changing the lines in SOLO.INI

[SCREEN]

XPOS=<#>

YPOS=<#>

HEIGHT=<#>

WIDTH=<#>

MAXIMIZE=<#>

MINIMIZE=<#>

; Refers to last screen position when SOLO was exitted

SCALE=<#>

; The scaling of card/object display and size selected from


ROW/COLUMN

This object lays out a row of cards. Unlike other objects the cards are not ovelapped so all are available for play. Also there may be empty spaces in the row. An example game that uses Rows is Gaps.

Build - the items describe the cards that can be added to tableau. See above for description of build settings.

Any Card To Empty Space - Allows any card to be played to an empty space otherwise it must follow the Build sequence.

Deal - Choose what side to deal to. Choices are 'Left/Top' and 'Right/Bottom'

Space Left - This is the number of spaces that are left between the dealt cards and the cards in order. For example you have 3 cards in order in a row of 7. If you redeal to this row and have Spaces Left=1 then you will have

3 cards in order remain      1 space     3 cards redealt here