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|/ \ / ## ## | | . | \ /\ / ## ## \ / | ' | \ / \ / ## ## \____/ \ ~ / \/ \/ ## ## ŻŻŻ ## ######################################## ####################################