Contents of the PUZZLE.DOC file
The PUZZLE program is an interactive jigsaw puzzle using the
computer to create the initial pictures. The program provides
two different ways of playing jigsaw type puzzles. These puzzle
varieties coupled with a user setable difficulty level and number
of puzzle pieces make the PUZZLE program suitable for both small
children and adults. (My two children, ages 3 and 5 are able to
play PUZZLE unattended. At PUZZLE's most difficult level, adults
have found it difficult to complete.) You may freely copy,
modify and distribute this program to friends and store on
bulletin boards as long as it is not for profit.
o IBM PC, IBM AT with either the CGA or EGA graphics board.
o Alternately the program does run under simulation on a
Hercules graphics board with a program such as SIMCGA.
o The program has not been tested on an IBM-PC jr. However,
there is no reason to believe the program will not run on an
The PUZZLE disk contains three files, this document file
(PUZZLE.DOC), the executable image (PUZZLE.EXE) and the source
for the PUZZLE program (PUZZLE.BAS).
OBJECT OF THE GAME
The object of the game is to assemble a jigsaw puzzle in the
large checker board on the right from the pieces provide by the
computer. The computer will provide a single piece in the lower
left corner of the screen and a small picture of the puzzle as a
sample of the finished puzzle in the upper left hand corner. To
select the location to move the puzzle piece, move the cursor (a
blinking ball) to the desired location and press enter. If the
location is correct, the puzzle piece will be transferred to the
puzzle board. If the location was not correct, a new puzzle
piece will be drawn at random until all pieces have been success-
fully placed. (For the Classical puzzle, three guesses are
allowed before the puzzle piece is changed).
For the modern puzzle, a score will be kept. Fifty points will
be awarded for each correct piece placement, ten points will be
subtracted for each wrong guess, as well as one point subtracted
for each second of indecision.
The following keyboard keys are used:
o Arrow keys are used to move the cursor around the puzzle,
o Enter Key is used select the current position,
o R or r key are used to rotate the current puzzle piece to
gain a better view of the piece. (The puzzle piece does not
need to be rotated correctly to be placed correctly.)
o Escape key will allow the user to end the game or start a
RUN TIME OPTIONS
There are four run time options that provide different levels of
difficulty. These options are:
o Classical versus Modern Puzzle image,
o Picture difficulty or Picture Granularity,
o Puzzle Piece Size, and
o Puzzle Piece Rotation.
(These options will be available at run time unless they are
preselected in lines 55-70.)
The Classical versus Modern puzzle image option allows the user
to assemble one of two types of pictures. One picture which uses
recognizable objects like bicycles and balloons, and another
which uses rectangles, circles and dots to form a pattern.
The picture difficulty option (used in the Modern puzzle) refers
to the granularity and type of objects within the puzzle picture.
For a difficulty of 1 the rectangles are relatively large and few
and there are large circles to assist in understanding where even
a rotated piece should go. (At difficulty 1, a checker board
will overlay the sample puzzle image. Difficulty 2 is the same
as difficulty 1 but without the checker board overlay.) For a
difficulty of 7, the size of the rectangles decreases while the
number increases. Coupled with a loss of the circles as
references, the puzzle image will contain a finer structure. At
level 9 and 10, the puzzle will have an even finer structure but
will no longer have recognizable border pieces.
The picture granularity option (used in the Classical puzzle) is
used in conjunction with the puzzle piece size to select a
difficulty level. Picture granularity (1 to 6) refers to whether
the puzzle picture is to be a 1 x 1, 2 x 2, ... 6 x 6 puzzle
image with one image in each position. (A 6 x 6 puzzle will have
36 small pictures on the puzzle while a 1 x 1 will have 1 large
The picture size option for the Classical and Modern puzzles
refer to the size of the checker board cut-out and its puzzle
pieces. A size of 3 will overlay a 3 x 3 checker board over the
puzzle image and create nine puzzle pieces. A size of 8 will
create a puzzle with an 8 x 8 checker board and 64 pieces.
For the Classical puzzle option try the following combinations of
puzzle size and picture granularity:
o puzzle size identical with picture granularity
o puzzle size twice that of picture granularity
o picture granularity twice that of puzzle size
o picture granularity of one and a puzzle size of three
The piece rotation option is available to both the Classical and
the Modern puzzle users. (It is not recommended for small
children. They become frustrated and may quit forever.) With
this option selected, the puzzle piece is rotated randomly before
being displayed. The piece may be rotated to get a better view
by entering either an upper case or lower case "R". In either
case the puzzle piece need not be rotated to its correct
alignment to be placed correctly.
PRESELECTING THE RUN TIME OPTIONS
In order to allow small children to run the game without much
supervision, the game difficulty, puzzle size, rotation and
Classical puzzle image options may be preselected. The
preselected values should be included on lines 70 to 85.
ADDITIONAL PUZZLE ELEMENTS
The PUZZLE program has been written to allow additional puzzle
elements to be added to the classical puzzle. To add a new
picture create a self contained drawing subroutine near the end
of the program (starting at lines 1175, 1185, 1200, 1215, 1230,
1245, 1260 and 1275).
Each drawing subroutine must draw an image given the center of a
box (M,N) to contain the image and the width of the box (Q).
(The small puzzle picture is 96 x 96 pixels and the large picture
is 192 x 192. Warning. Small features will not show up.) Three
color indices (C1, C2 and C3) which will be incremented to allow
three differently colored pictures to be produced using the
subroutine are also available. In addition, two random numbers
are available (ZR1 and ZR2) that are in the range of 0 to 1.0,
along with nine constants that represent 5%, 10%, 15%, 20%, 25%,
30%, 35%, 40% and 45% of the width (and height of the drawing
box. These constants are Q05, Q1, Q15, Q2, Q25, Q3, Q35, Q4 and
Each picture type (or drawing subroutine) will be defined
uniquely by a GOSUB and by a counter (CI) of the number of times
a picture has been drawn. To signal the code that a new
subroutine is available increment the variable NC (number of
classical elements) in line 50 by one for each new picture
element subroutine that you supply. Once the subroutine has
been written, the routine may be tested by changing the value of
the variable, PTEST, in line 75 to the picture number for your
subroutine and running the PUZZLE program. (The next available
picture element is 18 out of 25 possible drawing routines.)
For example, classical picture element number 2 is a square and
is defined by the code included in line 880. This code is
LINE(M-Q35,N-Q35) - Draw a filled box that starts
(M+Q35,N+Q35),C1,BF above and to the left of the
center of the drawing box to a
point that is below and to the
right of the center. The dis-
tance above, below, to the
left and to the right is given
by the variable Q35 (70% of
width of box). Use the
current random color (C1).
RETURN Return to calling routine.
There have been at least three people who have helped to make
this game what it is today that I wish to thank. Two children,
James and Darcy, for whom this game was designed and customized
to entertain. Without their encouragement and desire to play
each version of the game during their evenings, the game would
not look as it does today. Also to some anonymous programmer who
created the first Jigsaw puzzle shell (similar to the modern
puzzle option) I give thanks.