Compucolor.org – Virtual Media

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

0 REM  *** CATCH ***
1 REM  SIMPLE GAME OF FOLLOW THE LEADER ON THE SCREEN.
2 REM  THE JOYSTICKS ARE USED TO DETERMINE POSITION ON THE
3 REM  SCREEN DIRECTLY, WHICH MAKES IT VERY HARD TO FOLLOW
4 REM  THE OTHER DOT.
5 REM
7 I =  PEEK (33209):IF  I =  0 THEN  7
8 I =  RND (- I)
10 PLOT  6,6,12:PRINT  "FOLLOW ME":PRINT
20 INPUT  "SMALL OR LARGE DOT (S OR L) ";S$
30 INPUT  "LEAVE A TRAIL (Y OR N) ? ";T$
40 PLOT  12,29,17,27,24
80 LX =  32:LY =  16
90 IF  S$ =  "S" THEN  LX =  63:LY =  63
95 PX =  LX:PY =  LY:FX =  LX:FY =  LY
100 JN =  254
110 GOSUB  2000
170 LX =  PX:LY =  PY:CC =  1
180 GOSUB  1000
190 PX =  LX:PY =  LY
200 REM
300 JN =  252
310 GOSUB  2000
480 LX =  FX:LY =  FY:CC =  2
490 GOSUB  1000
500 FX =  LX:FY =  LY
520 GOTO  100
1000 REM  PLOT ROUTINE - LARGE/SMALL DOT, COLOR, OPTIONAL TRAIL
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: REM  SEE IF LARGE OR SMALL DOT
1045 PLOT  6,CC: REM  CHANGE COLOR AND PLOT BIG DOT
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: REM  LEAVE TRAIL IF REQUESTED
1080 PLOT  3,SX,SY,32
1090 PLOT  3,TX,TY,96
1100 LX =  X:LY =  Y
1110 RETURN
1115 REM  PLOT A SMALL DOT OF CORRECT COLOR
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)
2060 X =  X- 70:Y =  Y- 70
2070 RETURN