home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Fish 'n' More 2
/
fishmore-publicdomainlibraryvol.ii1991xetec.iso
/
dirs
/
cross_464.lzh
/
Cross
/
Cross.docE
< prev
next >
Wrap
Text File
|
1991-03-09
|
10KB
|
283 lines
Crossword Puzzle Creator V3.3
-----------------------------
Copyright © 1991 by Jürgen Weinelt
Zur Kanzel 1
D-8783 Hammelburg
Germany
Crossword Puzzle Creator (CPC) V3.3 is Freeware.
Limited licence is granted for non-commercial distribution.
This distribution includes source code in Modula-2 (M2Amiga Compiler by
A+L AG, Switzerland)). Please note though that the source is not as
readable as I'd like it to be; this is because CPC was originally
written in C-64 BASIC about 5 years ago.
Note: Use this program at your own risk, that is, if it breaks something,
don't bother me with your problems. I think this is a fair deal;
please remember you don't have to pay for this program.
I'd still like to know about major bugs...
Note: CPC accesses the printer via the PAR:-device, because it uses
the graphics mode of the printer to print the crossword puzzle.
CPC should work smoothly with any EPSON-compatible printer (although
it was tested with my Star NL10 only).
The crossword solution is printed through the PRT:-device.
Note: CPC needs lots of memory. There may be troubles on 512K-Amigas,
especially if there are several disk drives present. This MAY be a
compiler problem, since M2Amiga itself behaves strangely in low mem
situations, too (see the README on your compiler system disk for
details).
Note: CPC was created on my A1000 with 2.5MBytes, hard disk and Kick/WB 1.3.
If you find any bugs, please send me a detailed report, including a
description of your system configuration (hardware AND software!)
Note: I apologize for any mistakes I may have made in this text; as you
probably guessed from my address, English is not my native language...
How to start it
---------------
CROSS [-xXSIZE] [-yYSIZE] [-d]
(1) (2) (3)
CPC accepts up to 3 parameters:
(1) horiz. size; 5<=XSIZE<=39; Default: 19
(2) vert. size; 5<=YSIZE<=35; Default: 19
(3) Debug-mode for the message data file; will be explained later.
Parameters may be stated in any order. All parameters are optional.
Before calling CPC, you'll have to install (with ASSIGN) a logical device
named "CROSS:"; this is where CPC is looking for its data files:
(1) DATA (directory)
(2) DATA/msgtxt.data (data file with multilingual program messages)
(3) DATA/words01.crw (word data file) or
DATA/words02.crw (word data file)
(4) DATA/ (...) .crd (crossword puzzle data files)
There are two word data files in this release:
words01.crw contains German words
words02.crw contains English words
Usage
-----
CPC is quite self-explaining. Just some important notes:
- first of all CPC tries to read the message data file. Then you get
a list of all languages available (just German and English at the
moment), from which you can choose one (enter number, then press return).
A detailed description of the message data file follows later.
- CPC is (almost) completely controlled by the gadgets on the right side
of the screen. The meaning of these gadgets should be obvious.
- some notes on the "auto search mode" gadget:
* there must be a word data file in memory.
* at least one word must have been placed before you can use a.s.mode.
This word is a "seed", from which the puzzle "grows".
* to turn a.s.mode off, just click the a.s.mode gadget again.
The current search will be finished, though.
* you can load another word data file at any time, provided that the
a.s.mode is off.
- notes on the "reset limit"-gadget:
* CPC tries to place the longest words first; the "limit"-variable shows
the lower limit for the word length currently in effect.
* use the "reset limit"-gadget to reset it to the initial (high) value.
message data file
-----------------
This file contains virtually every text used by CPC, at the moment in both
German and English. Other languages can be added easily.
Every entry in the message data file uses exactly one line.
Structure of the message data file
----------------------------------
The first line of the message data file contains one single digit; this is
the number of languages currently available.
This is followed by the name of each language (for example ENGLISH and
DEUTSCH).
The following entries are present once for each language, too. These are the
program messages.
If you want to add another language to the message data file, please make
sure that your translation has approx. the same size as the original
message, because some of them appear in requesters or gadgets.
Every entry must start with a three-digit number. This number must be
identical with the actual number (count 'em) of this message (sounds
difficult; just take a close look at the message data file, you'll see what
it means...).
Entry number "999" which signals the "End of file" is the only exception
to this rule.
If you encounter any problems after adding another language, just
call "Cross" with the message debug mode on (parameter "-d"). This causes
the message numbers to be displayed with the messages themselves; it will
(hopefully) help you locate the problem.
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
############################################################################
Have you added another language to the message data file? Please send me a
copy of your message data file on disk, it'll be included with the next
release of CPC. As a reward I'll send your disk back with another one of my
PD programs.
############################################################################
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Word data files
---------------
If you want to create your own word data files, please note:
(1) Every word must be enterd in CAPITAL letters.
(2) Only characters "A" trough "Z" are allowed.
(3) The word length should always be odd, that is, 3, 5, 7, ... 25; (except
for two letter words). Maximum length is 25, minimum is 2.
These limitations are needed to improve the structure of the puzzle.
You MAY use words with even length, but this will probably cause larger
gaps in the crossword puzzle.
(4) The word data file must not contain empty lines.
(5) The last entry must be "***END***", without quotation marks, of course.
Yes, you're right. There is an easier way of creating word data files...
Just run any standard ASCII text file through the "PreProcessor", which
should also be somewhere in the "Cross" drawer. PreProcessor will break it
down into single words and will remove anything illegal. You'll have to use
your favourite editor though to delete all those words you don't want to use.
There may also be some "crippled" words that didn't survive the PreProcessor.
Usage of the PreProcessor:
PreProcessor
There are no command line parameters; file selection is done by ARP file
requesters.
Note: The PreProcessor uses a recursive algorithm (builds a binary tree
to sort the words); please make sure there's enough stack space
available. You can increase the stack space with a CLI command
called "STACK".
I'm always setting the stack space to 50000 bytes.
PreProcessor is very greedy anyway... i'm sure there's going to be
trouble with it on 512K Amigas if you try to convert large ASCII
text files.
Just a warning: if your word data file is very large (that is, if it
contains MANY, MANY, MANY words), the creation of the crossword puzzle will
be slowed down considerably. In order to avoid this effect, you might use
several small word data files, loading the next when the current file is
used up.
An example:
File | word length
------------+------------
words05.crw | 25..17
words06.crw | 15.. 9
words07.crw | 7.. 5
words08.crw | 3.. 2
Known problems/bugs of CPC
--------------------------
- strange behaviour in low mem situations (occurs only during startup):
program sometimes hangs (reason: unknown; might be a compiler problem)
- (very seldom) memory fragmentation (reason: unknown)
If you encounter any bugs, please send me a detailed report.
Things to be done
-----------------
- "GENERIC"-mode for puzzle printing via PRT:
- high resolution crossword puzzle printing via PAR:
- removing an already placed word
- several patterns for setting the "seed" word(s)
- icons for all data files
- NEW option
- NEW_SIZE option
- user configurations
- (possibly) storing word data in dynamic structures (linked lists);
I'm still thinking about this one.
- puzzles with custom layouts instead of rectangles.
History
=======
V3.3 automatic PAL/NTSC recognition by examining "height" field of
workbench screen
fixed some minor errors in program and documentation
V3.2 first RELEASE of M2 version on AMOK
Enjoy!
####################################
########################################
## ##
## /¯¯¯¯\ \\|||// \ / ##
## / \ \|o o|/ \ / ##
## | | . | \ /\ / ##
## \ / | ' | \ / \ / ##
## \____/ \ ~ / \/ \/ ##
## ¯¯¯ ##
########################################
####################################