Compucolor.org – Virtual Media

Listing of file='RESCUE.BAS;01' on disk='vmedia/BASIC_compiler_v12.25-sector.ccvf'

5000 GOTO 13310
5200 REM  HELICOPTER RESCUE BY DAVID NEWMAN
5400 REM  DARLINGTON  W A
5600 REM
5800 REM  26 MARCH 1983 3.50 PM
6000 Z= 22:C= 22:X= 39:Y= 21
6200 PLOT 6,39,29,12,15,6,3,3,19,7:PRINT "```````````````":PLOT 6,11,3,4,1:PRINT "`````````````````````````````````````````````````````````"
6300 PLOT 3,0,2:PRINT "SCORE":PLOT 3,60,2:PRINT "FUEL"
6400 PLOT 6,3,3,19,8:PRINT "` ` ` ` ` ` ` `"
6600 PLOT 3,19,9:PRINT "```````````````"
6800 PLOT 3,19,10:PRINT "` ` ` ` ` ` ` `"
7000 PLOT 3,19,11:PRINT "```````````````"
7200 PLOT 3,19,12:PRINT "` ` ` ` ` ` ` `"
7400 PLOT 3,19,13:PRINT "```````````````"
7600 PLOT 3,19,14:PRINT "` ` ` ` ` ` ` `"
7800 PLOT 3,19,15:PRINT "```````````````                 ```````````"
8000 PLOT 3,19,16:PRINT "` ` ` ` ` ` ` `                 ` ` ` ` ` `"
8200 PLOT 3,19,17:PRINT "```````````````                 ```````````"
8400 PLOT 3,19,18:PRINT "` ` ` ` ` ` ` `                 ` ` ` ` ` `"
8600 PLOT 3,19,19:PRINT "```````````````                 ```````````"
8800 PLOT 3,19,20:PRINT "` ` ` ` ` ` ` `                 ` ` ` ` ` `"
9000 PLOT 3,19,21:PRINT "```````````````                 ```````````"
9200 PLOT 3,19,22:PRINT "` ` ` ` ` ` ` `                 ` ` ` ` ` `"
9400 PLOT 3,5,23:PRINT "```````````   ```````````````   ```````````   ```````````"
9600 PLOT 3,5,24:PRINT "` ` ` ` ` `   ` ` ` ` ` ` ` `   ` ` ` ` ` `   ` ` ` ` ` `"
9800 PLOT 3,5,25:PRINT "```````````   ```````````````   ```````````   ```````````"
10000 PLOT 3,5,26:PRINT "` ` ` ` ` `   ` ` ` ` ` ` ` `   ` ` ` ` ` `   ` ` ` ` ` `"
10200 PLOT 3,5,27:PRINT "````` `````   ``````` ```````   ````` `````   ````` `````"
10400 PLOT 3,0,28:PRINT "                                                                "
10600 PLOT 3,0,29:PRINT " - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -"
10800 PLOT 3,0,30:PRINT "                   HELICOPTER RESCUE                           "
10900 POKE KB,0:PLOT 3,20,4,14:PRINT "INSTRUCTIONS? (Y OR N) :"
10910 IF PEEK (KB)= 0THEN 10910
10950 PLOT 3,20,4:PRINT "                            ";
10960 IF PEEK (KB)= 53OR PEEK (KB)= 78THEN 12000
11000 PLOT 6,2,12,15,29,3,16,1:PRINT "HELICOPTER RESCUE"
11005 PLOT 15,3,8,4:PRINT "YOU ARE THE PILOT OF THE NEW FIRE DEPARTMENT'S"
11010 PLOT 3,0,5:PRINT "HELICOPTER ON A ROUTINE CITY PATROL. YOUR FUEL SUPPLY IS STORED"
11015 PLOT 3,0,6:PRINT "ON THE TOP OF THE BUILDING ON THE RIGHT. AS YOU CARRY LARGE"
11020 PLOT 3,0,7:PRINT "QUANTITIES OF WATER, YOUR FUEL RUNS OUT RAPIDLY. WATCH THE FUEL"
11025 PLOT 3,0,8:PRINT "GUAGE ALONG THE TOP OF THE SCREEN."
11030 PLOT 3,8,9:PRINT "CONTROL OF YOUR HELICOPTER IS BY JOYSTICK: UP, DOWN,"
11035 PLOT 3,0,10:PRINT "LEFT, RIGHT. THE RED BUTTON HAS THREE USES: 1. STOP. 2. FIRE"
11040 PLOT 3,0,11:PRINT "WATER CANNON. AND 3. RESTART GAME."
11045 PLOT 3,8,13:PRINT "SUDDENLY FLAMES LEAP FROM THE TALL CENTRAL BUILDING."
11050 PLOT 3,0,14:PRINT "YOUR JOB IS TO QUICKLY PUT THEM OUT BY AIMING AT THE BASE OF THE"
11055 PLOT 3,0,15:PRINT "FLAMES AND PRESSING THE RED BUTTON. IF YOU ARE NOT QUICK ENOUGH,"
11060 PLOT 3,0,16:PRINT "MORE FLAMES APPEAR. YOU MUST PUT OUT THE TOP FLAMES FIRST."
11065 PLOT 3,8,18:PRINT "MEANWHILE OCCUPANTS OF THE BUILDING RUSH TO THE ROOF TO"
11070 PLOT 3,0,19:PRINT "ESCAPE THE FLAMES. YOUR OTHER JOB IS TO RESCUE AS MANY PEOPLE AS"
11075 PLOT 3,0,20:PRINT "POSSIBLE BY LANDING ON THE ROOF THEN TRANSPORTING THEM TO THE"
11080 PLOT 3,0,21:PRINT "ROOF OF THE BUILDING WITH THE FUEL SUPPLY. THE LONGER YOU ARE ON"
11085 PLOT 3,0,22:PRINT "THE ROOF, THE MORE PEOPLE YOU RESCUE, AND THE HIGHER WILL BE"
11087 PLOT 3,0,23:PRINT "YOUR SCORE."
11090 PLOT 3,8,25:PRINT "WHILE YOU ARE STATIONARY AT THE FUEL DEPOT, YOUR TANKS"
11095 PLOT 3,0,26:PRINT "WILL BE REFILLED."
11100 PLOT 3,8,27:PRINT "AVOID CRASHING INTO ANY BUILDINGS OR FLYING THROUGH"
11105 PLOT 3,0,28:PRINT "FLAMES. DO NOT RUN OUT OF FUEL!"
11110 PLOT 3,34,30:PRINT "GOOD LUCK.":POKE KB,0
11115 PLOT 3,40,31:PRINT "PRESS FIRE BUTTON";
11117 IF PEEK (KB)= 0THEN 11117
11120 GOTO 6000
12000 PLOT 15,3,0,16,6,39
12010 PLOT 14,3,0,6:PRINT " ":PLOT 15:POKE KB,56:POKE KF,31
12020 REM
12030 OUT 6,255
12040 FOR U= 60TO 4STEP - 0.55
12050 PLOT 3,U,1:PRINT " "
12060 IF U< 12THEN PLOT 7
12070 IF U< 5THEN 12340
12080 REM
12090 REM
12100 REM
12110 A3= INT (62* RND (1))
12120 IF A3= 30THEN 12280
12130 IF A3= 45THEN 12240
12140 IF U< 5THEN 12340
12150 A= PEEK (KB):IF A= 50THEN 12340
12160 A= PEEK (KB):IF A= 0THEN 12230
12170 A= PEEK (KB):IF A= 52THEN 12390
12180 A= PEEK (KB):IF A= 53THEN 12440
12190 A= PEEK (KB):IF A= 54THEN 12730
12200 A= PEEK (KB):IF A= 56THEN 12790
12210 FOR V2= 1TO 20:NEXT V2
12220 NEXT U
12230 FOR T= 1TO 90:NEXT T:GOTO 12850
12240 OUT 6,20:Z= Z- 4:PLOT 6,97,3,13,Z,2,254,0,128,12,255
12250 PLOT 3,14,Z+ 1,2,254,224,239,90,140,255
12260 PLOT 3,15,Z+ 2,2,254,115,119,239,255
12270 PLOT 3,17,Z+ 3,2,254,51,227,255,6,39:IF Z< 9THEN 13240:NEXT U
12280 REM
12290 C= C- 4:OUT 6,20:PLOT 6,97,3,36,C,2,254,192,255
12300 PLOT 3,35,C+ 1,2,254,192,254,15,255
12310 PLOT 3,34,C+ 2,2,254,0,128,62,248,255
12320 PLOT 3,34,C+ 3,2,254,254,110,19,255,6,39:IF C< 9THEN 13240:IF U= 4THEN 13160
12330 NEXT U
12340 OUT 6,255:PLOT 3,X- 1,Y+ 1:PRINT "       "
12350 PLOT 3,X,Y:PRINT "      "
12360 Y= Y+ 2:IF X< 30THEN 12770
12370 OUT 6,255:PLOT 6,39,3,X,Y,2,254,17,89,149,85,68,255:PLOT 3,X+ 1,Y+ 1,2,254,169,154,1,255:PLOT 6,36
12380 GOTO 12850
12390 OUT 6,255:PLOT 3,X- 1,Y+ 1:PRINT "       "
12400 PLOT 3,X,Y:PRINT "      "
12410 X= X- 2
12420 OUT 6,255:PLOT 6,39,3,X,Y,2,254,17,89,149,85,68,255:PLOT 3,X+ 1,Y+ 1,2,254,169,154,1,255:PLOT 6,36
12430 GOTO 12850
12440 REM
12450 OUT 6,255
12460 REM
12470 IF X> 34THEN 12510
12480 IF X< 14THEN 12620
12490 FOR O= 1TO 90:NEXT :GOTO 12850
12500 REM
12510 POKE KB,0:PLOT 6,38,2,X* 2,127- (Y* 4),242,68,127- (Y* 4),255
12520 PLOT 6,36,2,X* 2,127- (Y* 4),242,68,127- (Y* 4),255:IF Y= C+ 3THEN 12540
12530 GOTO 12850
12540 PLOT 3,36,C:PRINT "  "
12550 PLOT 3,35,C+ 1:PRINT "   "
12560 PLOT 3,34,C+ 2:PRINT "     "
12570 PLOT 3,34,C+ 3:PRINT "    "
12580
12590 C= C+ 4
12600 GOTO 12850:REM
12610 REM
12620 POKE KB,0:PLOT 6,38,2,(X+ 4)* 2,127- (Y* 4),242,36,127- (Y* 4),255
12630 PLOT 6,36,2,(X+ 4)* 2,127- (Y* 4),242,36,127- (Y* 4),255
12640 IF Y= Z+ 3THEN 12660
12650 GOTO 12850
12660 PLOT 3,13,Z:PRINT "    "
12670 PLOT 3,14,Z+ 1:PRINT "    "
12680 PLOT 3,15,Z+ 2:PRINT "    "
12690 PLOT 3,17,Z+ 3:PRINT "  "
12700 Z= Z+ 4
12710 GOTO 12850:REM
12720 REM
12730 REM
12740 OUT 6,255:PLOT 3,X- 1,Y+ 1:PRINT "       "
12750 PLOT 3,X,Y:PRINT "      "
12760 X= X+ 2
12770 OUT 6,255:PLOT 6,39,3,X,Y,2,254,68,85,89,149,17,255:PLOT 3,X+ 1,Y+ 1,2,254,16,169,154,255:PLOT 6,36
12780 GOTO 12850
12790 REM
12800 OUT 6,255:PLOT 3,X- 1,Y+ 1:PRINT "       "
12810 PLOT 3,X,Y:PRINT "      "
12820 Y= Y- 2:IF X> 29THEN 12420
12830 OUT 6,255:PLOT 6,39,3,X,Y,2,254,68,85,89,149,17,255:PLOT 3,X+ 1,Y+ 1,2,254,16,169,154,255:PLOT 6,36
12840 REM
12850 GOTO 13370
12860 IF Y< 3THEN 13060
12870 REM
12880 IF Y> 21THEN 13160
12890 IF X> 55THEN PLOT 3,X,Y+ 1:PRINT "       ":PLOT 3,X,Y:PRINT "      ":X= 3
12900 IF X< 3THEN 12950
12910 IF X< 35THEN 12960
12920 IF X> 45THEN 12990
12930 IF U< 5THEN 12340
12940 NEXT U
12950 PLOT 3,X,Y+ 1:PRINT "       ":PLOT 3,X,Y:PRINT "        ":X= 56:GOTO 12980
12960 IF Y> 5THEN 13080
12970 IF Y< 6THEN 13040
12980 NEXT U
12990 IF Y> 13THEN 13160
12995 IF U< 5THEN OUT 8,0:GOTO 12340
13000 IF U> 5AND Y= 13THEN 13210
13010 IF Y< 13THEN NEXT U
13020 IF Y> 14THEN 13160
13030 GOTO 12340
13040 IF Y= 5THEN 13100
13050 NEXT U
13060 Y= 3:PLOT 3,X,Y- 1:PRINT "       ":PLOT 3,X,Y- 2:PRINT "      "
13070 GOTO 12880
13080 IF X> 13THEN 13160
13090 IF U< 5THEN 12340:NEXT U
13100 IF X> 14THEN 13120
13110 NEXT U
13120 Q= Q+ 5
13130 IF U< 5THEN 12340
13140 NEXT U
13150 POKE KB,0:GOTO 12140
13160 X1= X* 2:Y1= 127- (Y* 4)- 4:FOR R= 1TO 40:OUT 6,1:PLOT 6,33:X3= 40* RND (1)- 20+ X1:Y3= 40* RND (1)- 20+ Y1
13170 IF X3< 0THEN X3= 0
13180 IF Y3> 127THEN Y3= 127
13190 IF X3> 127THEN X3= 127
13200 PLOT 2,X1,Y1,242,X3,Y3,255:NEXT R:GOTO 13240
13210 U= U+ 2
13220 PLOT 3,U- 2,1:PRINT "``":G= Q:PLOT 6,39,3,1,1:PRINT G:PLOT 6,36:IF U> 60THEN U= 60
13230 NEXT U
13240 PLOT 6,99,14,3,20,2:PRINT "tf ~| pq {e   tu ab {e {d"
13250 PLOT 14,3,20,4:PRINT "v} no ab l_   vw |~ l_ a|"
13260 PLOT 15,3,0,16:PRINT "YOUR SCORE IS ";G:OUT 8,255
13270 G= 0:Q= 0:PLOT 3,0,18:PRINT "DO YOU WISH TO PLAY":PRINT " AGAIN (Y OR N)?":POKE KB,0
13280 A= PEEK (KB):IF A= 0THEN 13280
13290 IF A= 53OR A= 89THEN 5200
13300 END
13310 RESTORE 13310:DATA  245,175,50,255,129,241,201
13320 TM= 256* PEEK (32941)+ PEEK (32940)- 7
13330 FOR X= 1TO 7:READ D:POKE TM+ X,D:NEXT
13340 BR= INT (TM/ 256):POKE 33221,195:POKE 33222,TM- BR* 256+ 1
13350 POKE 33223,BR:POKE 32941,BR:POKE 32940,TM- BR* 256
13360 CLEAR 500:KB= 33278:KF= 33247:GOTO 5200
13370 IF X< 10THEN 12860
13380 IF Y< 6THEN 12860
13390 IF X> 37THEN 12860
13400 IF X< 17THEN 13430
13410 IF X> 34THEN 13450
13420 GOTO 12860
13430 IF Z< Y+ 1THEN 13160
13440 GOTO 12860
13450 IF C< Y+ 1THEN 13160
13460 GOTO 12860