520 lines
15 KiB
QBasic
520 lines
15 KiB
QBasic
100 'SWARMS2 - YET ANOTHER GEM FROM 'ZOSO'
|
||
110 CLEAR : CLEAR 1000
|
||
120 PRINT CHR$(26);"!!!!! ATTENTION: THE BEES ARE ATTACKING !!!!!!"
|
||
130 PRINT : PRINT
|
||
140 PRINT "BEGIN DEFENSE PLAN: " : PRINT
|
||
150 PRINT "TIME: 1"
|
||
160 INPUT "ENTER YOUR NAME FOR IDENTIFICATION CHECK"; N$
|
||
170 PRINT CHR$(26)
|
||
180 INPUT "ENTER CODE WORD FOR NUCLEAR CLEARANCE"; C$
|
||
190 GOSUB 5220
|
||
200 REM CREATE TWO INITIAL SWARMS
|
||
210 DIM E(21),S(21),A$(21),U(21),G(21),M(21),D(21),C(21)
|
||
220 DIM K(21),V(21),R(21)
|
||
230 A1=INT(RND(1)*21+1)
|
||
240 A2=INT(RND(1)*21+1)
|
||
250 IF A1=A2 THEN 230
|
||
260 S(A1) = INT(RND(1)*5+2)
|
||
270 S(A2) = INT(RND(1)*5+2)
|
||
280 E(A1) = INT(RND(1)*9+6)
|
||
290 E(A2) = INT(RND(1)*9+6)
|
||
300 REM SUBTRACT ONE HOUR FROM ALL ETA'S
|
||
310 FOR A=1 TO 21
|
||
320 IF E(A)=0 THEN 340
|
||
330 GOTO 350
|
||
340 IF U(A) = 0 THEN 560
|
||
350 IF S(A) = 1 THEN 560
|
||
360 IF ABS(U(A)) = 1 THEN 470
|
||
370 IF ABS(E(A)) = 1 THEN 410
|
||
380 E(A)=E(A) - 1
|
||
390 C(A)=C(A)+(17-E(A))
|
||
400 GOTO 560
|
||
410 IF E(A) = -1 THEN 450
|
||
420 PRINT "THE BEES HAVE ARRIVED IN THE MAJOR CITY IN SECTION ";A
|
||
430 E(A)=-1
|
||
440 U(A)=6
|
||
450 U(A)=U(A)-1
|
||
460 GOTO 560
|
||
470 IF U(A) = -1 THEN 560
|
||
480 PRINT "THE BEES HAVE DESTROYED THE MAJOR CITY IN SECTION ";A
|
||
490 U(A)=-1
|
||
500 IF V(A)<>-1 THEN 530
|
||
510 PRINT "BUT THE POPULATION HAS BEEN EVACUATED"
|
||
520 GOTO 550
|
||
530 K(A)=1
|
||
540 C(A)=(1E+06*(RND(1)*A+1))+C(A)
|
||
550 GOTO 560
|
||
560 NEXT A
|
||
570 REM ADD ONE UNIT TO TIME
|
||
580 T=T+1
|
||
590 REM CREATE NEW SWARM
|
||
600 IF T/30<>INT(T/30) THEN 690
|
||
610 A=INT(RND(1)*21+1)
|
||
620 IF S(A)<>0 THEN 600
|
||
630 IF R(A)<>0 THEN 600
|
||
640 IF K(A)<>0 THEN 600
|
||
650 S(A)=INT(RND(1)*5+2)
|
||
660 E(A)=INT(RND(1)*9+16)
|
||
670 C(A)=INT(RND(1)*10)
|
||
680 PRINT "A NEW SWARM IS REPORTED IN SECTION ";A
|
||
690 REM CHECK COMBATED SWARMS
|
||
700 FOR A=1 TO 21
|
||
710 IF T<>G(A) THEN 870
|
||
720 IF S(A)<> 1 THEN 810
|
||
730 S(A)=0
|
||
740 G(A)=0
|
||
750 E(A)=0
|
||
760 M(A)=0
|
||
770 K(A)=0
|
||
780 U(A)=0
|
||
790 PRINT "** THE SWARM IN SECTION ";A;" IS TOTALLY DESTROYED."
|
||
800 GOTO 870
|
||
810 S(A)=S(A)-M(A)
|
||
820 PRINT "** THE PHASE ON SECTION ";A;" WAS SUCCESSFUL."
|
||
830 IF S(A)>=1 THEN 850
|
||
840 S(A)=1
|
||
850 G(A)=0
|
||
860 M(A)=0
|
||
870 NEXT A
|
||
880 REM ADD ONE UNIT TO EACH UNCOMBATTED SWARM
|
||
890 FOR A=1 TO 21
|
||
900 IF E(A)=1 THEN 1150
|
||
910 IF S(A)=1 THEN 1120
|
||
920 IF S(A)=0 THEN 1150
|
||
930 IF S(A)+1<9 THEN 1090
|
||
940 IF A=1 THEN 1020
|
||
950 IF S(A-1)>0 THEN 1010
|
||
960 IF R(A-1)<>0 THEN 1150
|
||
970 PRINT "** THE SWARM IN SECTION ";A;" HAS SPREAD TO SECTION ";A-1
|
||
980 S(A-1)=3
|
||
990 E(A-1)=INT(RND(1)*10+5)
|
||
1000 GOTO 1150
|
||
1010 IF A=21 THEN 1150
|
||
1020 IF S(A+1)>0 THEN 1150
|
||
1030 IF R(A+1)<>0 THEN 1150
|
||
1040 PRINT "** THE SWARM IN SECTION ";A;" HAS SPREAD TO SECTION ";A+1
|
||
1050 IF R(A+1)<>0 THEN 1150
|
||
1060 S(A+1)=3
|
||
1070 E(A+1)=INT(RND(1)*10+5)
|
||
1080 GOTO 1150
|
||
1090 S(A)=S(A)+1
|
||
1100 C(A)=C(A)+S(A)
|
||
1110 GOTO 1150
|
||
1120 IF D(A)=1 THEN 1150
|
||
1130 PRINT "** THE SWARM IN SECTION ";A;" IS READY TO BE DESTROYED."
|
||
1140 D(A)=1
|
||
1150 NEXT A
|
||
1160 REM WINNER CHECK
|
||
1170 W=0
|
||
1180 FOR A=1 TO 21
|
||
1190 W=S(A)+W
|
||
1200 NEXT A
|
||
1210 IF W>=1 THEN 1280
|
||
1220 PRINT "*******ALL SWARMS ARE NOW DESTROYED*******"
|
||
1230 PRINT "FINAL STATISTICS ON ATTACKS AND DESTRUCTION ARE NOW "
|
||
1240 PRINT "BEING COMPUTED, ... FINAL RESULTS FOLLOW ....."
|
||
1250 A=0
|
||
1260 PRINT
|
||
1270 GOTO 4690
|
||
1280 REM EVACUATION CHECK
|
||
1290 FOR A=1 TO 21
|
||
1300 IF V(A)<>T THEN 1400
|
||
1310 IF U(A)=-1 THEN 1370
|
||
1320 IF K(A)>0 THEN 1370
|
||
1330 PRINT "** POPULATION IN SECTION ";A;" IS EVACUATED"
|
||
1340 C(A)=C(A)+INT(RND(1)*17)
|
||
1350 V(A)=-1
|
||
1360 GOTO 1400
|
||
1370 PRINT "** POPULATION IN SECTION ";A;" WAS DESTROYED BEFORE "
|
||
1380 PRINT " IT COULD BE EVACUATED"
|
||
1390 V(A)=0
|
||
1400 NEXT A
|
||
1410 REM RETURN EVACUATION CHECK
|
||
1420 FOR A=1 TO 21
|
||
1430 IF R(A)<>T THEN 1490
|
||
1440 IF R(A)<1 THEN 1490
|
||
1450 K(A)=0
|
||
1460 R(A)=0
|
||
1470 V(A)=0
|
||
1480 PRINT "** THE POPULATION HAS RETURNED TO THE CITY IN SECTION ";A
|
||
1490 NEXT A
|
||
1500 REM LOSER CHECK
|
||
1510 Q=0
|
||
1520 FOR A=1 TO 21
|
||
1530 Q=C(A)+Q
|
||
1540 NEXT A
|
||
1550 IF Q<7.5E+07 THEN 1650
|
||
1560 PRINT "THE BEES HAVE DEVASTATED THE UNITED STATES AND "
|
||
1570 PRINT "THERE ARE NOW OVER 75 MILLION CASUALTIES, THE BEES"
|
||
1580 PRINT "ARE NOW CONSIDERED TO BE THE VICTORS OVER MODERN"
|
||
1590 PRINT "TECHNOLOGY."
|
||
1600 A=0
|
||
1610 Q=0
|
||
1620 W=0
|
||
1630 PRINT
|
||
1640 GOTO 4690
|
||
1650 REM COMMAND INPUT
|
||
1660 PRINT "TIME: ";T+1
|
||
1670 INPUT "COMMAND"; COM
|
||
1680 IF COM>8 OR COM<1 OR COM<>INT(COM) THEN PRINT "WRONG !!!"; : GOTO 1670
|
||
1690 ON COM GOTO 1700,2210,2620,3840,4060,4660,4920,5190
|
||
1700 REM MAP PRINT OUT
|
||
1710 PRINT CHR$(26);"1) ATTACK SCAN MAP"
|
||
1720 PRINT
|
||
1730 FOR A=1 TO 21
|
||
1740 IF S(A)>6 THEN 1860
|
||
1750 IF S(A)>4 THEN 1840
|
||
1760 IF S(A)>1 THEN 1820
|
||
1770 IF S(A)>0 THEN 1800
|
||
1780 A$(A)= "?"
|
||
1790 GOTO 1870
|
||
1800 A$(A)="."
|
||
1810 GOTO 1870
|
||
1820 A$(A)="+"
|
||
1830 GOTO 1870
|
||
1840 A$(A)="*"
|
||
1850 GOTO 1870
|
||
1860 A$(A)="#"
|
||
1870 NEXT A
|
||
1880 PRINT "----------------------------------------------------"
|
||
1890 PRINT TAB(48);"---"
|
||
1900 PRINT TAB(20);"CANADA- NO INFORMATION / /"
|
||
1910 Z1$="----------------------- / "+A$(18)+"/"
|
||
1920 PRINT TAB(15);Z1$
|
||
1930 PRINT TAB(15);"! ! ! ! ! !\- -/ /"
|
||
1940 Z1$="! "+A$(1)+" ! "+A$(3)+" ! "+A$(6)+" ! "
|
||
1950 Z1$=Z1$+A$(9)+" ! "+A$(13)+" ! \--/---/"
|
||
1960 PRINT TAB(15);Z1$
|
||
1970 Z1$= "! !---!---!----!----! "+A$(16)+" ! /"
|
||
1980 PRINT TAB(15);Z1$
|
||
1990 Z1$= "!---! ! ! ! ! ! "+A$(19)+" !"
|
||
2000 PRINT TAB(15);Z1$
|
||
2010 Z1$="! ! "+A$(4)+" ! "+A$(7)+" ! "+A$(10)+" ! "
|
||
2020 Z1$=Z1$+A$(14)+" !---!---!"
|
||
2030 PRINT TAB(15);Z1$
|
||
2040 Z1$="! "+A$(2)+" !---!---!----!----! ! !"
|
||
2050 PRINT TAB(15);Z1$
|
||
2060 Z1$=" \ ! ! ! ! ! "+A$(17)+" ! "+A$(20)+" !"
|
||
2070 PRINT TAB(15);Z1$
|
||
2080 Z1$=" \ ! "+A$(5)+" ! "+A$(8)+" ! "+A$(11)+" ! "
|
||
2090 Z1$=Z1$+A$(15)+" ! ! /"
|
||
2100 PRINT TAB(15);Z1$
|
||
2110 Z1$=" \!---!---!----!----!---! "+A$(21)+"!"
|
||
2120 PRINT TAB(15);Z1$
|
||
2130 PRINT TAB(27);"\ !";TAB(42);"\ !"
|
||
2140 Z1$=" \ "+A$(12)+"!"
|
||
2150 PRINT TAB(15);Z1$;TAB(42);"! !"
|
||
2160 PRINT TAB(30);"\-!";TAB(42);"!-!"
|
||
2170 PRINT TAB(20);"MEXICO- NO INFORMATION"
|
||
2180 PRINT
|
||
2190 PRINT "----------------------------------------------------"
|
||
2200 GOTO 300
|
||
2210 REM ETA REPORT
|
||
2220 PRINT CHR$(12);"2) ETA REPORT"
|
||
2230 PRINT
|
||
2240 INPUT "ENTER SECTION #"; A
|
||
2250 IF A<1 OR A>21 OR A<>INT(A) THEN PRINT "WRONG !!!"; : GOTO 2240
|
||
2260 PRINT "*************************************"
|
||
2270 IF A<>0 THEN 2300
|
||
2280 D7=-1
|
||
2290 FOR A = 1 TO 21
|
||
2300 IF S(A)=1 THEN 2520
|
||
2310 IF R(A)=-1 THEN 2550
|
||
2320 IF E(A)=0 THEN 2500
|
||
2330 IF U(A)=-1 THEN 2380
|
||
2340 IF E(A)=-1 THEN 2410
|
||
2350 PRINT "THE BEES WILL ARRIVE AT THE MAJOR CITY IN"
|
||
2360 PRINT " SECTION ";A;" AT ";E(A)+T;" HOURS."
|
||
2370 GOTO 2570
|
||
2380 PRINT "THE BEES HAVE ALREADY DESTROYED THE CITY IN"
|
||
2390 PRINT "SECTION ";A;" AND ARE NOW INHABITING IT."
|
||
2400 GOTO 2570
|
||
2410 PRINT "THE BEES HAVE ARRIVED AT THE CITY IN"
|
||
2420 IF V(A)<>-1 THEN 2460
|
||
2430 PRINT "SECTION ";A;" BUT THE POPULATION HAS BEEN"
|
||
2440 PRINT " EVACUATED"
|
||
2450 GOTO 2570
|
||
2460 PRINT "SECTION ";A;" AND THE POPULATION OF THAT CITY"
|
||
2470 PRINT "CAN ONLY SURVIVE FOR ABOUT ";U(A);" MORE HOURS."
|
||
2480 PRINT " USE OF URBAN DEFENSES IS RECOMMENDED."
|
||
2490 GOTO 2570
|
||
2500 PRINT " NO SWARMS REPORTED IN SECTION ";A
|
||
2510 GOTO 2570
|
||
2520 PRINT "THE BEES IN SECTION ";A;" ARE READY TO BE "
|
||
2530 PRINT "DESTROYED."
|
||
2540 GOTO 2570
|
||
2550 PRINT "SECTION ";A;" IS A RADIOACTIVE WASTELAND THAT"
|
||
2560 PRINT " IS COMPLETELY UNPOPULATED"
|
||
2570 PRINT "*************************************"
|
||
2580 IF D7<>-1 THEN 2600
|
||
2590 NEXT A
|
||
2600 D7=0
|
||
2610 GOTO 300
|
||
2620 REM BATTLE PHASE OPTIONS
|
||
2630 PRINT CHR$(26)
|
||
2640 PRINT "3) BATTLE PHASE OPTIONS"
|
||
2650 INPUT "ENTER SECTION #"; A
|
||
2660 INPUT "ENTER PHASE"; P
|
||
2670 IF V(A)<1 THEN 2700
|
||
2680 PRINT "SECTION ";A;" IS BEING EVACUATED"
|
||
2690 GOTO 300
|
||
2700 IF G(A)>0 THEN 2720
|
||
2710 GOTO 2740
|
||
2720 PRINT "THE SWARM IN SECTION ";A;" IS ALREADY BEING COMBATTED"
|
||
2730 GOTO 300
|
||
2740 IF S(A)=0 THEN 2760
|
||
2750 GOTO 2780
|
||
2760 PRINT "NO SWARM IS REPORTED IN SECTION ";A
|
||
2770 GOTO 300
|
||
2780 IF S(A)<>1 THEN 2820
|
||
2790 IF P=5 THEN 2860
|
||
2800 PRINT "THE DESTRUCTION PHASE SHOULD BE USED IN SECTION ";A
|
||
2810 GOTO 300
|
||
2820 IF E(A)<>-1 THEN 2860
|
||
2830 IF P=6 THEN 2860
|
||
2840 PRINT "URBAN DEFENSES SHOULD BE USED IN SECTION ";A
|
||
2850 GOTO 300
|
||
2860 N=RND(1)
|
||
2870 ON P GOTO 2880,2970,3060,3120,3210,3290
|
||
2880 REM PHASE 1
|
||
2890 PRINT "BEE COCKTAIL: PHASE ONE, NOW BEING ATTEMPTED."
|
||
2900 IF N>.95 THEN 300
|
||
2910 G(A)=T+INT(RND(1)*3+1)
|
||
2920 IF S(A)>5 THEN 2950
|
||
2930 M(A)=S(A)-2
|
||
2940 GOTO 300
|
||
2950 M(A)=S(A)-5
|
||
2960 GOTO 300
|
||
2970 REM PHASE TWO
|
||
2980 PRINT "PROJECT QUEEN: PHASE TWO, NOW BEING ATTEMPTED."
|
||
2990 IF N>.92 THEN 300
|
||
3000 G(A) = T+INT(RND(1)*3+4)
|
||
3010 IF S(A)>3 THEN 3040
|
||
3020 M(A)=1
|
||
3030 GOTO 300
|
||
3040 M(A)=S(A)-1
|
||
3050 GOTO 300
|
||
3060 REM PHASE THREE
|
||
3070 PRINT "PROJECT BRUSH FIRE: PHASE THREE, NOW BEING ATTEMPTED."
|
||
3080 IF N>.96 THEN 300
|
||
3090 G(A)=T+1
|
||
3100 M(A)=2
|
||
3110 GOTO 300
|
||
3120 REM PHASE 4
|
||
3130 PRINT "PROJECT STERILE MALE: PHASE FOUR, NOW BEING ATTEMPTED."
|
||
3140 IF N>.89 THEN 300
|
||
3150 G(A)=T+INT(RND(1)*3+3)
|
||
3160 IF S(A)>6 THEN 3190
|
||
3170 M(A)=S(A)-1
|
||
3180 GOTO 300
|
||
3190 M(A)=4
|
||
3200 GOTO 300
|
||
3210 REM PHASE 5
|
||
3220 IF S(A)=1 THEN 3250
|
||
3230 PRINT "SWARM TOO LARGE: DESTRUCTION NOT POSSIBLE"
|
||
3240 GOTO 300
|
||
3250 PRINT "DESTRUCTION: PHASE FIVE, NOW BEING ATTEMPTED."
|
||
3260 IF N>.7 THEN 300
|
||
3270 G(A)=T+INT(RND(1)*3+2)
|
||
3280 GOTO 300
|
||
3290 REM PHASE 6
|
||
3300 IF E(A)<>-1 THEN 2800
|
||
3310 INPUT "ENTER URBAN DEFENSE CODE"; D$
|
||
3320 C(A)=C(A)+INT(200*RND(1))
|
||
3330 IF RND(1) >.8 THEN 300
|
||
3340 IF D$="A" THEN 3430
|
||
3350 IF D$="B" THEN 3490
|
||
3360 IF D$="C" THEN 3550
|
||
3370 IF D$="D" THEN 3610
|
||
3380 IF D$="E" THEN 3670
|
||
3390 IF D$="F" THEN 3710
|
||
3400 IF D$="G" THEN 3750
|
||
3410 PRINT "INVALID URBAN DEFENSE CODE !!!" : PRINT : GOTO 3310
|
||
3420 GOTO 300
|
||
3430 REM *A*
|
||
3440 IF S(A)>5 THEN 3470
|
||
3450 S(A)=S(A)-1
|
||
3460 GOTO 3780
|
||
3470 S(A)=2
|
||
3480 GOTO 3780
|
||
3490 REM *B*
|
||
3500 IF S(A)>4 THEN 3530
|
||
3510 S(A)=S(A)-3
|
||
3520 GOTO 3780
|
||
3530 S(A)=S(A)-2
|
||
3540 GOTO 3780
|
||
3550 REM *C*
|
||
3560 IF S(A)>7 THEN 3590
|
||
3570 S(A)=S(A)-3
|
||
3580 GOTO 3780
|
||
3590 S(A)=1
|
||
3600 GOTO 3780
|
||
3610 REM *D*
|
||
3620 IF S(A)>3 THEN 3650
|
||
3630 S(A)=1
|
||
3640 GOTO 3780
|
||
3650 S(A)=S(A)-3
|
||
3660 GOTO 3780
|
||
3670 REM *E*
|
||
3680 IF RND(1)>.5 THEN 3780
|
||
3690 S(A)=2
|
||
3700 GOTO 3780
|
||
3710 REM *F*
|
||
3720 IF RND(1)>.4 THEN 3780
|
||
3730 S(A)=1
|
||
3740 GOTO 3780
|
||
3750 REM *G*
|
||
3760 IF RND(1)>.8 THEN 3780
|
||
3770 S(A)=S(A)-4
|
||
3780 PRINT "THE URBAN DEFENSE IN SECTION ";A;" WAS SUCCESSFUL"
|
||
3790 IF S(A)>1 THEN 300
|
||
3800 S(A)=1
|
||
3810 D(A)=1
|
||
3820 PRINT "** SWARM IN SECTION ";A;" IS READY TO BE DESTROYED"
|
||
3830 GOTO 300
|
||
3840 REM EVACUATION PROCEDURE
|
||
3850 PRINT CHR$(26);
|
||
3860 PRINT "4) EVACUATION PROCEDURE"
|
||
3870 INPUT "ENTER SECTION #"; A
|
||
3880 IF A<1 OR A>21 OR A<>INT(A) THEN PRINT "WRONG !!! "; : GOTO 3870
|
||
3890 IF S(A)=0 THEN 3950
|
||
3900 IF V(A)>0 THEN 3970
|
||
3910 IF V(A)=-1 THEN 3990
|
||
3920 IF K(A)>0 THEN 4010
|
||
3930 IF U(A)=-1 THEN 4010
|
||
3940 GOTO 4030
|
||
3950 PRINT "COMPUTER FAILSAFE...NO SWARMS REPORTED IN SECTION ";A
|
||
3960 GOTO 300
|
||
3970 PRINT "SECTION ";A;" IS BEING EVACUATED ALREADY"
|
||
3980 GOTO 300
|
||
3990 PRINT "CITY IN SECTION ";A;" IS ALREADY EVACUATED"
|
||
4000 GOTO 300
|
||
4010 PRINT "POPULATION IN SECTION ";A;" HAS BEEN DESTROYED"
|
||
4020 GOTO 300
|
||
4030 PRINT "EVACUATION PROCEDURE NOW IN PROGRESS"
|
||
4040 V(A)=5+T
|
||
4050 GOTO 300
|
||
4060 REM ***** NUCLEAR DESTRUCTION SEQUENCE *****
|
||
4070 PRINT CHR$(26)
|
||
4080 PRINT "5) NUCLEAR DESTRUCTION SEQUENCE"
|
||
4090 INPUT "PLEASE ENTER YOUR NAME"; N1$
|
||
4100 IF N$<>N1$ THEN 4270
|
||
4110 INPUT "PLEASE ENTER YOUR CODE WORD"; C1$
|
||
4120 IF C$<>C1$ THEN 4270
|
||
4130 PRINT "POSITIVE IDENTIFICATION CHECK";CHR$(7)
|
||
4140 PRINT "CODE WORD CHECK IS VALID"
|
||
4150 PRINT "ID SEQUENCE COMPLETED"
|
||
4160 INPUT "PLEASE ENTER SECTION #"; A
|
||
4170 IF A<1 OR A>21 OR A<>INT(A) THEN PRINT "WRONG !!! "; : GOTO 4160
|
||
4180 IF E(A)<>-1 THEN 4220
|
||
4190 IF S(A)=0 THEN 4250
|
||
4200 PRINT
|
||
4210 GOTO 4310
|
||
4220 PRINT "COMPUTER FAILSAFE: BEES NOT ARRIVED IN THE MAJOR"
|
||
4230 PRINT "CITY IN SECTION ";A
|
||
4240 GOTO 300
|
||
4250 PRINT "COMPUTER FAILSAFE: NO SWARM REPORTED IN SECTION ";A
|
||
4260 GOTO 300
|
||
4270 PRINT "ID SEQUENCE DEFAULT....IGNORED"
|
||
4280 GOTO 300
|
||
4290 PRINT "NUCLEAR DESTRUCTION ABORTED."
|
||
4300 GOTO 300
|
||
4310 PRINT "BOMB IN SECTION ";A;" IS NOW ACTIVE"
|
||
4320 IF K(A)=1 THEN 4370
|
||
4330 IF V(A)=-1 THEN 4370
|
||
4340 PRINT "SECTION ";A;" HAS NOT BEEN EVACUATED"
|
||
4350 INPUT "DO YOU WISH TO CONTINUE"; K$
|
||
4360 IF LEFT$(K$,1)="Y" THEN 4370 ELSE 4290
|
||
4370 INPUT "TYPE 'X' FOR BOMB DETONATION"; F$
|
||
4380 IF F$<>"X" THEN 4290
|
||
4390 PRINT CHR$(26)
|
||
4400 PRINT "!!!!!!!!!!!!!!!! BOMB DETONATED !!!!!!!!!!!!!!!!"
|
||
4410 PRINT "SWARM HAS BEEN DESTROYED!!!!!!!!!"
|
||
4420 PRINT "CITY HAS BEEN DESTROYED!!!!!!!!!!"
|
||
4430 C(A)=2413
|
||
4440 S(A)=0
|
||
4450 E(A)=0
|
||
4460 U(A)=0
|
||
4470 D(A)=0
|
||
4480 G(A)=0
|
||
4490 M(A)=0
|
||
4500 IF K(A)=1 THEN 4590
|
||
4510 IF V(A)<>-1 THEN 4580
|
||
4520 PRINT "THE POPULATION WILL MOVE BACK TO THE CITY"
|
||
4530 PRINT "IN SECTION ";A;" WHEN THE RADIATION LEVEL"
|
||
4540 PRINT "HAS DECREASED."
|
||
4550 K(A)=2
|
||
4560 R(A)=T+7
|
||
4570 GOTO 300
|
||
4580 C(A)=INT(2E+06*(RND(1)*A+1))+C(A)
|
||
4590 PRINT "** NO SURVIVORS ARE REPORTED IN SECTION ";A
|
||
4600 PRINT "** THE BEES WILL NOT ENTER A SECTION WITH"
|
||
4610 PRINT "** NO HUMAN INHABITANTS, SO SECTION ";A
|
||
4620 PRINT "** IS COMPLETELY LACKING LIFE OF ANY KIND."
|
||
4630 K(A)=2
|
||
4640 R(A)=-1
|
||
4650 GOTO 300
|
||
4660 REM CASUALTY REPORT
|
||
4670 PRINT CHR$(26);"6) CASUALTY REPORT"
|
||
4680 INPUT "ENTER SECTION #"; A
|
||
4690 PRINT "************************************"
|
||
4700 IF A<>0 THEN 4750
|
||
4710 D7=-1
|
||
4720 FOR A=1 TO 21
|
||
4730 IF C(A)=0 THEN 4770
|
||
4740 IF C(A)>=1E+06 THEN 4790
|
||
4750 PRINT "SECTION ";A;": ";C(A);" CASUALTIES REPORTED"
|
||
4760 GOTO 4800
|
||
4770 PRINT "SECTION ";A;": NO BEE RELATED CASUALTIES"
|
||
4780 GOTO 4800
|
||
4790 PRINT "SECTION ";A;": ";C(A)/1E+06;" MILLION CASUALTIES"
|
||
4800 PRINT "************************************"
|
||
4810 F=C(A)+F
|
||
4820 IF D7<>-1 THEN 4890
|
||
4830 NEXT A
|
||
4840 D7=0
|
||
4850 IF F<1E+06 THEN 4880
|
||
4860 PRINT "TOTAL CASUALTIES REPORTED: ";F/1E+06;" MILLION CASUALTIES"
|
||
4870 GOTO 4890
|
||
4880 PRINT "TOTAL CASUALTIES REPORTED: ";F
|
||
4890 IF W=0 THEN 5200
|
||
4900 F=0
|
||
4910 GOTO 300
|
||
4920 REM PRINT COMMANDS IN SHORT
|
||
4930 PRINT CHR$(26)
|
||
4940 PRINT "************************COMMANDS*********************"
|
||
4950 PRINT
|
||
4960 PRINT " 1) ATTACK SCAN MAP"
|
||
4970 PRINT " 2) ETA REPORT"
|
||
4980 PRINT " 3) BATTLE PHASE OPTIONS"
|
||
4990 PRINT " 1. BEE COCKTAIL"
|
||
5000 PRINT " 2. PROJECT QUEEN"
|
||
5010 PRINT " 3. PROJECT BRUSH FIRE"
|
||
5020 PRINT " 4. PROJECT STERILE MALE"
|
||
5030 PRINT " 5. DESTRUCTION"
|
||
5040 PRINT " 6. URBAN DEFENSES"
|
||
5050 PRINT " A) FLIGHT PATTERNS"
|
||
5060 PRINT " B) SONIC BOOM"
|
||
5070 PRINT " C) SUPER-SONIC BEAMS"
|
||
5080 PRINT " D) POLLUTION"
|
||
5090 PRINT " E) METHYL PARATHION"
|
||
5100 PRINT " F) FIRE WALL"
|
||
5110 PRINT " G) STROBE LIGHT"
|
||
5120 PRINT " 4) EVACUATION PROCEDURES"
|
||
5130 PRINT " 5) NUCLEAR DESTRUCTION"
|
||
5140 PRINT " 6) CASUALTY REPORT"
|
||
5150 PRINT " 7) COMMANDS (SHORT)"
|
||
5160 PRINT " 8) CANCEL GAME"
|
||
5170 GOTO 300
|
||
5180 REM GAME CANCELLED
|
||
5190 REM
|
||
5200 REM
|
||
5210 RESET : END
|
||
5220 X9=LEN(N$) : X8=LEN(C$)
|
||
5230 X7=RND(-X9) : X7=X9+X8
|
||
5240 FOR X9=1 TO X7+1 : X8=RND(1) : NEXT
|
||
5250 RETURN
|
||
RESET : END
|
||
5220 X9=LEN(N$) : X8=LEN(C$)
|
||
5230 X7=RND(-X9) : X7=X9+X8
|
||
5240 |