11REM           ***              ***
12REM           ***    HANGMAN   ***
13REM           ***              ***
14REM           ********************
15REM       
16REM           Adapted for the ADAM by W.L. Osburn
20GOSUB 1000:REM         INSTRUCTIONS
30GOSUB 2000:REM         SETUP
40GOSUB 3000:REM         PLAY
50GOSUB 4000:REM         !END!
60END
1000REM       
1001REM         *** INSTRUCTIONS
1009POKE 12185, 239
1010TEXT:NORMAL:HOME
1020VTAB 3:HTAB 12:? "*** HANG MAN ***"
1025VTAB 6
1035?
1045?
1055?
1060INPUT "HIT RETURN WHEN READY TO CONTINUE : "; ans$
1990RETURN
2000REM       
2001REM         *** SETUP
2010RESTORE
2020FOR i=1 TO INT(RND(1)*30)+1:READ wrd$:NEXT
2030DATA       "PENCIL","COMPUTER","PRINTER","ELEPHANT","NOTEBOOK"
2031DATA       "HANGMAN","POSTER","CEILING","FOOTBALL","EVERGREEN"
2032DATA        "YESTERDAY","MIRROR","PICTURE","CARPET","MONOPOLY"
2033DATA                                                           "SCOUNDREL","PROFILE","EQUIPMENT","FOUNTAIN","LAVISH"
2034DATA        "COOKIES","PLEASURE","ROUTINE","TEACHER","REGULAR"
2035DATA                                                           "BARBECUE","BARRIER","PAVEMENT","THOUGHTFUL","MARRIAGE"
2050 wl=LEN(wrd$):FOR i=1 TO wl: gu$(i)=CHR$(95):NEXT
2055 guessed$=""
2100GR:COLOR =15:HLIN 0, 39 AT 0:HLIN 0, 39 AT 39:VLIN 0, 39 AT 39:VLIN 0, 39 AT 0
2110HLIN 5, 34 AT 28:VLIN 7, 35 AT 5:VLIN 29, 35 AT 34:HLIN 6, 21 AT 7
2120PLOT 6, 11:PLOT 7, 10:PLOT 8, 9:PLOT 9, 8:PLOT 20, 8:PLOT 20, 9
2130COLOR =8:HLIN 19, 21 AT 29:HLIN 17, 23 AT 31:HLIN 15, 25 AT 33:HLIN 13, 27 AT 35
2135COLOR =9:HLIN 18, 22 AT 30:HLIN 16, 24 AT 32:HLIN 14, 26 AT 34
2190RETURN
2200COLOR =2:HLIN 19, 21 AT 10:HLIN 19, 21 AT 16:VLIN 12, 14 AT 17:VLIN 12, 14 AT 23:PLOT 18, 11:PLOT 22, 11:PLOT 18, 15:PLOT 22, 15:RETURN
2300COLOR =7:PLOT 18, 12:PLOT 19, 12:PLOT 21, 12:PLOT 22, 12:PLOT 19, 13:PLOT 21, 13:RETURN
2400COLOR =6:PLOT 19, 15:PLOT 20, 14:PLOT 21, 15:RETURN
2500COLOR =3:VLIN 17, 22 AT 20:RETURN
2600COLOR =12:HLIN 17, 19 AT 19:VLIN 19, 21 AT 17:RETURN
2700COLOR =12:HLIN 21, 23 AT 19:VLIN 19, 21 AT 23:RETURN
2800COLOR =4:PLOT 19, 23:PLOT 18, 24:HLIN 16, 18 AT 25:RETURN
2900COLOR =4:PLOT 21, 23:PLOT 22, 24:HLIN 22, 24 AT 25:RETURN
3000REM      
3001REM        *** PLAY ***
3010HOME:? "WORD: "; :FOR i=1 TO wl:? gu$(i); :NEXT:?
3015FOR i=1 TO wl:IF gu$(i)<>CHR$(95) THEN NEXT: wol=1:RETURN
3020? "GUESSES: "; gu$
3030?:? "WHAT IS YOUR GUESS ===> "; :GET ans$
3040IF ans$<"A" OR ans$>"Z" THEN 3010
3045FOR i=1 TO wl
3050IF MID$(gu$, i, 1)=ans$ THEN VTAB 23:HTAB 1:? CHR$(24):? "<<THAT'S ALREADY BEEN GUESSED>>":FOR pa=1 TO 1000:NEXT pa:GOTO 3010
3055NEXT
3060 rc=0:FOR i=1 TO wl:IF MID$(wr$, i, 1)=ans$ THEN  gu$(i)=ans$: rc=rc+1
3065NEXT:IF rc>o THEN 3010
3070 gu$=gu$+ans$:ON LEN(gu$) GOSUB 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900
3075? CHR$(7):? CHR$(7):? CHR$(7):? CHR$(7)
3080IF LEN(gu$)<8 THEN 3010
3090 wol=0:RETURN
4000REM = 0:RETURN
4001REM  *** END
4010FOR i=0 TO 39:COLOR =INT(RND(1)*15)+1:VLIN 0, 39 AT i:? CHR$(7):? CHR$(7):? CHR$(7):? CHR$(7):NEXT
4020FOR pa=1 TO 1500:NEXT pa
4030TEXT:HOME:VTAB 3
4040? "THE GAME IS OVER !!!"
4050IF wol THEN ?:?:? "YOU GUESSED THE CORRECT WORD, AND THE   ":? " PRISONER WILL GO FREE !!!"
4055IF  NOT wol THEN ?:?:? "THE PRISONER HAS BEEN HUNG, AS YOU":? "FAILED TO GUESS: "; wrd$; " !!!"
4060?:?:INPUT "DO YOU WISH TO PLAY AGAIN? "; ans$:IF LEFT$(ans$, 1)="Y" THEN 20
4990RETURN
