WordSearch Copyright 1992 by Gene A. LeDuc, All rights reserved This program may be freely distributed and used without charge. What's it do? This program takes as input a list of words and produces a scrambled words puzzle. Will it work? This program doesn't do anything that harms my system. It probably won't harm yours. If it does, that's your problem, not mine. By using this program, you assume all risks. If you don't like these terms, don't use the stupid program! The author will assume absolutely no responsibility for anything that happens to you, your computer, your house, your pets, or anything else as a result of your use of this program. If something bad happens, I'd like to know about it so I can possibly put something in the program to keep it from happening again. Where does the input come from? Input comes from the keyboard or a text file specified by the user or a combination of both. Words can be deleted or edited after they've been entered. Case is preserved for printing in the search list, but is not significant in the puzzle generation; puzzles are all uppercase. How's it work? The words are placed into a matrix and then the remaining spaces in the matrix are filled with random letters. Are there different skill levels? There is a primitive "degree of difficulty" function that simply allows more word orientations at higher levels. For instance, at the easiest level, all words are put into the matrix reading left ot right on single lines. As the degree gets harder, the words may go vertical, diagonal, and reverse. Can I see the puzzle before I print it? The program allows the user to preview a solution before printing the puzzle. If the user wants a different solution, he can specify another try. What if I want to send the puzzle to a file? Output can be directed to the screen, printer, or a file (wordsrch.out). The user decides whether or not the solution is to be printed. Can I recreate a specific puzzle? Each puzzle is displayed with the degree of difficulty and the random seed used to generate the puzzle. A puzzle can be duplicated at a later time by entering the random seed as a parameter on the command line. For instance, to generate a puzzle using -2356433 as the random seed, the command line would be: "WORDSRCH -2356433". Of course, the puzzle dimensions, degree of difficulty, and word list must be the same. Known bugs. 1. There is no checking to see if there are duplicate occurrences of words within the puzzle after the words are placed in the matrix. Should be fairly trivial to implement, but I didn't think the risks of it happening justified the expense of writing the code. 2. Words are not guaranteed to have exclusive solutions. In english, this means that the word AT could be placed entirely in the word CHATTER if the random positioning routine puts it there. It is most likely that this won't happen, but it is possible. In this instance, the word CHATTER would be the solution for both CHATTER and AT. Same argument about risk of happening vice the expense of code. 3. Woe be unto you if the printer is offline or otherwise not available when the program wants to print. I just didn't feel like putting the effort into figuring out how to check the printer's status before printing. 4. Output file is preset (wordsrch.out) and can't be changed. 5. Program writes over output file without warning if one already exists. 6. Documentation isn't pretty. Great, anything else? Other bug reports, comments, or critiques to: leduc@nprdc.navy.mil (internet) "Gene LeDuc" at "1:202/302.6" (fidonet, leave out the quotes) Version history, as if you cared 1.0 - First working version. 1.1 - First version distributed to public. Added simple "degree of difficulty" option for varied audiences. 1.2 - Added simple printer check to see if printer responding before trying to write to it.