100 REM Hangman 110 REM By Walid Maalouli 120 REM April 1999 130 PRINT "Do you need instructions? (y/n)" 140 A$=KEY$:IF A$=""THEN 140 150 IF A$<>"y"THEN 210 160 PRINT "You have 7 attempts to guess":PAUSE 170 PRINT "the word. Press the spacebar":PAUSE 180 PRINT "to view your available letters":PAUSE 190 PRINT "then ENTER to return to the":PAUSE 200 PRINT "game. Good luck!":PAUSE 210 CALL CHAR(0,"0000001f1f000000") 220 CALL CHAR(1,"00000e11110e0000") 230 CALL CHAR(2,"0103051919050301") 240 CALL CHAR(3,"110b0d1919050301") 250 CALL CHAR(4,"110b0d19190d0b11") 260 CALL CHAR(5,"01011e") 270 CALL CHAR(6,"01011e00001e0101") 280 L$="abcdefghijklmnopqrstuvwxyz" 290 DISPLAY AT(13)BEEP ERASE ALL,"HANGMAN":PAUSE 300 RANDOMIZE:WLOC=INTRND(125) 310 RESTORE 620:FOR I=1 TO WLOC:READ W$:NEXT I 320 RESTORE 610 330 PRINT "Ready! Press ENTER to start...":PAUSE 340 FOR I=1 TO LEN(W$):PRINT "_";:NEXT I 350 DISPLAY AT(25)BEEP,"I"; 360 A$=KEY$:IF A$=""THEN 360 370 IF A$=" "THEN GOSUB 540 380 IF ASC(A$)<97 OR ASC(A$)>122 THEN 360 390 T=POS(L$,A$,1):IF T>0 THEN L$=SEG$(L$,1,T-1)&"_"&SEG$(L$,T+1,LEN(L$)-T) 400 FOR I=1 TO LEN(W$) 410 IF F$(I)<>""THEN 450 420 IF A$=SEG$(W$,I,1)THEN 430 ELSE 450 430 DISPLAY AT(I)BEEP SIZE(-1),A$;:F$(I)=A$:COUNT=COUNT+1:FFLAG=1 440 IF COUNT=LEN(W$)THEN DISPLAY AT(23)BEEP,"Good job!":PAUSE:GOTO 510 450 NEXT I 460 IF FFLAG=1 THEN 500 ELSE HCOUNT=HCOUNT+1 470 IF HCOUNT=7 THEN DISPLAY AT(29)BEEP SIZE(1),CHR$(6) ELSE 490 480 DISPLAY AT(1)BEEP SIZE(15),"You are hanged!";:PAUSE:GOTO 510 490 READ P:DISPLAY AT(P)SIZE(1),CHR$(C):C=C+1:GOTO 360 500 FFLAG=0:GOTO 360 510 PRINT:PRINT "Play again? (y/n)";:ACCEPT AT(19)BEEP VALIDATE("yn"),A$ 520 IF A$="n"THEN STOP ELSE C=0:FOR I=0 TO 9:F$(I)="":NEXT I 530 COUNT=0:FFLAG=0:HCOUNT=0:P=0:GOTO 280 540 PRINT:PRINT L$:PAUSE:RESTORE 550 FOR I=1 TO LEN(W$) 560 IF F$(I)=""THEN PRINT "_"; ELSE PRINT F$(I); 570 NEXT I 580 DISPLAY AT(25),"I"; 590 IF P=0 THEN RETURN ELSE FOR I=0 TO C-1:READ P:DISPLAY AT(P),CHR$(I);:NEXT I 600 RETURN 610 DATA 26,27,28,28,28,29 620 DATA abdomen,afoul,aggregate,algebra,applaud 630 DATA beaker,behold,biocide,blandish,blueberry 640 DATA candid,cemetary,charbroil,cipher,confluence 650 DATA dander,debark,diabolic,drastic,dudgeon 660 DATA easel,eczema,effectual,ellipse,encroach 670 DATA facetious,ferment,fetish,fledgling,foretell 680 DATA gaiety,generic,ghost,gourmet,guttural 690 DATA habitable,heaven,hierarchy,homograph,hustle 700 DATA iceberg,illusion,imperial,inherent,itself 710 DATA jeopardy,joint,journal,juncture,juvenile 720 DATA kennel,kangaroo,kidney,knack,knowledge 730 DATA labor,league,lexicon,ligament,lozenge 740 DATA majesty,measly,microbe,module,multiply 750 DATA naive,needle,nipple,normality,nutritious 760 DATA obligate,offense,operate,orthodox,overcast 770 DATA pacify,peddle,pennant,phlegm,pinch 780 DATA quack,quarry,queer,quiescent,quotient 790 DATA rabble,rebuild,rhetorical,ripple,rumble 800 DATA saboteur,scarlet,secretary,shrapnel,solace 810 DATA tabernacle,tease,thing,tonnage,tractor 820 DATA ulcer,umpire,upgrade,useless,uttermost 830 DATA vacant,vehement,vibrate,voltage,vulture 840 DATA wadding,wedding,whale,windmill,worthy 850 DATA yak,yogurt,yoke,yawn,youth 860 DATA zany,zest,zodiac,zoom,zucchini