1 REM Intellectual Hangman 2 REM James M.Cavanagh 3 REM 04/05/1990 4 ONERRORMODE7:VDU7:REPORT:PRINT" at line ";ERL:END 5 MODE7:VDU23;8202;0;0;0; 6 PRINT'''''' 7 PRINT" I N T E L L E C T U A L" 8 PRINT" I N T E L L E C T U A L" 9 PRINT 10 PRINT" H A N G M A N" 11 PRINT" H A N G M A N" 12 : 13 PRINT'' 14 : 15 16 PRINT" By James M.Cavanagh(c)1990" 17 PRINT" By James M.Cavanagh(c)1990" 18 A=INKEY(400):A=GET 100 REM 110 MODE5:VDU23;8202;0;0;0; 120 REM *KEY0 MODE7|MLIST 2970,4000|MLIST190|M 130 REM"Large Word example 131 REM"(TELETRANSCRIPTION) 140 VDU29,0;208; 150 MEN=288:SCORE=0 160 UE=1096:VE=264:U=0:V=0:USED$="" 170 PROCPIC 180 RESTORE 185 REM NUMBER OF WORDS IN DATA 190 FORN=1TORND(363) 200 READWORD$ 210 NEXT 220 L=LEN(WORD$) 230 PRINT"WORD HAS ";L;" LETTERS" 240 HANG$=STRING$(L,"-") 250 PRINT:PRINTHANG$ 260 K=INT((L/2)+RND(5)):remsteps=17:F=K 270 REPEAT 280 PRINTTAB(0,4)"REPRIEVE CHANCE ";F; 290 IFF<10THENPRINTCHR$(32); 300 *FX15,1 310 L$=GET$ 311 IF L$<"A" OR L$>"Z" THEN GOTO 300 320 USED=INSTR(USED$,L$) 330 IFUSED=0THENUSED$=USED$+L$ 340 FLAG=0 350 FORT=1TOL 360 IFL$=MID$(WORD$,T,1)ANDL$<>MID$(HANG$,T,1)THENVDU31,T-1,2:PRINTL$;:HANG$=LEFT$(HANG$,T-1)+L$+RIGHT$(HANG$,L-T):FLAG=1:SCORE=SCORE+10 370 NEXTT 380 IFFLAG=1THENPROCJUMP(U,V,1,2,3,1) 390 IFUSED=0ANDFLAG=0THENPROCUP 400 IFUSED>0THENSOUND1,-15,255,4 410 IFHANG$=WORD$THENPROCDOWN 420 PROCSCORE 430 UNTILHANG$=WORD$ORU=952 440 IFU=952THENMEN=MEN-144 450 IFMEN>=-144THEN160 460 CLS:INPUT"ANOTHER GAME (Y/N)?":K$=GET$ 470 IFK$="Y"THENRUN 480 MODE7 490 END 500 510 DEFPROCPIC 520 CLS:CLG 530 Y=400 540 PROCSCORE 550 PROCGALLOWS 560 PROCNOOSE(952,264) 570 PROCTRAP1(1) 580 PROCMAN(U,V,1,2,3,1) 590 PROCMAN(UE,VE,1,3,2,1) 600 FORX=-144TOMENSTEP144 610 PROCMAN(X,Y,1,2,3,1) 620 NEXT 630 ENDPROC 640 650 DEFPROCUP 660 steps=INT(remsteps/K) 670 J=0 680 REPEAT:J=J+1 690 PROCRSTEP(U,V,1,2,3,1) 700 U=HORZ:V=VERT 710 IFU=784THENPROCLSTEP(UE,VE,1,3,2,1):UE=HORZ:VE=VERT 720 IFU=840THENPROCLARM1(UE,VE,0):PROCLARM2(UE,VE,2) 730 UNTILJ=stepsORU=952 740 remsteps=remsteps-steps 750 K=K-1:F=F-1 760 IFU=952THENPROCHANG 770 ENDPROC 780 790 DEFPROCDOWN 791 CLS:COLOUR2:PRINT"* CORRECT IT WAS *" 792 COLOUR3:PRINT'TAB(3);WORD$ 793 COLOUR1:PRINTTAB(3);STRING$(L,"_") 800 N=RND(16)*56:M=RND(5)*56 810 REPEAT 820 IFU<>0THENPROCLSTEP(U,V,1,2,3,1):U=HORZ:V=VERT 830 IFU=NORU=MTHENPROCJUMP(U,V,1,2,3,1) 840 UNTILU=0 850 PROCDELAY(50) 860 PROCSOUND 870 PROCDELAY(300) 871 COLOUR3 880 ENDPROC 890 900 DEFPROCLSTEP(X,Y,A,B,C,D) 910 PROCLLEG1(X,Y,0,0) 920 PROCLLEG2(X,Y,B,D) 930 SOUND1,-15,53,1 940 PROCDELAY(5) 950 PROCRARM1(X,Y,0) 960 X=X-48:PROCDELETE(X,Y):X=X-8 970 IFX>=224ANDX<=840THENY=Y-24 980 PROCMAN(X,Y,A,B,C,D) 990 SOUND1,-10,53,1 1000 HORZ=X:VERT=Y 1010 ENDPROC 1020 1030 DEFPROCJUMP(X,Y,A,B,C,D) 1040 IFX>=224ANDX<=784THENPROCRARM1(X,Y,0):X=X-48:PROCDELETE(X,Y):X=X+48ELSEPROCDELETE(X,Y) 1050 Y=Y+32:PROCMAN(X,Y,A,B,C,D) 1060 SOUND1,-15,150,2 1070 PROCLLEG1(X,Y,0,0):PROCLLEG2(X,Y,B,D) 1080 PROCRLEG1(X,Y,0,0):PROCRLEG2(X,Y,B,D) 1090 SOUND1,-15,200,2 1100 PROCRARM1(X,Y,0):PROCRARM2(X,Y,C) 1110 PROCLARM1(X,Y,0):PROCLARM2(X,Y,C) 1120 SOUND1,-10,255,2 1130 PROCDELAY(8) 1140 PROCDELETE(X,Y):Y=Y-32 1150 PROCMAN(X,Y,A,B,C,D) 1160 ENDPROC 1170 1180 DEFPROCRSTEP(X,Y,A,B,C,D) 1190 PROCDELAY(20) 1200 PROCRLEG1(X,Y,0,0) 1210 PROCRLEG2(X,Y,B,D) 1220 SOUND1,-15,1,1 1230 PROCDELAY(15) 1240 IFX>=224ANDX<=784THENPROCLLEG1(X,Y,0,0):Y=Y+24 1250 PROCDELETE(X,Y) 1260 IFU=952THENPROCRARM1(U,V,3) 1270 PROCNOOSE(952,264) 1280 X=X+56 1290 PROCMAN(X,Y,A,B,C,D) 1300 SOUND1,-10,1,1 1310 HORZ=X:VERT=Y 1320 ENDPROC 1330 1340 DEFPROCHANG 1341 CLS:COLOUR1:PRINT"!! WRONG !! IT WAS " 1342 COLOUR2:PRINT'TAB(3);WORD$ 1343 COLOUR3:PRINTTAB(3);STRING$(L,"_") 1350 PROCNOOSE(U,V) 1360 PROCDELAY(100) 1370 PROCRSTEP(UE,VE,1,3,2,1) 1380 UE=HORZ:UV=VERT 1390 PROCDELAY(200) 1400 PROCRARM1(UE,VE,0) 1410 PROCRARM2(UE,VE,2) 1420 PROCDELAY(200) 1430 PROCRARM2(UE,VE,0) 1440 PROCRARM1(UE,VE,2) 1451 VDU18,0,3:MOVE1224,420:PLOT1,0,-72 1460 SOUND0,-15,5,1 1470 PROCDELAY(50) 1480 PROCTRAP1(0) 1490 PROCTRAP2(1) 1500 SOUND0,-15,6,2 1510 PROCDELETE(U,V) 1521 VDU18,0,2:MOVE1016,424:PLOT1,0,-200 1530 V=V-200 1540 PROCNOOSE(U,V) 1550 PROCMAN(U,V,1,2,3,1) 1560 PROCNOOSE(U,V) 1570 SOUND0,-15,4,1 1580 FORK=1TO3 1590 PROCLLEG1(U,V,0,0) 1600 PROCLLEG2(U,V,2,1) 1610 PROCDELAY(5) 1620 PROCLLEG2(U,V,0,0) 1630 PROCLLEG1(U,V,2,1) 1640 PROCRLEG1(U,V,0,0) 1650 PROCRLEG2(U,V,2,1) 1660 PROCDELAY(5) 1670 PROCRLEG2(U,V,0,0) 1680 PROCRLEG1(U,V,2,1) 1690 NEXT K 1700 PROCTUNE 1710 PROCDELAY(500) 1720 ENDPROC 1730 1740 DEFPROCBODY(X,Y,A,B,C) 1751 VDU18,0,C:MOVEX+48,Y+72:PLOT0,32,0:PLOT81,0,44:PLOT0,-32,-44:PLOT81,0,44:VDU18,0,B:MOVEX+48,Y+56:PLOT0,32,0:PLOT81,0,12:PLOT0,-32,-12:PLOT81,0,12:VDU18,0,A:MOVEX+56,Y+128:PLOT0,16,0:PLOT81,0,20:PLOT0,-16,-20:PLOT81,0,20:PLOT0,8,-28:PLOT1,0,4 1760 ENDPROC 1770 1780 DEFPROCLLEG1(X,Y,B,D) 1791 VDU18,0,B:MOVEX+48,Y+8:PLOT0,8,0:PLOT81,0,44:PLOT0,-8,-44:PLOT81,0,44:VDU18,0,D:MOVEX+40,Y:PLOT0,16,0:PLOT81,0,4:PLOT0,-16,-4:PLOT81,0,4 1800 ENDPROC 1810 1820 DEFPROCRLEG1(X,Y,B,D) 1831 VDU18,0,B:MOVEX+72,Y+8:PLOT0,8,0:PLOT81,0,44:PLOT0,-8,-44:PLOT81,0,44:VDU18,0,D:MOVEX+72,Y:PLOT0,16,0:PLOT81,0,4:PLOT0,-16,-4:PLOT81,0,4 1840 ENDPROC 1850 1860 DEFPROCLARM1(X,Y,C) 1871 VDU18,0,C:MOVEX+40,Y+104:PLOT0,-40,-40:PLOT81,0,12:PLOT0,40,40:PLOT81,0,-12 1880 ENDPROC 1890 1900 DEFPROCRARM1(X,Y,C) 1911 VDU18,0,C:MOVEX+88,Y+104:PLOT0,40,-40:PLOT81,0,12:PLOT0,-40,40:PLOT81,0,-12 1920 ENDPROC 1930 1940 DEFPROCLLEG2(X,Y,B,D) 1951 VDU18,0,B:MOVEX+16,Y+56:PLOT0,24,0:PLOT81,0,12:PLOT0,-24,-12:PLOT81,0,12:PLOT0,0,-36:PLOT0,8,0:PLOT81,0,20:PLOT0,-8,-20:PLOT81,0,20:VDU18,0,D:MOVEX+8,Y+24:PLOT0,16,0:PLOT81,0,4:PLOT0,-16,-4:PLOT81,0,4 1960 ENDPROC 1970 1980 DEFPROCRLEG2(X,Y,B,D) 1991 VDU18,0,B:MOVEX+88,Y+56:PLOT0,24,0:PLOT81,0,12:PLOT0,-24,-12:PLOT81,0,12:PLOT0,16,-36:PLOT0,8,0:PLOT81,0,20:PLOT0,-8,-20:PLOT81,0,20:VDU18,0,D:MOVEX+104,Y+24:PLOT0,16,0:PLOT81,0,4:PLOT0,-16,-4:PLOT81,0,4 2000 ENDPROC 2010 2020 DEFPROCLARM2(X,Y,C) 2031 VDU18,0,C:MOVEX+40,Y+104:PLOT0,-40,40:PLOT81,0,12:PLOT0,40,-40:PLOT81,0,-12 2040 ENDPROC 2050 2060 DEFPROCRARM2(X,Y,C) 2071 VDU18,0,C:MOVEX+88,Y+104:PLOT0,40,40:PLOT81,0,12:PLOT0,-40,-40:PLOT81,0,-12 2080 ENDPROC 2090 2100 DEFPROCDELETE(X,Y) 2111 VDU18,0,0:MOVEX,Y:PLOT0,136,0:PLOT81,0,156:PLOT0,-136,-156:PLOT81,0,156 2120 ENDPROC 2130 2140 DEFPROCGALLOWS 2150 LOCALX,Y:Y=0 2160 FORX=320TO880STEP56 2171 VDU18,0,2:MOVEX,Y:MOVE1279,Y:PLOT85,1279,Y+20:MOVEX,Y:PLOT85,X,Y+20 2180 Y=Y+24 2190 NEXTX 2201 VDU18,0,0:MOVE908,260:PLOT1,0,-232:PLOT81,200,0:PLOT0,0,232:PLOT81,-200,0 2210 FORX=1255TO1279STEP8 2221 VDU18,0,2:MOVEX,264:PLOT1,0,416 2230 NEXTX 2241 PLOT0,-300,0:PLOT81,0,24:PLOT0,300,0:PLOT81,0,-24:PLOT0,0,-96:PLOT0,0,-24:PLOT81,-120,120:PLOT0,24,0:PLOT81,96,-96:PLOT0,-256,120:PLOT1,0,-280:VDU18,0,3:MOVE1224,516:PLOT1,0,-96:MOVE1224,516:PLOT0,0,-8:PLOT81,16,0:PLOT0,0,8:PLOT81,-16,0 2250 ENDPROC 2260 2270 DEFPROCNOOSE(X,Y) 2281 VDU18,0,2:MOVEX,Y:PLOT0,48,124:PLOT1,32,0:PLOT1,0,32:PLOT1,-32,0:PLOT1,0,-32 2290 ENDPROC 2300 2310 DEFPROCMAN(X,Y,A,B,C,D) 2320 PROCBODY(X,Y,A,B,C) 2330 PROCLLEG1(X,Y,B,D) 2340 PROCRLEG1(X,Y,B,D) 2350 PROCLARM1(X,Y,C) 2360 PROCRARM1(X,Y,C) 2370 ENDPROC 2380 2390 DEFPROCTRAP1(A) 2400 REM VDU18,0,A,25,4,908;260;25,0,200;0;25,81,-200;-16;25,0,200;16;25,81,0;-16; 2401 VDU18,0,A:MOVE908,260:PLOT0,200,0:PLOT81,-200,-16:PLOT0,200,16:PLOT81,0,-16 2402 2410 ENDPROC 2420 2430 DEFPROCTRAP2(A) 2441 VDU18,0,A:MOVE1108,244:PLOT0,0,-200:PLOT81,-16,200:PLOT0,0,-200:PLOT81,16,0 2450 ENDPROC 2460 2470 DEFPROCDELAY(T) 2480 DELAY=TIME+T 2490 REPEAT 2500 UNTILTIME>=DELAY 2510 ENDPROC 2520 2530 DEFPROCSCORE 2540 VDU28,0,4,19,1 2550 @%=00000009 2560 IFSCORE>H%THENH%=SCORE 2570 PRINT" HI-SCORE";SPC4;"SCORE" 2580 PRINTH%,SCORE 2590 VDU28,0,31,19,27 2600 ENDPROC 2610 2620 DEFPROCTUNE 2630 D=5:V=-12 2640 FORP=149TO5STEP-48 2650 SOUND1,V,P,D 2660 SOUND2,V,P+12,D 2670 SOUND2,V,P+28,D 2680 NEXT 2690 D=20:V=-15 2700 SOUND1,V,53,D*3 2710 SOUND2,V,65,D*2 2720 SOUND3,V,77,D 2730 SOUND3,V,81,D*3 2740 SOUND2,V,61,D*2 2750 SOUND1,V,49,D 2760 D=10 2770 SOUND1,V,53,D*6 2780 SOUND2,V,69,D 2790 SOUND3,V,81,D*6 2800 SOUND2,V,73,D 2810 SOUND2,V,69,D 2820 SOUND2,V,61,D 2830 SOUND2,V,69,D*2 2840 ENDPROC 2850 2860 DEFPROCSOUND 2870 V=-12:D=10 2880 SOUND1,V,33,D*5 2890 SOUND2,V,49,D*3 2900 SOUND3,V,61,D 2910 SOUND3,V,21,D 2920 SOUND3,V,25,D 2930 SOUND2,V,53,D*2 2940 SOUND3,V,5,D*2 2950 ENDPROC 2960 2970 DATA ABANDONED,ABATEMENT,ABDOMINOUS,ABBREVIATION,ABSOLUTE,ABSTINENCE,ACCELERATE,ACCOUNTANT,ACCOUNTABLE,ACROBATICS,ACUPUNCTURE,ADAPTATION,ADDITION,ADDITIONAL,ADDRESS,ADHERENT,ADHESIVE,ADJECTIVE,ADJOINING,ADJUSTMENT,ADMINISTRATION,ADMIRABLE 2980 DATA ADVENTURE,ADVOCATE,AESTHETIC,AFFECTED,AFFINITY,AFFIRMITIVE,AFFLATUS,AFFLICTION,AGGLOMERATE,AGGLUTINATE,AGGRESSION,AGRIEVE,AGITATOR,AGROPHOBIA,AILMENT,ALCHEMIST,ANONYMOUS,ALCOHOLOMETER 2990 DATA BACCARAT,BACCHANEL,BACCIFEROUS,BACCIVOROUS,BACHELOR,BACTERIA,BADMINTON,BAILIFF,BALANCE,BALALAIKA,BANNISTERS,BAMBOOZLE,BARRISTER,BARRIER,BENEVOLENCE,BENGALINE,BENZENE,BETROTHAL,BILLIONAIRE,BILLING,BIOGRAPHY,BIOLOGICAL,BLITHERING,BLOCKADE 3000 DATA BLOCKADE,BLOCKBUSTER,BLOSSOM,BLOOMED,BLOOMER,BLOTTER,BOARDER,BOASTFUL,BODILESS,BOILED,BOISTEROUS,BOISTEROUSNESS,BOISTEROUSLY,BROTHER,BULLETIN,BULLDOZER,BUREAUCRACY 3010 DATA CABINET,CABRIOLE,CABRIOLET,CACOGRAPHY,CALLIGRAPHY,CANOROUSNESS,CARNIVOROUSLY,CARNIVOROUSNESS,CELESTIAL,CELIBATE,CELLULAR,CELLULOSE,CENTRALIZE,CELEBRATION,CHAMELEON,CHAMBERLAIN,CHEMICAL,CHITARRONE,CHURLISH,CIRCUIT,CIRCUMLUNAR 3020 DATA CIRCUMNAVIGATE,CIRCUMNUTATE,CERCUMLOCUTION,CIRCUMFLEX,CIVILIZATION,CLAMOUR,CLAIRVOYANT,CLASSIFIED,CLASSICAL,CLEMENCY,CLUMSINESS,COHERENCE,COLLAPSIBLE,COLLECTIVE,COLLECTION,COMPROMISE,COMPRESSION,CRYSTALISATION,CURRICULUM 3030 DATA DANGEROUSLY,DANGLING,DAUGHTER,DECAFFEINATE,DECANDENCE,DECALCOMANIA,DECALESCENCE,DECELERATE,DECLARATION,DIFFUSION,EUPHONIUM,EUPHONIZE,EUTHANASIA,EBULLIENT,ECCENTRICITY,ECCLESIASTIC,ECONOMICAL,EDITORIAL,EFFECTIVENESS,EFFICIENCY 3040 DATA FORTUNATE,FEROCIOUSNESS,FANTASTICALLY,FANTASTICALITY,FASCINATION,FASCINATIVE,FASCINATING,FEDERATION,FELICITATION,FLUCTUATION 3050 DATA GALACTIC,GALLOPING,GALLOWS,GALVANIZE,GALVINIZATION,GASTRONOMER,GASTRONOMY,GASTRULATION,GENERALIZATION,GHENERATION 3060 DATA HYPERMARKET,HYPERMETER,HYPNOTISATION,HYPERSONIC,HOOLIGANISM,HONORARY,HONEYCOMB,HONEYSUCKLE,HELPLESSNESS,HEBEPHRENIA 3070 DATA ILLUSIONIST,ILLUSTRATE,ILLUSTRATION,IMAGINARY,IMAGINATION,IMAGINATIVE,IMMACULATE,IMMANENT,IMMACULATE,IMMORTALIZE,IMMOVEABLE 3080 DATA KALEIDOSCOPE,KERATOGENOUS,KINAESTHESIA,KINEMATICS,KNITTING,KNOWLEDGE,KNOWLEDGEABLE,KRYPTON,KYMOGRAPH 3090 DATA LABYRINTH,LACERATION,LACKADAISICAL,LEGIONARY,LEGISLATION,LEGISLATIVE,LENGTHEN,LEVITATION,LIBERTICIDE,LIBRARIANSHIP 3100 DATA MANIFESTATION,MALFUNCTION,MALFEASANCE,MALICIOUSNESS,MATERIALISTIC,MATHEMATICAL,MATHEMATICIAN,MICROSCOPICAL,MISCHIEVOUS,MISDEMEANOUR 3110 DATA NATIONALISATION,NATIONALITY,NEGLIGIBLE,NEGOTIABLE,NEGOTIATION,NERVOUSNESS,NICKELODEON,NICKELOUS,NIGHTINGALE,NUMERATION 3120 DATA OBSESSION,OBJECTIVE,OBLITERATION,OBLIVION,OBLIVIOUS,OBSERVANCE,OBSERVATORY,OPERATIONAL,OPPORTUNITY,ORDINANCE 3130 DATA PALISADES,PALLADIUM,PANDEMONIUM,PANORAMIC,PARADOXICAL,PARAGRAPH,PARAMILITARY,PROLETARIAN,PASSIONATE,PASTEURIZATION 3140 DATA QUESTIONABLE,QUIXOTIC,QUORUM,QUOTATION,QUESTIONNAIRE,QUINQUEREME,QUINCENTENARY,QUINQUAPARTITE,QUINQUENNIAL,QUATERNITY 3150 DATA READABILITY,READINESS,RAVELMENT,RAVENING,RAVENOUS,RAVIOLI,REACTIVATION,REASSURING,REASSURANCE,RECEIVABLE 3160 DATA SANQUINARINESS,SUPERSATURATED,SATURATION,SAXICOLOUS,SAXIFRAGACEOUS,SAXOPHONIST,SCAVENGER,SCHIZOPHRENIA,SCYPHIFORM,SEISMOGRAPH,SEGMENTATION,SEXTUPLICATE,SHUTTERING,SUZERAIN,SYLLOGIZE 3170 DATA TERMINATION,TERMINOLOGY,TECHNICALITY,TECHNOLOGY,TECHNOSTRUCTURE,TEENYBOPPER,TECHNOGRAPHY,TAXIDERMIST,TAZZA,TELETRANSCRIPTION,TETRASYLLABIC,TEXTUALISM,THUNDERSTONE,THUNDERSTORM,THUNDERSTRUCK,THUNDEROUS,THYRATON,THYRISTOR,TOXEMAEMIA,TYRANNICIDE 3180 DATA UBIQUITOUS,UXORIOUS,UXORICIDE,URTICATION,USEABILITY,URANOGRAPHY,URBANIZATION,URNING,UNIFORMITARIANISM,ULTIMOGENITURE 3190 DATA VINCIBLE,VALETUDINARIAN,VAPORIZER,VARIOLATE,VAUDVILLE,VELOCIPEDE,VENTRICLE,VENOMOUS,VERDIGRIS,VITREOUS,VIVIPAROUS,VIVISECTION,VIZARD,VOCABULARY,VOCATIONAL,VOCATION,VACATION,VULCANIZE,VULTURINE,VULGARIAN 3200 DATA WALLOPING,WAREHOUSEMAN,WEATHERCOCK,WHIMSICAL,WHISKER,WHISKY,WHORTLEBERRY,WICKERWORK,WRIGGLE,WRITHE,WYVERN,WRINKLE 3210 DATA XENIA,XENON,XENOPHILE,XYLOGRAPH,XYLOPHONE,XYSTER,XYLOTOMOUS,XIPHOID,XIPHISTERNUM,XENOGLOSIA 3220 DATA YARMULKE,YEARNING,YEARLING,YTERBIUM,YURT 3230 DATA ZELOUS,ZENITH,ZILLION,ZODIAC,ZONATION,ZOOPHAGOUS,ZUCCHETTO,ZYGODACTYL,ZYGOMORPHIC,ZYMOMETER,ZYMURGY