Compucolor.org – Virtual Media

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

90 REM



100 REM     EXPLODING  HIDDEN MICE
105 REM  
110 REM     WRITTEN BY DAVID NIVEN  JULY 82
120 REM  
125 REM



130 DIM M(14)
160 FOR I= 1TO PEEK (33209)+ PEEK (33210):X= RND (1):NEXT I
190 PLOT 27,88,15
200 P1= 1
220 FOR I= 0TO 31:PLOT 3,0,I,11:NEXT I
250 MICE= 14:REM  14 TO START WITH
260 SHOT= 0:GO= 0:MSS= 0:MM= 0:REM  COUNTERS TO CHECK EXPERTISE
280 GOSUB 4120:REM  SET INITIAL CHARACTERISTICS
310 REM  SET UP BOARD
340 GOSUB 1060
370 REM  SET 'EM GOING
400 GOSUB 2050
430 REM  GET SELECTION & BOOMB!
460 GOSUB 2770
490 IF MICE= 0THEN 550:REM  RESULTS
520 GOTO 310
550 REM  FINAL STATISTICAL & ANALYTICAL RESULTS
560 P1= P1+ 1:REM  NO OF PLAYS
580 FOR I= 1TO 31:PLOT 3,0,I,11:NEXT I
610 FOR Y= 2TO 30STEP 4
640 PLOT 6,INT (RND (1)* 7)+ 1
670 FOR X= 4TO 54STEP 5
700 PLOT 3,X,Y,92,116,117,104
730 PLOT 3,X+ 2,Y+ 2,104,116,117,47
760 NEXT X,Y
790 PLOT 14,3,0,10,11,10,11,10,11,28,6,33,3,23,11:PRINT "  M  O  U  S  E  ":PLOT 15
800 PLOT 6,3,3,25,14:PRINT "FOR GAME # ";P1:PLOT 6,1
820 FOR I= 1TO 1000:NEXT I
850 FOR I= 18TO 24:PLOT 3,15,I:PRINT "                              ":NEXT I
880 FOR Z= 1TO 500:NEXT Z
910 PLOT 29,3,20,18:PRINT "YOUR LEVEL WAS ";L$;""
940 PLOT 3,16,20:PRINT "YOU HAD";GO;" GOES WITH";MSS;" MISSES"
941 R1$= "":R2$= ""
942 PLOT 3,16,21:PRINT "AND ALTOGETHER SOME";SHOT;" SHOTS."
943 ON LGOTO 944,948,952,956,960,964
944 IF SHOT< = 16THEN R1$= "VERY GOOD GO UP TO LEVEL 2 NOW":GOTO 990
945 R1$= "YOU  REALLY ARE  A BEGINNER"
946 R2$= "BUT  KEEP TRYING ANYWAY":GOTO 990
948 IF SHOT< = 17THEN R1$= "GOOD WORK GO UP TO LEVEL 3 NOW":GOTO 990
949 R1$= "YOU WERE'NT SO LUCKY THIS TIME"
950 R2$= "BUT KEEP TRYING":GOTO 990
952 IF SHOT< = 18THEN R1$= "NOT BAD YOU'VE IMPROVED TO LEVEL 4":GOTO 990
953 R1$= "IT WAS ONLY A FAIR RESULT THIS GO"
954 R2$= "BUT DON'T GIVE UP - KEEP TRYING":GOTO 990
956 IF SHOT< = 20THEN R1$= "YOU'VE IMPROVED TRY LEVEL 5 NEXT":GOTO 990
957 R1$= "IT WAS ONLY A GOOD RESULT BUT YOU"
958 R2$= "YOU COULD DO BETTER NEXT GO - TRY!":GOTO 990
960 IF SHOT< = 22THEN R1$= "NOT BAD FOR LEVEL 5 TRY LEVEL 6":R2$= "IF YOU DARE!!":GOTO 990
961 R1$= "NOT BAD BUT NOT GOOD ENOUGH"
962 R2$= "YOU'LL FIND LEVEL 6 VERY HARD":GOTO 990
964 IF SHOT< = 20THEN R1$= "GOOD FOR LEVEL 6 - TRY HARDER":R2$= "IF YOU CAN TAKE IT!!":GOTO 990
965 R1$= "NOT GOOD ENOUGH - YOU COULD ALWAYS"
966 R2$= "TRY THE NEXT LEVEL DOWN":GOTO 990
968 IF SHOT= 14THEN R1$= "YOU REALLY ARE AN EXPERT":R2$= "CONGRATULATIONS!!!!!":GOTO 990
969 R1$= "NOT GOOD ENOUGH - IF YOU GET THIS"
970 R2$= "LEVEL YOU ARE A GRAND CAT - FEW MAKE IT.":GOTO 990
990 PLOT 3,16,23:PRINT R1$:PLOT 3,16,24:PRINT R2$
992 FOR Z= 1TO 2500:NEXT Z
995 PLOT 6,2,3,42,14:PRINT "ANOTHER GAME Y/N";:INPUT ": ";A$
1000 IF A$< > "Y"THEN PLOT 12,27,75:END
1030 GOTO 220
1060 REM  BOARD SET UP
1090 PLOT 6,1,12,30
1120 REM  PLOT3,0,29,11,10,11,10,11
1150 FOR Y= 1TO 25STEP 6
1180 FOR X= 0TO 56STEP 7
1210 PLOT 3,X,Y,32,110,101,101,101,111,3,X,Y+ 1,32,97,32,32,32,98
1240 PLOT 3,X,Y+ 2,32,97,32,32,32,98,3,X,Y+ 3,32,108,127,127,127,109
1270 NEXT X,Y
1300 PLOT 6,2,14:C= 48
1330 FOR Y= 3TO 27STEP 6
1360 FOR X= 3TO 64STEP 7
1390 X1= X+ 1:IF C> 57THEN 1450
1420 PLOT 3,X+ 1,Y,C:GOTO 1570
1450 IF C< 68THEN PLOT 3,X,Y,49,C- 10:GOTO 1570
1480 IF C< 78THEN PLOT 3,X,Y,50,C- 20:GOTO 1570
1510 IF C< 88THEN PLOT 3,X,Y,51,C- 30:GOTO 1570
1540 IF C< 98THEN PLOT 3,X,Y,52,C- 40:GOTO 1570
1570 C= C+ 1:NEXT X,Y
1600 REM  MICE ALL HIDE
1610 GO= GO+ 1:REM  A COUNTER USED FOR CHECKING EXPERTISE
1630 FOR I= 1TO MICE
1660 M(I)= INT (RND (1)* 45)
1690 IF I= 1THEN 1810
1720 FOR II= 1TO I- 1
1750 IF M(I)= M(II)THEN 1660
1780 NEXT II
1810 NEXT I
1840 PLOT 15,3,15,30,6,3
1870 IF MICE= 1THEN PRINT " ONLY ONE MOUSE TO HIDE":GOTO 1930
1900 PRINT " ";MICE;" MICE WILL NOW TRY & HIDE"
1930 FOR I= 1TO 1000:NEXT I
1960 PLOT 3,0,30,11:RETURN
1990 REM
2020 REM
2050 REM   THE MICE ARE TRYING TO HIDE FROM YOU
2080 ML= MICE:REM  A CHECK ON LAST # OF MICE
2110 PLOT 15,6,4
2140 FOR I= 1TO MICE
2170 N= M(I):GOSUB 5590:REM  LOCATE THEM
2172 IF MICE< = 4AND L= > 5THEN 2742
2200 D= 1:IF RND (1)< .5THEN D= 2:REM  D=DIRECTION OF TRAVEL << 1  2 >>
2230 IF X= 0THEN D= 2:REM  LEFTMOST MICE CAN ONLY GO RIGHT
2260 IF X= 56THEN D= 1:REM  RIGHTMOST MICE CAN ONLY GO LEFT
2290 IF D= 1THEN 2530
2320 FOR X1= XTO X+ 7
2350 PLOT 3,X1,Y,32,92,116,117,104
2380 NEXT X1
2410 FOR Z= 1TO LEVEL:NEXT Z
2440 PLOT 3,X+ 7,Y,32,32,32,32,32
2470 M(I)= M(I)+ 1
2500 GOTO 2710
2530 FOR X1= X+ 1TO X- 6STEP - 1
2560 PLOT 3,X1,Y,104,116,117,47,32
2590 NEXT X1
2620 FOR Z= 1TO LEVEL:NEXT Z
2650 PLOT 3,X- 6,Y,32,32,32,32,32
2680 M(I)= M(I)- 1
2710 NEXT I
2740 RETURN
2742 FOR I= ITO MICE
2744 N= M(I):GOSUB 5590:REM  LOCATE THEM
2746 PLOT 6,4,3,X,Y,32,92,116,117,104
2747 N= INT (RND (1)* 45):IF N= M(I)THEN 2747
2748 PLOT 3,X,Y,32,32,32,32,32
2749 MM= 8:IF L= 6THEN MM= 4
2750 GOSUB 5590:REM  LOCATE DESTINATION
2752 PLOT 6,2,3,X,Y,32,92,116,117,104
2753 FOR Z= 1TO LEVEL* MM:NEXT Z
2754 PLOT 3,X,Y,32,32,32,32,32
2755 M(I)= N:FOR Z= 1TO LEVEL* MM:NEXT Z
2756 NEXT I
2758 GOTO 2740
2770 REM  NOW YOU GUESS WHERE THEY'RE AT!!
2800 PLOT 6,6,3,10,30:PRINT "NOW 4 CHANCES TO BLOW THEIR HIDEOUTS!!"
2830 FOR I= 1TO 1000:NEXT I
2860 FOR I= 1TO 4
2890 PLOT 3,0,30,11:PRINT TAB( 10);"NUMBER";I;:INPUT " : ";NG
2920 IF NG< 0OR NG> 44THEN 2890
2930 SHOT= SHOT+ 1:REM  COUNTER FOR # OF SHOTS
2950 FOR C= 1TO MICE
2980 IF M(C)= NGTHEN 3160
3010 NEXT C
3040 PLOT 3,0,30,11:PRINT TAB( 10);"NOTHING THERE - YOU BLEW IT!!"
3050 MSS= MSS+ 1:REM  COUNTER FOR # OF MISSES
3070 FOR C= 1TO 600:NEXT C
3100 NEXT I
3130 GOSUB 3700:RETURN
3160 REM  MOUSE FOUND - BLOW IT!
3190 N= NG:GOSUB 5590:X= X+ 1:Y= Y+ 1
3220 FOR Z= 1TO 4
3250 PLOT 3,X,Y:PLOT 6,INT ((RND (1)* 7)+ 1)* 8:PRINT "     "
3280 PLOT 3,X,Y+ 1:PRINT "     "
3310 PLOT 3,X,Y+ 2:PRINT "     "
3340 PLOT 3,X,Y+ 3:PRINT "     "
3370 NEXT Z:PLOT 6,1
3400 PLOT 3,X,Y,30,6,1,92,92,32,47,47
3430 PLOT 3,X,Y+ 1,60,60,32,62,62
3460 PLOT 3,X,Y+ 2,60,60,32,62,62
3490 PLOT 3,X,Y+ 3,47,47,32,92,92
3520 PLOT 29
3550 PLOT 3,X,Y:PRINT "     ":PLOT 3,X,Y+ 1:PRINT "     "
3580 PLOT 3,X,Y+ 2:PRINT "     ":PLOT 3,X,Y+ 3:PRINT "     "
3610 M(C)= M(MICE):MICE= MICE- 1
3640 IF MICE= 0THEN 3130
3670 GOTO 3070
3700 REM  SHOW THE REMAINING FEW
3730 IF MICE= 0THEN RETURN
3760 IF MICE< MLTHEN LEVEL= INT (LEVEL* .5)
3790 FOR C= 1TO 3
3820 IF C= 1THEN PLOT 6,4
3850 IF C= 2THEN PLOT 6,1
3880 IF C= 3THEN PLOT 6,0
3910 FOR I= 1TO MICE
3940 N= M(I):GOSUB 5590:REM  LOCATE THEM
3970 PLOT 3,X,Y,32,92,116,117,104
4000 NEXT I
4030 FOR Z= 1TO 1000:NEXT Z
4060 NEXT C
4090 RETURN
4120 REM  SET UP CHARACTERISTICS
4150 FOR Y= 2TO 30STEP 4
4180 PLOT 6,INT (RND (1)* 7)+ 1
4210 FOR X= 4TO 54STEP 5
4240 PLOT 3,X,Y,92,116,117,104
4270 PLOT 3,X+ 2,Y+ 2,104,116,117,47
4300 NEXT X,Y
4330 PLOT 14,3,0,10,11,10,11,10,11,28,6,33,3,23,11:PRINT "  M  O  U  S  E  ":PLOT 15,6,1
4360 FOR I= 1TO 1000:NEXT I
4370 IF P1> 1THEN 4780:REM  MORE THAN FIRST GO
4390 FOR I= 18TO 26:PLOT 3,15,I:PRINT "                                     ":NEXT I
4420 FOR Z= 1TO 500:NEXT Z
4450 PLOT 29,3,16,20:PRINT "THIS  IS  AN  ACTION PACKED  GAME"
4480 FOR Z= 1TO 1000:NEXT Z
4510 PLOT 3,16,22:PRINT "WHICH REQUIRES THAT YOU FIND MICE"
4540 FOR Z= 1TO 800:NEXT Z
4570 PLOT 3,16,24:PRINT "THAT  TRY TO  HIDE AWAY FROM  YOU"
4600 FOR Z= 1TO 2000:NEXT Z
4610 PLOT 3,16,24:PRINT "                                   "
4630 PLOT 3,16,20:PRINT "THE LEVEL OF DIFFICULTY YOU CHOOSE"
4660 FOR Z= 1TO 400:NEXT Z
4690 PLOT 3,16,22:PRINT "SETS THE SPEED OF THE HIDING MICE"
4750 PLOT 6,INT (RND (1)* 7+ 1)
4780 FOR Y= 12TO 14
4810 FOR X= 0TO 58
4840 PLOT 3,X,Y,32,92,116,117,104
4870 PLOT 3,58- X,Y,104,116,117,47,32
4900 NEXT X
4930 PLOT 6,0,3,58,Y,32,92,116,117,104
4960 PLOT 3,0,Y,104,116,117,47,32,6,INT (RND (1)* 7+ 1)
4990 NEXT Y
5020 FOR I= 18TO 26:PLOT 3,15,I:PRINT "                                     ":NEXT I
5050 FOR Z= 1TO 1000:NEXT Z
5080 PLOT 3,16,20:PRINT "WHAT  IS  YOUR  BEST  LEVEL  ="
5110 FOR Z= 1TO 500:NEXT Z
5140 PLOT 3,16,24:PRINT "  1  -  BEGINNER     4  -  GOOD"
5170 PLOT 3,16,25:PRINT "  2  -  LUCKY        5  -  GREAT"
5200 PLOT 3,16,26:PRINT "  3  -  FAIR         6  -  EXPERT"
5230 FOR Z= 1TO 500:NEXT Z
5260 PLOT 3,38,20:INPUT "LEVEL = ";LEVEL:L= LEVEL
5290 IF LEVEL< 1OR LEVEL> 6THEN PLOT 3,45,20:PRINT "   ":GOTO 5260
5320 ON LEVELGOSUB 5410,5440,5470,5500,5530,5560
5322 FOR I= 18TO 26:PLOT 3,15,I:PRINT "                                     ":NEXT I
5324 PLOT 3,16,20:PRINT "THE MICE MOVE ONLY TO NEARBY BOXES"
5326 FOR Z= 1TO 500:NEXT Z
5328 PLOT 3,16,22:PRINT "EXCEPT WHEN ON LEVEL 4 OR HIGHER AND"
5330 PLOT 3,16,24:PRINT "ONLY WHEN THERE ARE LESS THAN 4 MICE."
5332 FOR Z= 1TO 4000:NEXT Z
5350 FOR I= 0TO 31:PLOT 3,0,I,11:NEXT I
5380 RETURN
5410 LEVEL= 1000:L$= "BEGINNER":RETURN
5440 LEVEL= 750:L$= "LUCKY":RETURN
5470 LEVEL= 500:L$= "FAIR":RETURN
5500 LEVEL= 300:L$= "GOOD":RETURN
5530 LEVEL= 100:L$= "GREAT":RETURN
5560 LEVEL= 2:L$= "EXPERT":RETURN
5590 REM  CONVERT BOX TO SCREEN POSITION
5620 REM    INPUT >>  N=BOX   OUTPUT >>  X=X CO-ORD.  Y=Y CO-ORD.
5650 X= (N- INT (N/ 9)* 9)* 7:Y= (INT (N/ 9))* 6
5680 RETURN