5 'There are two lines that will need to be edited these are 1640 and 1710 6 'This program requires the file WORDSO.DO that contains a list of words 7 'The first entry of the word file must contain the number of words in the file 10 TIME$ON:DIMB$(20) 20 MAXFILES=1:OPEN"wordso"FORINPUTAS1 30 INPUT#1,NU%:CLOSE 40 CLS:GOSUB1660 50 S=VAL(RIGHT$(TIME$,2))+VAL(RIGHT$(TIME$,5))*60+VAL(RIGHT$(TIME$,8))*3600 60 PRINT"Welcome to HANGMAN" 70 PRINT"I will pick a word":PRINT"and you will guess" 80 PRINT"What it is. You must guess" 90 PRINT"the word before you are hung." 100 PRINT"Multiple letters can be":PRINT"seperated with a , " 110 GOSUB1550 120 FORD3=1TO9 130 GOSUB1180 140 NEXT 150 D3=0 160 SEC=VAL(RIGHT$(TIME$,2)) 170 FORI=1TOSEC 180 DU=RND(1) 190 NEXTI 200 PRINT@280,"Press any key to continue"; 210 A$=INKEY$:IFA$=""THEN210 220 CLS:TIME$ON:GOSUB1550 230 FORI=1TO9:E$(I)="":NEXT:D1=0:D2=0:D3=0 240 OPEN"wordso"FORINPUTAS1 250 FORX=1TOINT(RND(1)*NU%)+1 260 INPUT#1,A$ 270 NEXT:INPUT#1,A$:CLOSE 280 PRINT@280,SPACE$(39); 290 L9=LEN(A$) 300 FORI=1TOL9 310 PRINT@280+(2*I),"- "; 320 B$(I)="-" 330 NEXT 340 PRINT@0,SPACE$(30);:PRINT@0,"";:LINEINPUT"What is your guess? ";X$ 350 IFX$="?"THENPRINTA$" ";:BEEP:GOTO340 360 FOR I=1 TO LEN(X$) 370 IFMID$(X$,I,1)=","THEN420 380 NEXT 390 D$(1)=X$ 400 NUM=1 410 GOTO460 420 FORI=1TO(LEN(X$)+1)/2 430 D$(I)=MID$(X$,I+I-1,1) 440 NEXT 450 NUM=(LEN(X$)+1)/2 460 FORJ=1TONUM 470 D1=0 480 C$=D$(J) 490 IFLEN(C$)=1THEN530 500 IFC$=A$THEN1040 510 PRINT@0,;"Wrong guess try again"; 520 FORQ=0TO1000:NEXT:GOTO340 530 IFC$>"Z"THENC$=CHR$(ASC(C$)-32) 540 IF C$<"A"THEN560 550 IF C$<="Z"THEN580 560 PRINT@0,C$;" Is not a letter. Try again ---"; 570 FORQ=0TO1000:NEXT:GOTO340 580 FORI=1TOD3 590 IFE$(I)=C$THEN650 600 NEXTI 610 FORI=1TOL9 620 IFB$(I)=C$THEN650 630 NEXTI 640 GOTO670 650 PRINT@0,"You tried ";C$;" before try again --"; 660 FORQ=0TO1000:NEXT:GOTO340 670 P=0:LG=LG+1 680 P1=0 690 PP=0 700 P1=P1+1 710 FORI=1TOL9 720 IFC$=MID$(A$,I,1)THENP=I:PP=PP+1:GOTO750 730 NEXTI 740 IFI>=L9THEN800 750 IFP1<>PPTHEN730 760 D1=D1+1 770 D2=D2+1 780 B$(P)=C$:LR=LR+1 790 GOTO690 800 IFD2=L9THEN950 810 IFD10THEN860 820 D3=D3+1 830 E$(D3)=C$:LW=LW+1 840 GOSUB1180 850 IFD3=9THEN1070 860 NEXTJ 870 FORI=1TOD3-1 880 FORJ=ITOD3 890 IFE$(I)==30THENA=30 1280 NEXTX 1290 RETURN 1300 A=27 1310 FORX=195TO190STEP-1 1320 FORY=25TOA 1330 PSET(X,Y) 1340 NEXTY 1350 A=A+2 1360 IFA>=30THENA=30 1370 NEXTX 1380 RETURN 1390 LINE(186,31)-(189,33),1,BF 1400 RETURN 1410 LINE(190,31)-(193,33),1,BF 1420 RETURN 1430 LINE(182,25)-(183,33),1,BF 1440 RETURN 1450 LINE(196,25)-(197,33),1,BF 1460 RETURN 1470 LINE(186,34)-(188,43),1,BF 1480 PSET(184,43) 1490 PSET(185,43) 1500 RETURN 1510 LINE(191,34)-(193,43),1,BF 1520 PSET(194,43) 1530 PSET(195,43) 1540 RETURN 1550 LINE(184,17)-(210,18),1,BF 1560 LINE(180,48)-(215,50),1,BF 1570 LINE(207,18)-(210,53),1,BF 1580 LINE(180,51)-(183,53),1,BF 1590 LINE(190,19)-(190,21) 1600 RETURN 1610 SE=VAL(RIGHT$(TIME$,2))+VAL(RIGHT$(TIME$,5))*60+VAL(RIGHT$(TIME$,8))*3600 1620 ET=SE-S 1630 IFET<0THENET=ET+86400 1640 ET$=RIGHT$("0"+MID$(STR$(INT(ET/3600)),2),2)+":"+RIGHT$("0"+MID$(STR$(INT((ET-INT(ET/3600)*3600)/60)),2),2)+":"+RIGHT$("0"+MID$ (STR$(INT(ET-INT(ET/60)*60)),2),2) 1650 RETURN 1660 CP%=CSRLIN*40+POS(0) 1670 PRINT@32,TIME$; 1680 PRINT@CP%,""; 1690 SE=VAL(RIGHT$(TIME$,2))+VAL(RIGHT$(TIME$,5))*60+VAL(RIGHT$(TIME$,8))*3600 1700 SE=SE+10:IFS>86400THENSE=SE-86400 1710 T$=RIGHT$("0"+MID$(STR$(INT(SE/3600)),2),2)+":"+RIGHT$("0"+MID$(STR$(INT((SE-INT(SE/3600)*3600)/60)),2),2)+":"+RIGHT$("0"+MID$( STR$(INT(SE-INT(SE/60)*60)),2),2) 1720 ONTIME$=T$GOSUB1660 1730 RETURN