Compucolor.org – Virtual Media

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

50 CLEAR 100
100 REM
110 REM
120 REM
140 C1= 0:Y1= 0
150 PLOT 6,7
310 GOSUB 10000
320 GOSUB 10180
410 DIM A(75),B(75),C(75),B$(20)
415 DIM E$(16)
418 AD= 33278
419 PLOT 8:PRINT :PRINT
420 PRINT "WOULD YOU LIKE INSTRUCTIONS ?":PRINT "(Y OR N):";
421 POKE AD,0
422 S= RND (8):IF PEEK (AD)= 0THEN 422
423 S= PEEK (AD):INPUT "";ZZ$:ZZ$= CHR$ (S)
424 IF ZZ$= "N"OR ZZ$= "NO"THEN 500
460 PLOT 8
462 PRINT "THIS IS THE WORD GAME OF HANGMAN"
464 PRINT "THE COMPUTER CHOOSES A WORD FROM"
466 PRINT "IT'S RANDOM DISK DATA FILE AND"
468 PRINT "YOU ARE TO GUESS IT A LETTER IT"
470 PRINT "A TIME. AFTER EACH WRONG GUESS"
475 PRINT "A PORTION OF YOU WILL BE HANGED"
480 PRINT "AFTER 9 WRONG GUESSES YOU'RE A"
485 PRINT "GONER. IF YOU WANT TO YOU CAN"
487 PRINT "GUESS THE WHOLE WORD ANY TIME"
490 PRINT "THE 'YOUR GUESS' SIGN COMES ON."
500 PRINT :PRINT
502 PRINT "DO YOU WANT TO SEE WHAT YOU WILL"
504 INPUT "LOOK LIKE IF YOU FAIL (Y OR N)?";N7$
510 PRINT :INPUT "THE NAME OF YOUR LIBRARY? ";N8$
515 PLOT 3,0,0
520 FOR I= 1TO 16
530 PRINT "                                   "
540 NEXT I
550 IF N7$< > "Y"THEN 660
640 D3= 9
650 GOSUB 20000
652 FOR I= 1TO 500:NEXT I
654 GOSUB 30000
660 PLOT 6,1
662 PLOT 3,0,20:PRINT "INCORRECT GUESSES"
664 PLOT 3,0,28:PRINT "SCORE"
665 PRINT "HANGMAN-    YOU-"
666 GOSUB 2000:PLOT 6,7
667 FILE "T",4000:FILE "R",1,N8$+ ".LIB",1
669 GET 1,1;N,W
670 D1= 0:D2= 0:D3= 0
675 Q= INT ((N- 1)* RND (S)+ 2)
676 GET 1,Q;M$[16]
680 REM
700 GOSUB 31000
730 PLOT 3,0,6,6,2
734 FOR I= 1TO L9
740 PRINT "- ";
750 B$(I)= " "
755 E$(I)= " "
760 NEXT I
771 PLOT 3,0,8
775 PRINT L9;" LETTERS"
780 REM
785 PRINT :PLOT 3,0,0:INPUT "YOUR GUESS ? ";D$
800 PLOT 6,7,3,0,0
810 PRINT "                              "
850 D1= 0
860 C$= D$
880 IF LEN (C$)= 1THEN 920
890 IF C$= A$THEN 1390
900 GOSUB 3000
902 PRINT "THAT'S NOT THE WORD"
903 D3= D3+ 1
905 GOSUB 3040
906 GOSUB 20000
908 IF D3= 9THEN 1410
910 GOTO 780
920 IF C$< "A"THEN 940
930 IF C$< = "Z"THEN 960
940 GOSUB 3000
944 PRINT C$;" IS NOT A LETTER"
946 GOSUB 3040
950 GOTO 780
960 FOR I= 1TO D3
970 IF E$(I)= C$THEN 1030
980 NEXT I
990 FOR I= 1TO L9
1000 IF B$(I)= C$THEN 1030
1010 NEXT I
1020 GOTO 1050
1030 GOSUB 3000
1032 PRINT "YOU TRIED ";C$;" BEFORE"
1034 GOSUB 3040
1040 GOTO 780
1050 P1= 0
1060 P1= P1+ 1
1062 IF P1> L9THEN 1130
1065 FOR J= P1TO L9
1070 IF C$< > MID$ (A$,J,1)THEN 1082
1075 P1= J
1080 GOTO 1090
1082 NEXT J
1085 GOTO 1130
1090 D1= D1+ 1
1100 D2= D2+ 1
1110 B$(P1)= C$
1120 GOTO 1060
1130 IF D2= L9THEN 1270
1140 IF D1> 0THEN 1270
1150 D3= D3+ 1
1160 E$(D3)= C$
1165 GOSUB 20000
1170 IF D3= 9THEN 1410
1190 FOR I= 1TO D3- 1
1200 FOR J= I+ 1TO D3
1210 IF E$(I)< E$(J)THEN 1250
1220 E$(0)= E$(I)
1230 E$(I)= E$(J)
1240 E$(J)= E$(0)
1250 NEXT J
1260 NEXT I
1270 PLOT 3,0,4,6,2
1272 FOR I= 1TO L9
1280 PRINT B$(I);" ";
1290 NEXT I
1295 IF D2= L9THEN 1390
1298 IF C$= A$THEN 1390
1300 PLOT 3,0,24,6,7
1310 FOR I= 1TO D3
1315 IF D3< > 1THEN 1320
1316 E$(I)= E$(0)
1320 PRINT E$(I);" ";
1330 NEXT I
1340 PLOT 3,0,6,6,2
1350 FOR I= 1TO L9
1360 PRINT "- ";
1370 NEXT I
1380 GOTO 780
1390 GOSUB 3000
1391 PLOT 3,0,14
1395 PRINT A$;"-THAT'S IT-YOU WIN"
1396 Y1= Y1+ 1
1400 GOTO 1490
1410 GOSUB 3000
1415 PLOT 3,0,14
1420 PRINT "I WIN-THE WORD IS ";A$
1450 C1= C1+ 1
1490 POKE AD,0:PRINT "PLAY AGAIN (Y OR N) ";
1495 S= RND (7):IF PEEK (AD)= 0THEN 1495
1500 S= PEEK (AD):INPUT "";N7$:N7$= CHR$ (S)
1502 GOSUB 2000
1505 GOSUB 3040
1510 IF N7$< > "Y"THEN 1520
1512 GOSUB 3100
1514 GOTO 670
1520 PLOT 6,7,14,12,3,24,8
1540 PRINT "GOOD BYEEE !!!"
1545 PLOT 3,64,0:FOR XQ= 0TO 1000:NEXT XQ:LOAD "MENU":RUN
1550 END
2000 REM
2010 PLOT 3,8,30:PRINT C1
2020 PLOT 3,16,30:PRINT Y1
2030 RETURN
3000 REM
3005 FOR I= 1TO 20:OUT 7,64:NEXT I
3010 PLOT 3,0,64,6,15
3030 RETURN
3040 REM
3050 FOR I1= 1TO 500:NEXT I1
3060 PLOT 3,0,64,6,7
3080 PRINT "                                   "
3085 PRINT "                                  "
3090 RETURN
3100 REM
3110 PLOT 3,0,4
3120 PRINT "                                   "
3125 PRINT "                                   "
3126 PRINT "                                   "
3130 PLOT 3,0,24
3140 PRINT "                                  "
3145 PLOT 3,0,14
3146 PRINT "                                   "
3147 PRINT "                                   "
3150 GOSUB 30000
3160 RETURN
4000 REM  ERROR TRAPPING ROUTINE
4010 FILE "E",FL,ER,LN
4020 IF ER= 14THEN PRINT "LIBRARY ";N8$;"DOES NOT EXIST":GOTO 510
4030 PRINT "PANIC FILE ERROR ";N8$;".LIB  ER=";ER;"  LN=";LN:END
10000 REM
10005 PLOT 15,155,24,12,6,34
10020 I= 31
10030 PLOT 3,35,I
10050 FOR K= 1TO 28:PLOT 32:NEXT K
10070 PLOT 6,39,3,43,31
10090 PRINT "H A N G M A N"
10100 REM
10110 PLOT 3,35,0
10120 FOR K= 1TO 21:PLOT 32:NEXT K
10130 REM
10140 FOR I= 0TO 31
10150 PLOT 3,35,I
10160 FOR K= 1TO 2:PLOT 32:NEXT K
10170 NEXT I
10175 RETURN
10180 REM
10190 PLOT 6,0,3,64,0
10195 AX= 112
10200 FOR AY= 104TO 127
10210 PLOT 255,6,1,2,253,AX,AY
10220 NEXT AY
10230 PLOT 255,15
10240 PLOT 3,52,6,15,2,254,0,60,17,17,17,17,195,255
10245 FOR Q= 7TO 8
10250 PLOT 3,52,Q,2,254,240,0,0,0,0,0,0,15,255
10255 NEXT Q
10260 PLOT 3,52,9,2,254,0,99,68,68,68,68,54,255
10280 PLOT 14,3,0,0
10300 RETURN
20000 REM
20010 V9= 1
20020 IF V9< = D3THEN 20050
20030 RETURN
20050 ON V9GOSUB 21620,21690,21720,21750,21900,22000,22100,22300,22400
20060 V9= V9+ 1
20070 GOTO 20020
21620 PLOT 15,3,53,3,6,39
21624 PRINT "******"
21626 PLOT 3,51,4
21628 PRINT "          "
21630 PLOT 6,7,14
21650 RETURN
21690 PLOT 15,3,53,5,6,60
21704 PRINT " o  o "
21706 PLOT 3,52,6
21710 PRINT "[  <>  ]"
21715 PLOT 6,7,14
21718 RETURN
21720 PLOT 15,3,53,7,6,57
21726 PRINT "  __  "
21728 PLOT 6,7,14
21740 RETURN
21750 PLOT 15,3,54,8,6,56
21765 PRINT "    "
21773 PLOT 6,35,3,54,9
21776 PRINT "****"
21870 PLOT 15,3,49,10,6,35
21876 PRINT "* * * * * * * "
21878 PLOT 3,49,11
21880 PRINT " * * * * * * *"
21882 PLOT 6,7,14
21886 RETURN
21900 PLOT 15,3,49,12,6,39
21906 PRINT "  "
21908 PLOT 3,52,12
21910 PRINT "        "
21912 PLOT 3,61,12
21914 PRINT "  "
21916 PLOT 3,49,13
21918 PRINT "  "
21920 PLOT 3,52,13:PRINT "        "
21922 PLOT 3,61,13:PRINT "  "
21924 PLOT 6,7,14
21940 RETURN
22000 PLOT 15,6,39
22008 PLOT 3,49,14:PRINT "  "
22010 PLOT 3,52,14:PRINT " SUPER  "
22020 PLOT 3,61,14:PRINT "  "
22030 PLOT 3,49,15:PRINT "  "
22040 PLOT 3,52,15:PRINT " DUMMY  "
22050 PLOT 3,61,15:PRINT "  "
22060 PLOT 3,49,16:PRINT "  "
22070 PLOT 3,52,16:PRINT "        "
22080 PLOT 3,61,16:PRINT "  "
22090 PLOT 6,7,14
22094 RETURN
22100 PLOT 15,6,35,3,49,17:PRINT "**"
22115 PLOT 3,61,17:PRINT "**"
22120 PLOT 6,24,3,52,17:PRINT "+++WH+++"
22160 PLOT 6,7,3,49,18:PRINT "[]"
22180 PLOT 3,61,18:PRINT "[]"
22190 PLOT 6,16
22200 PLOT 3,52,18:PRINT "        "
22205 PLOT 3,52,19:PRINT "        "
22210 PLOT 14
22220 PLOT 3,52,20:PRINT "   "
22230 PLOT 3,57,20:PRINT "   "
22240 PLOT 3,52,22:PRINT "   "
22250 PLOT 3,57,22:PRINT "   "
22260 PLOT 6,7,14
22280 RETURN
22300 PLOT 14,6,16
22320 PLOT 3,52,24:PRINT "   "
22330 PLOT 3,57,24:PRINT "   "
22340 PLOT 3,52,26:PRINT "   "
22350 PLOT 3,57,26:PRINT "   "
22360 PLOT 6,7,14
22380 RETURN
22400 PLOT 14,6,56,15
22440 PLOT 3,53,27:PRINT " "
22450 PLOT 3,58,27:PRINT " "
22455 PLOT 6,28
22460 PLOT 3,49,28:PRINT " <><>"
22470 PLOT 3,58,28:PRINT "<><> "
22480 PLOT 6,15
22490 PLOT 3,54,7:PRINT "HELP"
22500 FOR I= 1TO 20
22510 OUT 7,64
22520 NEXT I
22530 PLOT 6,7,14
22550 RETURN
30000 REM
30010 PLOT 15
30020 FOR I= 2TO 30
30030 PLOT 3,37,I
30040 PRINT "                           "
30050 NEXT I
30060 PLOT 6:PLOT 7
30070 GOSUB 10180
30080 PLOT 14
30090 RETURN
31000 REM
31010 L9= LEN (M$)
31020 M9= L9
31030 FOR M8= 1TO M9
31040 IF MID$ (M$,M8,1)= " "THEN 31060
31050 NEXT M8
31060 L9= M8- 1
31070 A$= LEFT$ (M$,L9)
31080 RETURN
50000 END