Requirements and strip numbering scheme for word search program I thought it would be interesting to automate the solution to word search puzzles. For words, I pick the names of characters from a book I've read. I arrange them in a square array. I wrote a program to do this. It reads two files. For example (10 by 10) - say the words and the "board" are tao tort art oat form rot trot tram lee .......... . . . . . . . e . .f et . . o ol . .mart . . t m . .......... The found words and their directions from start to finish (think of a compass) are lee - nw oat - s tort - sw art - e form - se rot - ne trot - ne tram - w tao - n The word file would be a line that looks like this: lee tao tort art oat form rot trot tram There is a space character on the right of each word (including the last word). The board file would be a single line that looks like this (we show two lines here but needs to be one line in the file itself): ........... .. .. .. e . .f et .. o ol ..mart .. t m ........... Concatenate the rows from the above board. Make sure you include the spaces. The program reads the words file and the board file and figures out in which "strips" of the board each word is found and the direction the word goes in. A link to the program's source code and the numbering scheme I used follows. Sample runs of the program follow this. http://primepuzzle.com/not.just.tiny.c/words.2.tc D:\>tc words.2.tc *** TINY-C VERSION 1.0, COPYRIGHT 1977, T A GIBSON *** This C version copyright 2017, T A Gibson words.2.tc - 4/23/21 - lrb Enter name of words file : words.invisible.1.txt Enter name of board file : board.invisible.1.txt ANDRAS APRILIS BELA BENYAKOV EDITH ELISABET ELZA FLORA GYORGY JOZSEF KLARA MATYAS NOVAK SANDOR TAMAS TIBOR GYORGY T TH J E ITSOABMA ABIIZAAAN RRODLSBRTD VOREIEEAYR LDLRFLLAA FENP AKSS BENYAKOV NOVAKSAMAT there are 50 strips ne and sw strip #s go from 1 to 15 se and nw strip #s go from 16 to 30 e and w strip #s go from 31 to 40 s and n strip #s go from 41 to 50 1 ANDRAS found in T ANDRAS T at position 3 in 50th strip dir = s 2 BELA found in Y AABELAOA at position 5 in 47th strip dir = s 3 BENYAKOV found in BENYAKOV at position 1 in 39th strip dir = e 4 ELISABET found in NEELISABET at position 3 in 8th strip dir = ne 5 ELZA found in BFDELZA at position 4 in 7th strip dir = ne 6 GYORGY found in GYORGY T at position 2 in 31th strip dir = e 7 JOZSEF found in GJOZSEF KS at position 2 in 46th strip dir = s 8 MATYAS found in EMATYAS A at position 3 in 49th strip dir = s 9 NOVAK found in NOVAKSAMAT at position 1 in 40th strip dir = e 10 TIBOR found in YTIBORDENV at position 2 in 43th strip dir = s 11 APRILIS found in KAPRILIS R at position 2 in 45th strip dir = n 12 EDITH found in AYNLEDITHO at position 5 in 44th strip dir = n 13 FLORA found in OEFLORA G at position 3 in 42th strip dir = n 14 KLARA found in MVKLARAB at position 3 in 48th strip dir = n 15 SANDOR found in SANDOR at position 1 in 27th strip dir = nw 16 TAMAS found in TAMASKAVON at position 1 in 40th strip dir = w done D:\>tc words.2.tc *** TINY-C VERSION 1.0, COPYRIGHT 1977, T A GIBSON *** This C version copyright 2017, T A Gibson words.tc - 4/23/21 - lrb Enter name of words file : words.invisible.2.txt Enter name of board file : board.invisible.2.txt ADAM BARNA GERARD HASZ ILANA KOZMA LEVI NAGY PAUL PERRET POLANER ROSEN VAGO ZOLTAN ROGAV A E P YGANN EIN ZOLTAN RVE MLL RES Z O IELO AO ZP T R KDSDRAREG AA BARNA H MLUAP there are 50 strips ne and sw strip #s go from 1 to 15 se and nw strip #s go from 16 to 30 e and w strip #s go from 31 to 40 s and n strip #s go from 41 to 50 1 ADAM found in ADAM at position 1 in 29th strip dir = se 2 BARNA found in AA BARNA at position 6 in 39th strip dir = e 3 HASZ found in HASZOL E at position 1 in 8th strip dir = ne 4 KOZMA found in KOZMA A at position 1 in 6th strip dir = ne 5 PERRET found in APERRETERP at position 2 in 48th strip dir = s 6 ZOLTAN found in ZOLTAN RVE at position 1 in 34th strip dir = e 7 GERARD found in GERARDSDK at position 2 in 38th strip dir = w 8 ILANA found in AGTILANA at position 4 in 22th strip dir = nw 9 LEVI found in NG LEVI V at position 5 in 49th strip dir = n 10 NAGY found in NIE NNAGY at position 7 in 33th strip dir = w 11 PAUL found in PAULM H at position 3 in 40th strip dir = w 12 POLANER found in L RPOLANER at position 4 in 45th strip dir = n 13 ROSEN found in A ROSEN at position 4 in 50th strip dir = n 14 VAGO found in VAGOR at position 2 in 31th strip dir = w done I make what I call PIPs (Puzzle In Puzzles). Here's the one I made for my friend Jonas. |