Compucolor.org – Virtual Media

Listing of file='HANGMN.BAS;01' on disk='vmedia/nsw_ug_1-sideA-sector.ccvf'

100 REM  HANGMAN DESIGNED & WRITTEN BY D. NIVEN 3/81
120 REM    #######################
140 REM    ###  H A N G M A N  ###
160 REM    #######################
165 REM  MODIFIED BY  T. LEE  21/03/81
170 REM
180 CLEAR 200:DIM W$(20),WT$(20)
181 H1= 0:H2= 0
182 FOR  K=  1 TO  6:READ  F$(K):NEXT
184 DATA  LEVEL1,LEVEL2,LEVEL3,LEVEL4,LEVEL5,LEVEL6
185 GOSUB 4000:REM  LEVEL SELECTION
190 GOSUB 2000:REM  CALL FUNCTION
195 X= 40:Y= 2:C= 0:KK= 1
225 PLOT 12,27,88
230 GOSUB 1000
240 GOSUB 2600
250 GOSUB 2500
270 PRINT "LETTER > ";:A= CALL (0)
290 GOSUB 2500:PRINT "          "
310 A$= CHR$ (A):PLOT 6,2,3,X,Y:PRINT A$
330 X= X+ 4:IF X= > 60THEN Y= Y+ 2:X= 41+ KK:KK= - KK
350 FOR I= 1TO L
370 IF A$= W$(I)THEN W$(I)= " ":GOTO 450
390 NEXT I
410 C= C+ 1:ON CGOSUB 1030,1060,1100,1120,1170,1210,1226,1250,1266,1290,1330
420 IF C= 11THEN 700
430 GOTO 250
450 LETTERS= LETTERS- 1:IF LETTERS= 0THEN 600
470 PLOT 6,5,3,20+ I* 2,29:PRINT A$
490 GOTO 250
600 REM  C O M P L E T E D !
620 PLOT 6,5,3,20+ I* 2,29:PRINT A$
630 PLOT 6,2,30,3,22,20,99,102,32,126,124,32,97,98,32
640 PLOT 123,101,32,110,117,32,32,29,110
642 PLOT 30,3,22,22,103,100,32,110,111,32,124,126,32
644 PLOT 108,127,32,108,119,32,32,33
650 PLOT 14,6,1,3,18,15:PRINT "CORRECT --> '";WD$;"'"
655 H2= 1+ H2:REM   SCORE POINTS
660 GOTO 800
700 REM   Y O U  L O S E  O U T !
710 PLOT 6,1,30,3,24,20,97,32,32,116,117,32,99,102,32
712 PLOT 101,110,32,32,29,110
714 PLOT 30,3,24,22,108,127,32,118,119,32,103,100,32
716 PLOT 32,97,32,32,29,33
720 PLOT 14,6,1,3,15,15:PRINT "YOUR WORD WAS '";WD$;"'"
725 H1= 1+ H1
770 REM
800 PLOT 14,6,1,3,45,29:PRINT "ANOTHER GO > ";:Q= CALL (0)
820 IF Q= 78THEN 6000:REM  SCORE
840 PLOT 12:GOTO 195
850 END
1000 REM  S T A N D  B A S E
1010 PLOT 6,3,2,5,5,242,120,5,120,2,5,2,5,5,255
1020 RETURN
1030 REM  S T A N D
1040 PLOT 6,3,2,10,5,242,10,125,62,125,62,115,255
1050 RETURN
1060 REM  H E A D
1070 PLOT 6,6,2,54,115,242,70,115,77,108,77,92,70,85
1080 PLOT 54,85,47,92,47,108,54,115,255
1090 RETURN
1100 REM  E Y E S
1110 PLOT 6,2,2,56,106,68,106,255
1115 RETURN
1120 REM  N O S E  AND  M O U T H
1130 PLOT 6,1,2,62,100,61,99,62,99,63,99,255
1140 PLOT 2,58,90,242,66,90,255
1150 PLOT 2,57,89,67,89,255
1160 RETURN
1170 REM  B O D Y
1180 PLOT 6,6,29,2,57,85,242,67,85,80,80,80,50,77,45
1190 PLOT 47,45,44,50,44,80,57,85,255
1200 RETURN
1210 REM  R I G H T  A R M
1220 PLOT 6,7,2,80,80,242,90,70,90,46,85,46,85,60,80,70,255
1224 RETURN
1226 REM  L E F T  A R M
1230 PLOT 6,7,2,44,80,242,34,70,34,46,39,46,39,60,44,70,255
1240 RETURN
1250 REM  R I G H T  H A N D
1260 PLOT 6,6,2,90,46,242,90,38,85,38,82,43,85,46,255
1264 RETURN
1266 REM  L E F T  H A N D
1270 PLOT 6,6,2,34,46,242,34,38,39,38,42,43,39,46,255
1280 RETURN
1290 REM   R I G H T  L E G
1300 PLOT 6,7,2,80,50,242,85,33,80,20,85,20,85,15,77,15
1310 PLOT 78,33,62,45,255
1320 RETURN
1330 REM  L E F T  L E G
1340 PLOT 6,7,2,44,50,242,39,33,44,20,39,20,39,15,47,15
1350 PLOT 46,33,62,45,255
1360 RETURN
2000 POKE 33283,232:POKE 33284,253
2020 ADR= 65000
2040 FOR I= 0TO 18
2060 READ V:POKE (ADR+ I),V
2080 NEXT I
2100 RETURN
2120 DATA 245,229,197,205,36,0
2140 DATA 194,235,253,95,175,87
2160 DATA 50,255,129,193,225,241
2180 DATA 201
2500 PLOT 3,50,15:RETURN
2600 REM  W O R D  S E L E C T I O N
2605 REM
2620 Z1= PEEK (33209):Z2= PEEK (33210)
2640 Z= INT ((Z1/ 6+ Z2/ 6)* 11* RND (1))
2645 IF  Z> 100 THEN  2600
2650 GET  NL,Z,1;WT$[16]
2652 GOSUB  5000:REM  FIND WORD LENGHT
2682 L= LEN (WD$):LETTERS= L
2684 FOR I= 1TO L
2686 W$(I)= MID$ (WD$,I,1)
2687 PLOT 14,6,1,3,20+ I* 2,29:PRINT "`"
2688 NEXT I
2700 RETURN
4000 REM  -------- LEVEL SELECTION -----------
4010 PLOT  12:PRINT "HANGMAN                  V 1.2":PRINT :PRINT
4012 PRINT "LEVEL 1";TAB( 20);"SIMPLE WORDS":PRINT
4014 PRINT "LEVEL 2";TAB( 20);"NOT SO EASY":PRINT
4015 PLOT  6,6
4016 PRINT "LEVEL 3";TAB( 20);"A BIT TRICKY":PRINT
4018 PRINT "LEVEL 4";TAB( 20);"HARD WORDS":PRINT
4019 PLOT  6,1
4020 PRINT "LEVEL 5";TAB( 20);"OH BOY !":PRINT
4022 PRINT "LEVEL 6";TAB( 20);"GET YOUR DICTIONARY !!":PRINT :PRINT
4028 PLOT  6,3:PRINT :INPUT "ENTER LEVEL (1-6) > ";NL
4030 FILE "R",NL,F$(NL),8:REM  OPEN FILE
4040 RETURN
4050 REM  ------- END SELECTION -----------
5000 REM  ----- WORD LENGHT --------
5010 Q= 0:FOR  K=  1TO  16
5020 T$= MID$ (WT$,K,1)
5030 T= ASC (T$)
5040 IF  T< 65 OR  T> 90 THEN  5100
5050 Q= Q+ 1:NEXT  K
5060 REM  Q= LENGHT OF WT$
5100 WD$= LEFT$ (WT$,Q)
5110 RETURN
5120 REM  ------ END W/L -------
6000 REM  -------- SCORE ---------
6020 PLOT  12:PRINT "HANGMAN  ";F$(NL);"":PRINT :PRINT
6030 PRINT TAB( 30);"HANGMAN";TAB( 45);"YOU":PRINT :PRINT
6040 PRINT :PRINT "SCORE > ";TAB( 30);H1;TAB( 45);H2:PRINT
6050 PRINT :PRINT "PERCENT CORRECT >";TAB( 40);(H2/ (H1+ H2))* 100;"   %":PRINT :PRINT
6055 PRINT :INPUT "CONTINUE ? > ";A$:IF  A$= "Y" THEN  195:PRINT
6058 FILE "C",NL:REM  CLOSE FILE
6060 PRINT :INPUT "ANOTHER GAME ? >  ";A$:IF  A$= "Y" THEN  100
6065 END
6080 REM  ------ END SCORE ----------