Compucolor.org – Virtual Media

Listing of file='DUMPER.BAS;03' on disk='vmedia/joystick-sideB-sector.ccvf'

0 REM  *** DUMPER ***
1 REM  THE RED DOT CHASES THE GREEN DOT AND TRIES TO BLOW
2 REM  IT UP. THE PERSON WITH JOYSTICK NO. 3 IS THE "HUNTER"
3 REM  (RED DOT) AND PUSHES HIS BUTTON TO BLOW UP THE GREEN DOT
4 REM  WHEN HE GETS WITHIN RANGE.
5 REM
6 REM  RANDOMISE
7 I =  PEEK (33209):IF  I =  0 THEN  7
8 I =  RND (- I)
10 PLOT  6,6,12,27,24:PRINT  "DUMP ON YOUR PARTNER":PRINT
20 INPUT  "SMALL OR LARGE DOT (S OR L) ";S$
30 INPUT  "LEAVE A TRAIL (Y OR N) ? ";T$
40 INPUT  "DESTRUCTIVE RANGE (1-20): ";D
50 IF  D <  1 OR  D >  20 GOTO  40
60 IF  S$ < >  "S" THEN  D =  2* D
70 D =  D* D:PLOT  12,29,17
80 LX =  32:LY =  16
90 IF  S$ =  "S" THEN  LX =  63:LY =  63
95 PX =  LX* RND (2):PY =  LY* RND (2):FX =  LX* RND (1)* 2:FY =  LY* RND (1)* 2
100 JN =  254
110 GOSUB  2000
170 LX =  PX:LY =  PY:CC =  1
175 X =  PX+ X:Y =  PY+ Y
180 GOSUB  1000
190 PX =  LX:PY =  LY
200 REM
210 A =  INP (247)
220 A =  A- 128- 64
230 IF  A >  0 GOTO  300
240 R =  (FX- X)* (FX- X)+ (FY- Y)* (FY- Y)
250 IF  R < =  D GOTO  800
300 JN =  252
310 GOSUB  2000
480 LX =  FX:LY =  FY:CC =  2
485 X =  FX+ X:Y =  FY+ Y
490 GOSUB  1000
500 FX =  LX:FY =  LY
520 GOTO  100
795 REM  GAME OVER
800 FX =  INT (FX/ 2):FY =  31- INT (FY/ 4)
810 PLOT  8,6,65:PRINT  "         BLOWN AWAY!":PRINT
815 PLOT  3,FX,FY
820 PLOT  3,FX,FY
825 FOR  I= 1 TO  10
830 FOR  J= 1 TO  25:NEXT  J:PLOT  6,4,42,26:FOR  J= 1 TO  25:NEXT  J:PLOT  6,1,42,26
835 NEXT  I
840 PLOT  6,2,3,0,4:INPUT  "ANOTHER GAME (Y/N) ? ";A$
850 IF  A$ =  "Y" GOTO  7
860 PLOT  12: END
1000 REM  PLOTTING ROUTINE
1005 IF  X <  0 THEN  X =  0
1010 IF  X >  127 THEN  X =  127
1020 IF  Y <  0 THEN  Y =  0
1030 IF  Y >  127 THEN  Y =  127
1040 IF  S$ =  "S" GOTO  1120
1045 PLOT  6,CC
1050 TX =  INT (X/ 2):TY =  31- INT (Y/ 4)
1060 SX =  INT (LX/ 2):SY =  31- INT (LY/ 4)
1070 IF  T$ =  "Y" GOTO  1090
1080 PLOT  3,SX,SY,32
1090 PLOT  3,TX,TY,96
1100 LX =  X:LY =  Y
1110 RETURN
1120 IF  T$ =  "Y" GOTO  1140
1130 PLOT  6,0,2,LX,LY,255
1140 PLOT  6,CC,2,X,Y,255
1150 GOTO  1100
2000 REM  JOYSTICK INPUT ROUTINE
2005 OUT  JN+ 1,1
2010 REM
2020 X =  INP (JN+ 1)
2030 OUT  JN,1
2040 REM
2050 Y =  INP (JN)
2055 REM  NOTE HOW THE RAW DATA IS CONVERTED TO X AND Y "SPEEDS"
2060 X =  X- 70:Y =  Y- 70
2070 X =  (X- 63)/ 10:Y =  (Y- 63)/ 10
2100 RETURN