Crossword clue solver

Highlight the following code and save it as a text file called ANSWERS.BAS
Put it in the same folder as GW-BASIC.EXE. Load it and run it.

10 REM Crossword clue solver
20 CLEAR : CLS :KEY OFF
30 PRINT TAB(28);"AUTOMATIC CROSSWORD CLUE SOLVER" :PRINT
40 PRINT,"Find potential crossword answers from the known letters." :PRINT
50 PRINT,"A text file named WORDLIST.TXT containing a list of words"
60 PRINT,"needs to exist. No limit to how many words it can contain." :PRINT
70 PRINT,"ANSWERS.BAS searches WORDLIST.TXT for all words that fit"
80 PRINT,"the known letters." :PRINT
90 DIM LETTER$(15)
100 INPUT "Type the letters you know, - for unknown, then press Enter ";WORD$
110 LENGTH = LEN(WORD$)
120 IF LENGTH < 2 THEN PRINT :PRINT "2 letters minimum. Try again.": PRINT :GOTO 100
130 IF LENGTH > 15 THEN PRINT :PRINT "15 letters maximum. Try again.": PRINT :GOTO 100
140 FOR K = 1 TO LENGTH
150   LETTER$(K) = MID$(WORD$,K,1)
160   IF ASC(LETTER$(K)) >64 THEN LET LETTER$(K) = CHR$(ASC(LETTER$(K))+32)
170   IF ASC(LETTER$(K)) >122 THEN LET LETTER$(K) = CHR$(ASC(LETTER$(K))-32)
180 NEXT K
190 PRINT
200 OPEN "WORDLIST.TXT" FOR INPUT AS #1
210 WHILE NOT EOF(1)
220   INPUT #1, THISWORD$
230   IF LEN(THISWORD$) <> LENGTH THEN 300
240   FOR X = 1 TO LENGTH
250     IF LETTER$(X)= "-" THEN 270
260     IF LETTER$(X) <> MID$(THISWORD$,X,1) THEN THISWORD$ = ""
270   NEXT X
280   IF THISWORD$ > "" THEN PRINT THISWORD$,
290   THISWORD$ = "" 
300 WEND
310 CLOSE #1
320 KEY ON
330 END

Previous | Home | Next