Require a non-visual class to generate a word search puzzle from a list of words; size may be specified or free (chose to fit all the words). Code should generate multiple solutions if possible, returning grid and list of word start and end positions. When only a small fraction of words will fit choice should be random. Should search for 'better' fills (using more words) given more time. Options should be available for whether to allow words backwards, and other relevant settings.
I am looking for a good thorough solution. A word search equivalent of the 'freeform/vocabulary' puzzle generator in [url removed, login to view] software. This should be a fun coding problem for someone (I'd do it myself if I had more time...)
For those who don't know what a word search is, a (not particulary good) example can be seen at
In general words can go backwards as well as in both diagonal directions.
Input can be TStrings and a grid array. The grid array is usually blank, but may contain some letters already - the generator should fill the input strings into this grid. Options should allow whether words can be diagonal and/or backwards.
Output data could be e.g. in the form of a TObjectList describing the list of words filled:
Type TKeyWord = class(TObject)
plus a rectangular array of filled letters. Non-word squares should be filled with random letter from supplied string; it should be checked that these don't generate any spurious extra words in the list. StartPoint and EndPoint are e.g. (1,1) and (4,1) for a four letter word placed at the start of the top row.
The filler should find better fills - in that they fit in more of the supplied words - as time progresses. There should also be a reset option to start over. So if user provides say 50 words, and first random solution only fits in 30 words, the next fill found should have at least 31 words (unless Reset is applied) - and hence be 'better'. This could be done by randomly generating lots more solutions and stoping when you hit upon a better one, or you could try some kind of backtracking optimised search. At the very least it needs to place words slightly intelligently when there are lots. This way the user quickly get a solution, but with patience gets a better one.
The is no hurry for completion - bids will not be judged significantly on delivery time (few weeks is fine). The source code should be compatible with Delphi 7, no .NET.
12 freelancere byder i gennemsnit $239 på dette job
I can do this but I think that the grid must have a templates, and will choose random template before start generating. After that will process automation filling of the crossword. Do you have a database of words?
dear +16 yera delphi and php c/c++ develper mys laste win bid is a delphi programe I d'ont tel ou I do the job in 3 or 15 day bath 5 week is resonable for your job Tanks