10REM CONUNDRUM by L Knight March 199
5
20ONERROR GOTO1300
30MODE7:X%=RND(22):DIMA%(9):DIMB%(9):
FORN%=1TO9:READO%:A%(N%)=O%:NEXT:VDU23,1
,0;0;0;0;:*FX11,0
90PROCintro:PROCsetup
110PROCselect:PROCtime:IFT%>74PROCdisp
lay(Y$,12,14):t%=1:GOTO160
140PROCinput:PROCdelay
160PROCdisplay(C$,12,18):PROCdelay:PRO
Ccomment:PROCspace:GOTO110
200*FX12,0
210VDU23,1,1;0;0;0;:CLS:END
250DEFPROCintro:PROCheading:PRINT"This
program sees how quickly you can solv
e 9-letter anagrams like the 'con
undrums' on the Channel-4 COUNTDOWN game
."
280PRINT'"Press SPACE to stop the cloc
k when you have solved an anagram and e
nter your solution - or press Z if you
give up."
290PRINT'"If you haven't stopped the c
lock after 30 seconds the computer will
help you with the first, and later th
e 2nd and 3rd letters of the answer."
300PRINT'"If you haven't stopped the c
lock after 75 seconds the computer will
assume you can't solve it and will offe
r you another anagram.":PRINT'"Pre
ss SPACE to start.":PROCspace:ENDPROC
340DEFPROCsetup:CLS:PROCheading:FORN%=
5TO17STEP4:PRINTTAB(0,N%)CHR$130;CHR$157
;CHR$132:FORE%=1TO2:PRINTCHR$130;CHR$157
;CHR$135;CHR$141:NEXT:NEXT:PRINTTAB(17,5
)"SECONDS":PRINTTAB(17,9)"ANAGRAM":PRINT
TAB(14,13)"YOUR SOLUTION":PRINTTAB(12,17
)"CORRECT SOLUTION":ENDPROC
470DEFPROCtime:PROCmessage(1,1,"Press
SPACE when you have solved it"):PROCmess
age(3,0,"- or press Z if you give up."):
O%=TIME:Y$="":REPEATQ$=INKEY$0:IFQ$="Z"O
RQ$="z"Q%=-1ELSEQ%=9
530T%=(TIME-O%)DIV100:T$=RIGHT$("0"+ST
R$(T%),2):PROCdisplay(T$,19,6):IFT%>29 Y
$=LEFT$(C$,1)
570IFT%>44 Y$=LEFT$(C$,2)
575IFT%>59 Y$=LEFT$(C$,3)
580IFQ$=" "ORT%>74PROCmessage(1,1," ")
590PROCdisplay(Y$,12,14):UNTILQ$=" "OR
T%>74ORQ%=-1:IFT%>74ORQ%=-1ENDPROC
620IFQ$=" "IFT%<30PROCmessage(1,6,"Ent
er your solution")ELSEPROCmessage(1,6,"C
omplete your solution")
625PROCmessage(3,0," "):ENDPROC
640DEFPROCinput:O%=TIME:*FX15,1
670REPEATI%=INKEY0:R%=I%:IFI%>90I%=I%-
32
710IFI%>64ANDI%<91 Q$=CHR$I%ELSEQ$=""
720Y$=Y$+Q$:len%=LENY$:IFR%=127 Y$=LEF
T$(Y$,len%-1)
750PROCdisplay(Y$,12,14):t%=(TIME-O%)D
IV100:UNTILlen%=9ORt%>Q%:PROCmessage(1,1
," "):PROCmessage(3,0," "):ENDPROC
800DEFPROCselect:PROCmessage(3,0," "):
X%=X%MOD22+1:Y%=RND(18)*10+1310:RESTOREY
%:FORN%=1TOX%:READC$:NEXT:FORN%=1TO9:B%(
N%)=A%(N%):NEXT:I%=RND(7)+1:J%=RND(7)+1:
B%(1)=B%(I%):B%(I%)=1:B%(9)=B%(J%):B%(J%
)=9:A$="":FORN%=1TO9:A$=A$+MID$(C$,B%(N%
),1):NEXT:PROCdisplay(A$,12,10)
930PROCdisplay(" ",12,14):PROC
display(" ",12,18):ENDPROC
960DEFPROCcomment:IFQ%=-1PROCmessage(1
,0," "):GOTO1000
980IFY$=C$PROCsuccessELSEPROCfail
990PROCdelay
1000PROCmessage(3,0,"Press SPACE to go
on or ESCAPE to quit"):ENDPROC
1020DEFPROCsuccess:IFT%<10PROCmessage(1
,1,"Congratulations! Less than 10 second
s"):ENDPROC
1040IFT%<30PROCmessage(1,1,"Very Good!"
):ENDPROC
1050IFT%<45PROCmessage(1,1,"Well done!"
):ENDPROC
1060IFT%<60PROCmessage(1,1,"Good! You g
ot there with some help")ELSEPROCmessage
(1,1,"You finally got it with some help.
")
1070ENDPROC
1080DEFPROCfail:IFt%>9PROCmessage(1,4,"
Sorry! You were too slow typing in"):END
PROC
1100IFRND(8)>3PROCmessage(1,4,"Hard luc
k! It wasn't an easy one")ELSEPROCmessag
e(1,4,"Hard luck! Try another.")
1110ENDPROC
1120DEFPROCmessage(L%,C%,X$):PRINTTAB(0
,20+L%)CHR$(130+C%);X$;SPC(38-LENX$):END
PROC
1150DEFPROCdisplay(X$,U%,D%):DI$="":FOR
P%=1TO9:DI$=DI$+MID$(X$,P%,1)+" ":NEXT:F
ORP%=1TO2:PRINTTAB(U%,D%+P%-1)DI$:NEXT:E
NDPROC
1240DEFPROCdelay:FORZ%=1TO3000:NEXT:END
PROC
1250DEFPROCheading:FORN%=1TO2:PRINTTAB(
10,N%)CHR$(132-N%);CHR$141;"9-LETTER ANA
GRAMS":NEXT:PRINTTAB(11,3)CHR$130;STRING
$(17,"="):ENDPROC
1290DEFPROCspace:REPEATG%=GET:UNTILG%=3
2:ENDPROC
1300IFERR=17GOTO200ELSEGOTO30
1310DATA1,8,4,7,6,3,5,2,9
1320DATAINTERLUDE,ARTHRITIS,FORETASTE,L
IVESTOCK,RENOVATED,CONSULTED,NEWSPAPER,H
ONEYMOON,ARCHITECT,AUTOMATIC,DELIVERED,F
AVOURITE,GASOMETER,HOROSCOPE,PARAMOUNT,C
ATAMARAN,INFECTION,INSURANCE,ASTROLOGY,A
STRONOMY,COWARDICE,DISCLOSED
1330DATAOBTRUSIVE,ADVERSITY,ADVERTISE,B
IOGRAPHY,VEGETABLE,DIVERSION,GEOGRAPHY,P
ENINSULA,UPPERMOST,VOLUNTEER,CONSPIRED,M
ARSUPIAL,SATELLITE,SPORTSMEN,TELEPATHY,P
ENSIONER,REFLECTED,BILINGUAL,BRILLIANT,L
AMINATED,NOMINATED,GLYCERINE
1340DATAARBITRARY,RETURNING,RUMINATED,S
COUNDREL,SERVIETTE,SOUTHERLY,TOMBSTONE,W
AREHOUSE,BLUEPRINT,INVENTION,DIFFICULT,F
IFTEENTH,POCKETFUL,HINDRANCE,PERISHING,O
BSERVING,PESSIMIST,SANDPAPER,WATERFALL,A
PPOINTED,CLUMSIEST,ELOCUTION
1350DATAEVERYBODY,HILARIOUS,KILOMETRE,P
LUTONIUM,FRIVOLOUS,SPECTATOR,ASSEMBLED,C
AFETERIA,MOUSETRAP,PATRONISE,PETTICOAT,S
EMAPHORE,GREATNESS,BOOKMAKER,CARPENTER,C
ATHEDRAL,CHOPSTICK,HAILSTONE,HISTORIAN,L
IMOUSINE,MISTLETOE,OUTNUMBER
1360DATAPATCHWORK,PENTHOUSE,REVOLTING,P
OPULATED,SUPERVISE,CARNIVORE,COLOURFUL,I
NVESTING,CORROSIVE,LANDSLIDE,PARACHUTE,A
FTERNOON,RESURGENT,RIGHTEOUS,SOMETHING,T
IGHTROPE,VANISHING,BLACKBIRD,EAGERNESS,F
OREIGNER,FURNITURE,INFLUENCE
1370DATAPROSECUTE,ACROBATIC,AEROBATIC,A
NTIPODES,CIRCULATE,BREAKFAST,PROTECTED,N
AVIGATOR,ORANGEADE,HARMONICA,CERTAINLY,D
ELIGHTED,ENLIGHTEN,GUTTERING,STRATEGIC,D
ESIGNATE,POLITICAL,AUTOGRAPH,TELEPHONE,G
ODMOTHER,POLLUTION,SAFEGUARD
1380DATAUNDERHAND,CAREFULLY,TELESCOPE,M
EGAPHONE,FOOLHARDY,SURCHARGE,PURCHASED,C
ONFUSION,PANTOMIME,PETRIFIED,PRECISELY,R
HEUMATIC,PERIMETER,WAISTCOAT,AMBITIOUS,C
OMPOSITE,HOMESTEAD,INOCULATE,HEARTACHE,G
RATITUDE,RESIDENCE,STRONGEST
1390DATAUNDERCOAT,MOUSTACHE,CONSTABLE,D
EBUTANTE,LIGHTNING,MINIATURE,CONDUCTOR,O
STEOPATH,SENSATION,SPARKLING,UNTENABLE,C
ORNFLOUR,AEROPLANE,CHRONICLE,CLOCKWISE,C
OSMONAUT,CUSTOMARY,FIREPLACE,FISHERMAN,I
MPORTANT,LABORIOUS,OTHERWISE
1400DATASANCTUARY,SOLICITOR,CASCADING,T
ARNISHED,BOTHERING,CHEMISTRY,DIAGNOSIS,G
REYHOUND,GYMNASIUM,HOPEFULLY,MURMURING,L
ANDSCAPE,MOONLIGHT,SPHERICAL,NUMERICAL,P
ERCOLATE,POINTLESS,PRAGMATIC,PREDICTED,F
ASTENING,ABORIGINE,ADMIRABLE
1410DATAANIMOSITY,BADMINTON,GUNPOWDER,F
EROCIOUS,INCLUSIVE,INSOLUBLE,MONASTERY,O
BSCENITY,PROMISING,SHRINKAGE,SPOKESMAN,C
RUMBLING,DEVIATION,DIPLOMACY,ESPIONAGE,R
ESPECTED,MARKETING,NEIGHBOUR,SUGGESTED,P
NEUMONIA,TENACIOUS,FINANCIAL
1420DATABREAKDOWN,BUTTERFLY,DECOMPOSE,F
ORBIDDEN,KNOWLEDGE,LOCKSMITH,MASCULINE,M
ELODIOUS,EMOTIONAL,OVERSIGHT,PASSENGER,B
OUNDLESS,DELICIOUS,ESCORTING,MALICIOUS,M
ASTERFUL,PAROCHIAL,RECORDING,STURDIEST,S
UBNORMAL,GALLANTRY,TWENTIETH
1430DATAUNKINDEST,AGREEMENT,FINISHING,C
ROCODILE,FRUITLESS,FASCINATE,GABERDINE,O
BSTINATE,PROMINENT,PROVIDENT,RACEHORSE,S
PAGHETTI,TEMPORARY,UNTIDIEST,UPHOLDING,A
MBULANCE,NIGHTGOWN,BRIEFCASE,BLINDFOLD,S
CREAMING,CONFIDENT,DANDELION
1440DATAFORMALITY,DISPLAYED,GERMINATE,H
OLLYHOCK,HURRICANE,IDENTICAL,LONGEVITY,N
IGHTMARE,CORKSCREW,POLICEMAN,SCEPTICAL,S
EMICOLON,SUSPICION,TERMINATE,BEAUTIFUL,E
STIMATED,BLAMELESS,DECREASED,GONDOLIER,H
AMMERING,INCREASED,EVERGREEN
1450DATAPICTORIAL,PREMATURE,SPACESHIP,U
NEATABLE,APARTMENT,APPEARING,DUPLICATE,H
UMILIATE,INCORRECT,TOOTHACHE,EIDERDOWN,A
BOMINATE,SUPPORTER,CHIPOLATA,CLERGYMAN,D
ESPERATE,ENCOURAGE,EVOCATIVE,FILTHIEST,T
ERRORIST,MEDALLION,WHOLEMEAL
1460DATAWONDERFUL,AMBIGUOUS,BYSTANDER,C
ANDIDATE,CHAMPAGNE,LOATHSOME,NURSEMAID,P
ORCELAIN,PRACTICAL,SELECTION,SYNDICATE,U
NDERWEAR,CELEBRATE,COMPARING,PRIVILEGE,F
ANTASTIC,RIGMAROLE,SPECIFIED,CULTIVATE,D
RAGONFLY,DWINDLING,GUARANTEE
1470DATALEGENDARY,LUDICROUS,PLAUSIBLE,S
ALVATION,SNOWFLAKE,VULGARITY,AVOIDABLE,H
AMBURGER,FACSIMILE,INDULGENT,LEASEHOLD,M
AGNESIUM,REFERENCE,SCAPEGOAT,LUCRATIVE,B
ROADCAST,ENDEAVOUR,STAIRCASE,TECHNICAL,D
ECEPTION,MARMALADE,ANIMATION
1480DATAMICROWAVE,ORIGINATE,PRESIDENT,S
YNTHETIC,STABILITY,TRANSLATE,AFFECTION,I
MMEDIATE,SPASMODIC,ALCHEMIST,CHECKMATE,D
EMOCRACY,EMERGENCY,COMMUNIST,MACHINERY,M
ELODRAMA,SACRILEGE,DIFFERENT,INFLATION,R
ELUCTANT,SEDUCTIVE,TREMBLING
1490DATAAVAILABLE,ELEVATION,OPERATION,B
ALANCING,RECEPTION,HOUSEHOLD,RAPTUROUS,A
TTEMPTED,GODFATHER,PACKAGING,SCIENTIST,S
EARCHING,MIGRATION,SUBMARINE,ARTICHOKE,C
RINOLINE,PREVALENT,RASPBERRY,HOLOCAUST,D
ORMITORY,OVERDRAWN,RADIATION