To make 9-letter wordwheels I downloaded a SOWPODS dictionary and scanned to a new file all the words of this length.
I then wrote some code to check words I thought exist agains this 9-letter dictionary.
open "sowpods.txt" for input as #fIn
dictionary$ =input$( #fIn, lof( #fIn))
close #fIn
for i =1 to 5
input possibleWord$
p$ =chr$( 10) +possibleWord$ +chr$( 10)
if instr( dictionary$, p$) then
print " "; possibleWord$; " exists in Sowpods."
else
print " NO "; possibleWord$; " exists."
end if
next i
print "End."
end
This produces user-interactions like..
?tryptich
tryptich does not exist.
?tri[tych
tri[tych does not exist.
?triptych
triptych exists in Sowpods.
?diptych
diptych exists in Sowpods.
?monotych
monotych does not exist.
End.
My morning rituals include reading the daily paper, doing the quick crossword, wordsearch and word wheel. Wordwheels have 9 letters and these can make at least one nine-letter word. You can extend to trying to find the maximum number of words possible with fewer letters, but always using the centre letter and at least two others.
My aim was to use the SOWPODS Scrabble dictionary, but so many words make LB excessively slow or crash it.
Anyway, here's an easy way to generate a puzzle for friends and family, with YOU choosing a nine letter word to use.
nomainwin UpperLeftX = 100 UpperLeftY = 100 WindowWidth = 300 WindowHeight = 340 graphicbox #w.gb1, 12, 14, 260, 260 pi =3.14159265 global toFind$ open "Word Wheel." for window as #w #w "trapclose quit" #w.gb1 "down ; size 3" #w.gb1 "fill white" #w.gb1 "font 20 bold" #w.gb1 "up ; goto 130 130 ; down ; backcolor white ; circle 120" r =120 for theta =0 to 135 step 45 #w.gb1 "up ; goto "; 130 +120 *sin( theta *pi /180); " "; 130 +120 *cos( theta *pi /180) #w.gb1 "down ; goto "; 130 -120 *sin( theta *pi /180); " "; 130 -120 *cos( theta *pi /180) next theta #w.gb1 "up; goto 130 130 ; down ; circlefilled 45" toFind$ ="RECTANGLE" for i =1 to 8 theta =22 +i *45 #w.gb1 "up ; goto "; 115 +80 *sin( theta *pi /180); " "; 145 +80 *cos( theta *pi /180) #w.gb1 "down" #w.gb1 "\"; getChar$() next i #w.gb1 "up ; goto 115 145" #w.gb1 "down" #w.gb1 "\"; getChar$() #w.gb1 "flush ; getbmp scr 0 0 256 256" bmpsave "scr", "wordwheel.bmp" wait function getChar$() L =len( toFind$) pick =int( 1 +L *rnd( 1)) getChar$ =mid$( toFind$, pick, 1) toFind$ =left$( toFind$, pick -1) +mid$( toFind$, pick +1) end function sub quit h$ close #h$ end end sub