Solitile Essay Research Paper SOLITILE rev 35

Solitile Essay, Research Paper SOLITILE rev 3.5 Copyright 1989-1994 by Everett Kaser All Rights Reserved Requires EGA or VGA, mouse is optional All files listed at the end of this section are Copyrighted

Solitile Essay, Research Paper

SOLITILE rev 3.5

Copyright 1989-1994 by Everett Kaser

All Rights Reserved

Requires EGA or VGA, mouse is optional

All files listed at the end of this section are Copyrighted

and may NOT be redistributed separately from the entire Solitile

package, or other than as outlined on this page and in Sections

I and II of this document.

Solitile is a game of solitaire, played with “tiles”. It derives

from several similar games, such as “Shanghai”, “Gunshy”, and

“Mahjongg”, which are played with Mah-Jong tiles. Solitile plays

the same game, but adds new starting layouts and the ability for the

player to create new layouts and/or modify the layouts provided. It

has, built-in, “westernized” pictures on the faces of the tiles, and

can also use alternate tile-sets, and the program includes a tile

editor so that the user may alter existing tile pictures or create

entirely new sets. Solitile 3 can also read in and use tile sets

created for use with Nels Anderson’s Mahjongg game (of which there

are hundreds available).

SOLITILE is being distributed as Shareware. If you use the game

for more than one week, you are expected to pay for its use. To

register the game, send the registration fee of $15.00 (U.S. funds)

to the author. For your convenience, the file REGISTER.DOC may be

printed to obtain a registration form. The author may be contacted at:

Everett Kaser phone: (503) 928-5259

Solitile Weekdays: 6:00pm – 9:00pm Pacific Time

PO Box 403 Weekends: 8:30am – 9:00pm

Albany, OR 97321-0117 VISA and MASTERCARD accepted

Compuserve: 70673,1547

internet: hplabs!hp-pcd!everett


The game package, which MUST include the files listed below, may be

freely copied and distributed. The individual files may NOT be copied

or distributed seperately. The use of this package is subject to the

conditions outlined in section II of this file. Included files:







SOLITILE — Table of Contents


I. ASP Ombudsman and Definition of Shareware

II. Disclaimer, License Agreement, and Support

III. Installing and Starting the Program

IV. Introduction to Solitile 3

V. Playing the Game

VI. Game Menu Items

VII. The MAIN Menu




XI. The LAYOUT Editor

XII. The TILES Editor



XV. Hints On Play

XVI. Bugs and Versions

XVII. Products Available From Everett Kaser Software


This program is produced by a member of the Association of Shareware

Professionals (ASP). ASP wants to make sure that the shareware

principle works for you. If you are unable to resolve a

shareware-related problem with an ASP member by contacting the member

directly, ASP may be able to help. The ASP Ombudsman can help you

resolve a dispute or problem with an ASP member, but does not provide

technical support for members’ products. Please write to the ASP

Ombudsman at 545 Grover Road, Muskegon, MI 49442 or send a CompuServe

message via CompuServe Mail to ASP Ombudsman 70007,3536.

Shareware distribution gives users a chance to try software before

buying it. If you try a Shareware program and continue using it, you

are expected to register. Individual programs differ on details — some

request registration while others require it, some specify a maximum

trial period. With registration, you get anything from the simple right

to continue using the software to receiving an updated program with

a printed manual.

Copyright laws apply to both Shareware and commercial software, and the

copyright holder retains all rights, with a few specific exceptions as

stated below. Shareware authors are accomplished programmers, just like

commercial authors, and the programs are of comparable quality. (In

both cases, there are good programs and bad ones!) The main difference

is in the method of distribution. The author specifically grants the

right to copy and distribute the software, either to all and sundry or

to a specific group. For example, some authors require written permiss-

ion before a commercial disk vendor may copy their Shareware.

Shareware is a distribution method, not a type of software. You should

find software that suits your needs and pocketbook, whether it’s com-

mercial or Shareware. The Shareware system makes fitting your needs

easier, because you can try before you buy. And because the overhead

is low, prices are low also. Shareware has the ultimate money-back

guarantee — if you don’t use the product, you don’t pay for it.



Users of SOLITILE must accept this disclaimer of warranty:

“SOLITILE is supplied as is. The author disclaims all warranties,

expressed or implied, including, without limitation, the warranties of

merchantability and of fitness for any purpose. The author assumes no

liability for damages, direct or consequential, which may result from

the use of SOLITILE.”



SOLITILE is a “shareware program” and is provided at no charge to

the user for evaluation. Feel free to share it with your friends, but

please do not give it away altered or as part of another system. The

essence of “user-supported” software is to provide personal computer

users with quality software without high prices, and yet to provide

incentive for programmers to continue to develop new products. If you

find this program useful and find that you are using SOLITILE and

continue to use SOLITILE after a reasonable trial period, you must

make a registration payment as described on the first page of this

document. The applicable registration fee will license one copy for use

on any one computer at any one time. You must treat this software just

like a book. An example is that this software may be used by any

number of people and may be freely moved from one computer location to

another, so long as there is no possibility of it being used at one

location while it’s being used at another. Just as a book cannot be

read by two different persons at the same time.

You are encouraged to pass a copy of SOLITILE along to your friends

for evaluation. Please encourage them to register their copy if they

find that they use it. All registered users will receive a copy of

the latest version of the SOLITILE.

Site-Licenses and quantity discounts may be arranged by contacting

Everett Kaser Software.


Anyone distributing SOLITILE for any kind of remuneration must

first contact Everett Kaser at the address above for authorization.

This authorization will be automatically granted to BBS’s and

“traditional mail-order shareware distributors” recognized by the ASP

as adhering to its guidelines for shareware distributors, and such

distributors may begin offering SOLITILE immediately. However,

Everett Kaser must still be advised so that the distributor can be kept

up-to-date with the latest version of SOLITILE). “Traditional

mail-order shareware distributors” are those offering disks of share-

ware programs for little more than the normal cost of running such a

business (usually no more than $5 per disk), usually from a printed

or on-disk catalog. It does NOT include any sales through retail



All other forms of distribution require the express written permission

of the copyright holder before distribution may begin. These include,

but are not limited to, CD-ROMs, racks, bins, and any other forms of

“retail sales”. If you’re interested in distributing SOLITILE

by one of these (or other) means please contact Everett Kaser Software.

We’ll be glad to discuss your distribution idea with you. This

restriction is to ensure that our software is distributed in fashions

which we find acceptable to us and our customers.


Support for products from Everett Kaser Software is available via

phone, mail, and Compuserve email for a period not less than one year

or the duration of my life, which ever is shorter, and not to exceed

your life-time or mine, which ever is shorter. See the first page of

this document for phone number, mail address, and Compuserve email

address. Updates are available at any time to registered users for a

$7 fee to cover costs of labor, materials, shipping, and handling (and

to keep me from feeling badly). Bug fixes for major bugs (if any ever

occur) will be shipped free to registered users for a period of three

months after the date of registration.


It is recommended that you install Solitile in its own sub-directory

on your hard disk (or on its own floppy disk if you have no hard disk),

because the program has many support files, and placing them in their

own sub-directory will keep them all together and keep your other disk

directories from getting too cluttered.

To create a sub-directory for Solitile, you might type one of the

following commands:




These are only examples, and you’ll have to decide upon a sub-directory

path that makes sense given the structure of YOUR hard disk. Once the

sub-directory has been created, you’re ready to install Solitile into

that sub-directory. If you received the files on a floppy disk, as

separate files, you would do something like:




If the program came as an archive file of some sort (.ZIP, .ARC, .LZH,

etc), you will need to copy the archive file into the sub-directory

that you created (using the COPY command), then type something like:



Once the program is installed, you can change to that sub-directory at

any time and run the program, or you can specify the path to the

SOLITILE sub-directory in your PATH environment variable (set in your

AUTOEXEC.BAT file), and then Solitile can be run from anywhere on your

hard disk without first changing to the Solitile sub-directory. (If

you do add SOLITILE to your PATH statement, remember that you will have

to reboot your computer before the PATH actually gets modified.)

The program has no optional arguments and is started by typing


The program first generates the background (see Section XIV: The

Background Editor), then draws the game screen. A copyright message

is drawn in a panel over everything else, and it may be exited at

any time by pressing a key or clicking a mouse button.

The first time the program is run, the user will be prompted for a

player name. This name must be from 1 to 8 characters long, and it

may only contain valid DOS file name characters as it will be used

to create a .PLY file for storing that player’s statistics.

Also, the first time the program is run, the HELP screens will be

displayed. This will ONLY happen the first time the program is run.

Thereafter, the HELP may be accessed via the main MENU.


The set of tiles consist of 168 individual tiles. There are 42

different pictures on the faces of the tiles, with each picture

appearing on four tiles.

The object of the game is to remove all of the tiles from the board.

Tiles are removed in matching pairs. For a tile to be removable, it

must not have any other tiles on top of it, and it must have either

its entire right side exposed, or its entire left side. “Exposed”

means that there is not another tile on the same level and laying

immediately against it.

A few definitions of terms:

LAYOUT: the starting pattern or arrangement of tiles, disregarding

the faces of the tiles. This simply tells the program where

to place tiles when starting a game, but not WHICH tiles to

put in any given place. Layouts are stored individually in

disk files, so there can be many, many different possible

layouts. There are 12 layouts provided with the game.

You may add to, delete, and modify these layouts. Each layout

may contain anywhere from 4 to 168 tiles, in multiples of 4

(ie, 4, 8, 12,…160, 164, 168).

BOARD NUMBER: a number between 0 and 65535, which is used to control

the placement of specific tiles in the starting layout. This

number allows you to replay a specific game at will. The game

normally starts any particular layout at Board 0. It keeps

track of the last board you were playing, and when you solve

a board, the Board number is automatically incremented. You

may specify a new Board number at any time.

MENU ITEMS: On the main game screen, any grey box around the side of

the display that contains BLUE lettering is considered a MENU

ITEM. This means that it can be activated by pointing to it

with the mouse a clicking the LEFT mouse button, or by pressing

the key corresponding to the first letter of the MENU ITEM’s

title. (ie, T for Tileset, L for Layout, M for Menu, etc.)

At all other times, the MENU ITEMS are grouped together in one

large grey panel, where each individual item can again be

activated by clicking on it with the mouse or by pressing the

key corresponding to its first letter.

BUTTONS: the Left and Right Buttons refer to the buttons on your

mouse. If you don’t have a mouse, the HOME and PGUP keys on

the numeric keypad of your keyboard perform the same functions.

These two buttons are used to control the game action. The

meaning of the two buttons is always shown in the upper right

corner of the game display.


To select the first tile of a pair to be removed, move the cursor

onto the tile and press the LEFT BUTTON. This will cause that tile

(if it’s removable, ie. not blocked by other tiles) to be highlighted.

Once you’ve selected the first tile of the pair, move the cursor to

the second tile and, again, press the LEFT BUTTON. This will cause

the second tile to be highlighted. At this point, pressing the

LEFT BUTTON a third time will cause those two tiles to be removed,

or pressing both BUTTONs together will de-select the two tiles. If

VERIFY mode is not on, then the two tiles will be removed immediately

that you click on the second one, without requiring the third verific-

ation click. If the BLINK mode is set, then the highlighted tiles

will blink, revealing the tiles beneath them. See Section IX, The

Player Setup Menu.

A shortcut for selecting the second tile is to use the RIGHT BUTTON.

First, select the first tile using the LEFT BUTTON. Then, pressing

the RIGHT BUTTON will cause the computer to search for a removable

matching tile. If one is found, it will be highlighted. Once both

tiles are highlighted, pressing the RIGHT BUTTON again will cause

the computer to look for a different tile to use as the matching

tile. The RIGHT BUTTON can be used repeatedly to cycle through all

possible matches for the first tile you selected. When using this

method to select the second tile, VERIFY mode has no effect, and the

third verification click is required, since you may want to use the

RIGHT BUTTON to cycle through several possible matches.

If you’re having trouble finding a matching pair of removable tiles,

or if you want to see all of the pairs that are currently removable,

press the RIGHT BUTTON before selecting a tile. This will cause the

computer to search for all matching tiles that are removable. It

will highlight them, one set at a time. To cycle through the sets

of removable tiles, repeat pressing the RIGHT BUTTON until a message

appears informing you that there are no more matches. At any time

during this “help cycle”, pressing the LEFT BUTTON will abort the

“help cycle”. If VERIFY mode is off, there will be no message when

you reach the end of the “help cycle”, there will simply be no high-

lighted tiles.

As a general rule in Solitile 3, any pop-up menu may be escaped from

by pressing the ESC key or by clicking the RIGHT BUTTON.


Menu options available (and keystroke to activate them if you don’t

have a mouse) while playing the game are:

(M) MENU This activates the MAIN MENU. See Section VII.

(P) PAIRS This searches for any possible matching pairs and tells

you how many are available. Similar to clicking the

RIGHT BUTTON with no tiles selected, except that it

only tells you the number of matches available WITHOUT

showing you the matches.

(U) UNDO This, uh…, un-does your previous moves (it replaces

removed pairs in reverse order) letting you back up.

(R) RETRY This re-starts the current game (same layout, same

board number) from the beginning. Use this when you

get stuck but want to give it another shot.

(D) DOS This will attempt to “spawn” a copy of COMMAND.COM,

without exiting the game. This allows you to get to

the DOS COMMAND prompt without terminating your game.

Possible reasons that it might not work is if you have

insufficient memory to load the COMMAND interpreter on

top of SOLITILE, or if the file COMMAND.COM can’t be

found by SOLITILE on your path. Once you’ve gone to

the DOS prompt this way, you must issue the EXIT

command to return to your SOLITILE game.

(B) BOARD This allows you to select a new board number. Options

provided are:

(N) NEXT increments the board number

(R) RANDOM selects a random board number

(S) Specify allows you to specify the board

(L) LAYOUT Brings up the FILE SELECTION MENU (see Section VIII)

and allows you to select a new LAYOUT file. The

selected layout will become the new default layout for

the current player. All LAYOUT files have a file

extension of .LYT.

(T) TILESET Brings up the FILE SELECTION MENU (see Section VIII)

and allows you to select a new TILESET file. The

selected layout will become the new default tileset for

the current player. All TILESET files have a file

extension of .STL (Solitile style tilesets) or .TIL

(Mahjongg style tilesets). The Tileset File Selection

Menu does not automatically terminate, but rather it

displays the selected tile set for your inspection, and

allows you to select another or EXIT, accepting the

displayed one. This allows you to “browse” through the

various tilesets that you may have available to you.

( ) player name In the top center of the main game display is a box

containing the current player’s name. This box may be

clicked upon with the mouse for a quick access to the

Player Setup Menu (see section IX). There is no key-

stroke for quick access to this menu. From the key-

board, you must first bring up the Main Menu (with the

M key), then select the Player Setup Menu.


In the top portion of the MAIN Menu, there are these options:

(G) GAME This returns you to Main Game Display, where you may

continue playing your game.

(H) HELP Displays the Help screens, which explain the basic

game playing information.

(S) SAVE GAME Saves the current game into a file with the current

player’s name and an extension of .SAV.

(R) RESTORE GAME Restores the current player’s previously SAVEd game.

(P) PLAYER SETUP Brings up the Player Setup Menu (see Section IX).

(E) EDITORS Brings up the Editors Menu (see Section X).

(Q) QUIT TO DOS Exits the program.

In the bottom portion of the MAIN Menu is information regarding the

current player’s performance with the current Layout. It shows the

player’s name, the current Layout name, and a window containing the

list of Board numbers that the player has solved on the current Layout.

Not all solved board numbers may fit in the window so scroll buttons

are provided for use with a mouse, and the cursor keys and PgUp/PgDn

keys may be used from the keyboard to scroll the list up/down.


The FILE SELECTION Menu is used at a number of different places in the

game, to select the player, layout, tileset, music, and GIF files. In

all situations, the FILE SELECTION Menu works the same. It provides a

list of all SUB-DIRECTORIES, followed by a list of all available files

with the appropriate file extension. These file extensions are:

.PLY player files

.LYT layout files

.STL Solitile tile set files

.TIL Nels Anderson’s Mahjongg tile set files

.MUS music files for Theme and Win music

.GIF picture files for background picture

From the keyboard, files or sub-directories may be chosen by using the

cursor and PgUp/PgDn keys to highlight the desired item, then pressing

the Enter (Return) key. In this way, you can navigate up and down the

sub-directory tree, as well as load the desired file. The current

PATH is always displayed immediately above the “files” window. With

a mouse, the sub-directory or file may be selected by pointing at it

with the mouse cursor and double-clicking the LEFT BUTTON. (If your

double click is not quite quick enough, all that will happen is that

the item you pointed to will become highlighted.) With the mouse you

can also scroll the window and highlighted item up/down by clicking

with the LEFT BUTTON upon the:


SINGLE UP ARROW — move highlight bar up/scroll up

SINGLE DOWN ARROW — move highlight bar down/scroll down


Other items that are available on the FILE SELECTION Menu are:

(L) LOAD —– Loads the currently highlighted item.


(R) RENAME Lets you Rename the currently highlight item.

(C) Copy Copies the currently highlighted item to another file.

(D) DELETE Lets you Delete the currently highlighted file.


Each player may configure the game to his or her own preferred setup.

This setup is then stored in the player’s .PLY file, along with all of

the solved board numbers for each layout that the player has tried.

The current player’s name is stored in the file SOLITILE.CFG. That

name is then used to access the .PLY file for that player. The current

player may be selected/changed from the PLAYER SETUP Menu:

(P) PLAYER allows you to select or add a player.

(E) EXIT exits the Player Setup Menu

(G) GIF FILE lets you specify the .GIF file to be used as a back-

ground for the current player.

(T) THEME toggles the Theme music on and off. If done from the

keyboard with the T key, also allows selection of the

THEME music file.

(R) REMOVE TILES toggles on and off the sound for removing tiles

(U) UNDO toggles on and off the sound for undo-ing.

(N) NO MOVES toggles on and off the sound for NO-MORE-MOVES

(W) WIN toggles the Win music on/off. From the keyboard with

the W key, also allows selection of the WIN music file.

(B) BLINK toggles on/off “blinking tiles”. When on, then during

game play, selected tiles will “blink”, alternately

showing the tile beneath them and themselves as a neg-

ative image. This may be considered cheating by some,

so when BLINK is enabled, you’ll be unable to select a

tile unless it has a removable matching tile available.

(V) VERIFY toggles on and off “verify tiles”. When on, Solitile 3

will play much as previous versions of Solitile, where

you first clicked on one tile to select it, then click-

ed on a second tile to select it, then clicked a third

time to remove those two selected tiles. With VERIFY

off, the selected tiles will be removed automatically

as soon as the second one is selected. However, when

first selecting one tile, then using the RIGHT BUTTON

to locate/highlight the second, a verifying click of

the LEFT BUTTON is still required, as the computer’s

selected match may not be the one that you had in mind.

(H) Hide GIF toggles on and off displaying of .GIF file.

When using a mouse, you may also click upon the items listed at the

bottom of the PLAYER SETUP Menu:

Player The current player’s name

GIF The current player’s background picture file name.

Theme The file name for the current player’s Theme music,

which gets played when the game first starts up (if the

THEME sound is enabled).

Win The file name for the current player’s Win music,

which gets played when a board is solved (if the WIN

sound is enabled).

Besides the “solved board numbers” and the above items, the additional

things that are kept in the player’s .PLY file are:

the player’s current LAYOUT (selected from main game display)

the player’s current TILESET (selected from main game display)

the player’s FRAME PATTERNS (created in the Frame Editor)

the player’s BACKGROUND PATTERN (created in Background Editor)


The EDITORS Menu gives you access to the several “editors” available

with Solitile 3:

(L) LAYOUT Modify existing layouts or create new ones of your

own. (See Section XI.)

(T) TILES Modify existing tilesets or create new ones of your

own. (See Section XII.)

(F) FRAME PATTERNS allows the player to change the eight patterns used

to draw the frame (or border) around the edge of the

main game display. Any changes made to these patterns

are reflected in the player’s .PLY setup file.

(B) BACKGROUND PATTERN allows the player to change the background

pattern which is drawn on the display before the GIF

image is drawn. Any changes made to this pattern is

reflected in the player’s .PLY setup file.

(E) EXIT EDITORS returns you to the MAIN Menu.

The TILES, FRAME, and BACKGROUND editors use a common bitmap editor,

with some differences and embellishments. The rest of this section

describes those portions of the bitmap editor that are common to all

three editors.

The bitmap editor four primary areas:

The color palette

The menu

The zoom/pixel edit area

The item selection area

The item selection area is different for each area and is discussed

in the appropriate section. The “cursor” may be moved from one area

to another from the keyboard by using these keys:

(F1) moves the cursor to the COLOR palette area

(F2) moves the cursor to the ZOOM area

(F3) moves the cursor to the item selection area

In the top-left corner is the color palette of 16 colors. The current

pen-color is outlined with a white-square. The current color may be

selected by clicking the LEFT mouse button on the desired color square,

or by first moving the “cursor” to the color palette area with the F1

key, and then using the cursor keys to select the desired color.

In the center of the display is the ZOOM area. This displays an

enlarged image of the item currently being edited. Many operations are

possible upon this area, as discussed below.

Down the left side of the display is the MENU area, the individual

items of which are discussed in detail below. However, each MENU item

may be activated by either pressing the key corresponding to the first

letter of the item, or by clicking the LEFT mouse button once upon the


Between the MENU and the ZOOM is the:

Work Image — the life-sized image of the item currently being

edited in the ZOOM area.

Shifter — This allows you to shift the entire Work Image, or

that portion of it that’s been marked, left, right, up,

or down. See below for how to mark an area.

ScratBuf — This is a temporary buffer to which you may copy

all or the marked portion of the Work Image, either as

a means of saving a copy while you experiment, or so

that you can “paste” it back into the Work Image at

another place. See below for how to mark an area.

There are 4 basic types of “drawing” that may be done upon the ZOOM

area: POINT, LINE, RECTANGLE, and OVAL. One of these is always

selected, as is indicated by the blue highlight on the menu. The

currently highlighted drawing method will determine exactly what will

happen when you press the LEFT or RIGHT BUTTONs while on the ZOOM area.

POINT: If the LEFT mouse button is pressed and released while holding

the mouse still, a single pixel will be set to the currently

selected color. If the LEFT mouse button is pressed and

held down while the mouse is moved, all pixels over which the

mouse cursor passes will be set to the current color. From

the keyboard, you press and release the HOME key once to

simulate the pressing of LEFT mouse button. This causes the

program to enter “drawing” mode. You must then press and

release the HOME key a second time in order to exit “drawing”

mode, or to simulate the releasing of the LEFT mouse button.

While in drawing mode, the cursor keys will move the drawing

cursor (a pencil) about on the zoom area.

LINE: Line drawing is VERY similar to Point