Compucolor.org – Virtual Media

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

5 DIM X(2),Y(2),W(2)
10 PLOT 14,6,5,12,27,24
20 PRINT "HOT-AIR BALLOON RACE FOR TWO PLAYERS"
30 PLOT 15,6,3
40 PRINT "W.RUST, DECEMBER 1978"
50 PRINT :PLOT 6,6
60 PRINT "INSTRUCTIONS:":PRINT
61 PRINT "TWO PLAYERS ARE IN A HOT-AIR BALLOON RACE TO BOSTON."
62 PRINT "ONE PLAYER WILL START FROM SEATTLE, THE OTHER FROM"
63 PRINT "SAN FRANCISCO.":PRINT
64 PRINT "EACH DAY YOU WILL BE GIVEN A PREVAILING WIND DIREC-"
65 PRINT "TION FOR THAT DAY.  WINDS TOWARD THE EAST ARE THE"
66 PRINT "MOST COMMON.  EACH PLAYER DECIDES HOW MANY HOURS"
67 PRINT "(0 TO 24) HE/SHE WILL FLY THAT DAY.":PRINT
68 PRINT "YOUR FLIGHT PATHS WILL BE PLOTTED IN COLOR, AND THE"
69 PRINT "FIRST TO REACH BOSTON WINS.":PRINT
70 PRINT "IF YOUR FLIGHT TAKES YOU TO THE SCREEN BORDER, YOU"
71 PRINT "WILL BE SENT TO HAPPY CAMP, CALIFORNIA, AND (SORRY"
72 PRINT "TO SAY) MUST CONTINUE FROM THERE.  HAPPY LANDINGS!"
73 PRINT :PRINT :PRINT :PLOT 6,1
99 INPUT "TO BEGIN, HIT THE 'RETURN' KEY.";Q$
100 PLOT 6,3,12,27,24
102 FOR J= 1TO 10:PRINT :NEXT J
105 INPUT "ENTER ANY NUMBER UP TO 100...";Q
110 X= INT (40* SIN (Q))
120 FOR J= 1TO X:R= RND (1):NEXT J
130 PRINT :PLOT 6,5
140 INPUT "NAME OF FIRST PLAYER?  ";N1$:PRINT
150 INPUT "NAME OF OTHER PLAYER?  ";N2$:PRINT
160 CA$= "SEATTLE":CB$= "SAN FRANCISCO"
170 PA$= N1$:PB$= N2$:IF RND (1)> .5GOTO 190
180 PA$= N2$:PB$= N1$:PLOT 6,6
190 PRINT PA$;" WILL BEGIN IN SEATTLE."
200 PRINT PB$;" WILL BEGIN IN SAN FRANCISCO."
205 PLOT 6,1:PRINT :PRINT
210 INPUT "WHEN READY TO BEGIN, HIT 'RETURN'!";Q$
220 D= 0:W(1)= 0:W(2)= 0:REM  SET DAY & WIN STATUS
230 PLOT 6,2,12,27,24:REM  DRAW MAP
250 PLOT 2,104,79,242,107,81,114,81,117,90,120,90,120,85,123,80
251 PLOT 116,78,114,72,117,70,108,65,106,54,105,62,103,61
252 PLOT 105,49,94,37,94,32,96,22,94,17,89,32,76,32,76,28,73,30
253 PLOT 62,25,62,17,52,29,49,27,43,35,40,35,40,32,26,38,22,38
254 PLOT 15,43,7,63,9,85,7,92,10,92,12,88,12,97,66,97,76,93,255
257 PLOT 2,91,71,242,92,76,255
260 PLOT 6,4,27,24:REM  GREAT LAKES
261 PLOT 2,72,88,242,80,97,84,96,88,87,96,82,92,76,88,84,83,70
262 PLOT 81,85,83,85,88,86,72,88,255
263 PLOT 2,90,70,242,95,74,99,74,93,69,90,70,255
264 PLOT 2,97,76,242,100,78,104,79,102,75,97,76,255
268 PLOT 6,5:REM  BORDER
269 PLOT 2,0,0,242,0,127,127,127,127,0,0,0,255
270 PLOT 6,6:REM  CITIES
271 PLOT 2,14,90,10,68,13,53,255
272 GOSUB 900
280 X(1)= 15:Y(1)= 90:X(2)= 14:Y(2)= 53
290 D= D+ 1:R= INT (12* RND (1)+ 1):REM  R=1 TO 12
300 ON RGOTO 301,302,302,303,303,303,304,304,305,306,307,308
301 W$= "132333NORTH    ":GOTO 310
302 W$= "233332NORTHEAST":GOTO 310
303 W$= "333231EAST     ":GOTO 310
304 W$= "323121SOUTHEAST":GOTO 310
305 W$= "312111SOUTH    ":GOTO 310
306 W$= "211112SOUTHWEST":GOTO 310
307 W$= "111213WEST     ":GOTO 310
308 W$= "121323NORTHWEST"
310 WD$= RIGHT$ (W$,9)
315 GOSUB 900
320 PLOT 8,22
330 PRINT "DAY";D;": PREVAILING WIND WILL BE TOWARD THE ";WD$
335 PRINT :PLOT 11,27,24
340 PRINT PA$;
345 INPUT ": HOW MANY HOURS DO YOU WANT TO FLY TODAY?  ";AH
350 AH= INT (ABS (AH)):IF AH> 24THEN AH= 24
355 PLOT 11,27,24
360 PRINT PB$;
365 INPUT ": HOW MANY HOURS DO YOU WANT TO FLY TODAY?  ";BH
370 BH= INT (ABS (BH)):IF BH> 24THEN BH= 24
380 IF AH= 0GOTO 480
390 K= 1:PLOT 6,7,27,24
400 FOR I= 1TO AH
410 GOSUB 600
420 IF W(1)> 0GOTO 480
430 NEXT I
480 IF BH= 0GOTO 700
490 K= 2:PLOT 6,1,27,24
500 FOR I= 1TO BH
510 GOSUB 600
520 IF W(2)> 0GOTO 700
530 NEXT I
540 GOTO 700
600 R= 2* INT (3* RND (1))+ 1:REM  1,3,OR 5
610 DX= VAL (MID$ (W$,R,1))- 2:REM  -1, 0, OR +1
620 DY= VAL (MID$ (W$,R+ 1,1))- 2
630 X(K)= X(K)+ DX:Y(K)= Y(K)+ DY:X= X(K):Y= Y(K)
640 PLOT 2,X,Y,255
645 FOR Z= 0TO 50:NEXT Z:REM  PLOTTING PAUSE
650 IF X< 127AND X> 0AND Y< 127AND Y> 0GOTO 660
655 X(K)= 11:Y(K)= 68
660 IF ABS (X- 113)> 1OR ABS (Y- 74)> 1GOTO 680:REM  WIN TEST
670 W(K)= K
680 RETURN
700 IF W(1)+ W(2)= 0GOTO 290
710 PLOT 8,6,67,11,27,24
720 ON W(1)+ W(2)GOTO 730,740,750
730 PRINT PA$;" WINS! FLIGHT TIME WAS";D;" DAYS.";:GOTO 760
740 PRINT PB$;" WINS! FLIGHT TIME WAS";D;" DAYS.";:GOTO 760
750 PRINT "RACE ENDS IN A TIE AFTER";D;" DAYS.";
760 PLOT 6,1:INPUT "   HIT 'RETURN'.";Q$
770 PLOT 6,3,12,27,24
780 PRINT "WHAT NEXT?":PRINT
790 PRINT "   1 = ANOTHER GAME, SAME NAMES"
800 PRINT "   2 = ANOTHER GAME, NEW NAMES"
810 PRINT "   3 = NO MORE GAMES."
820 INPUT Q
830 ON QGOTO 170,140,840
840 PRINT :PRINT "GOODBYE!"
900 PLOT 6,5,2,113,74,255:RETURN :REM  PLOT BOSTON
999 END
1000 REM  LIST ON PRINTER, 300 BAUD
1010 POKE 33289,80:PLOT 14,27,18,3,15,27,13
1020 LIST :PRINT :POKE 33265,0:POKE 33289,64:END