home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Nibble Magazine
/
nib35b.dsk
/
JOY.READ.DEMO.bas
< prev
next >
Wrap
BASIC Source File
|
2023-02-26
|
1KB
|
35 lines
10 REM JOYSTICK READ DEMO
20 REM SET UP SHAPE TABLE
30 READ V: IF V <0 THEN 70
40 POKE 768 +I,V
50 I = I +1: GOTO 30
60 POKE 232,0: POKE 233,3: REM SHAPE TABLE PTR = $300 (768)
70 ROT= 0: SCALE= 1: REM INITIALIZE
80 REM INIT SCREEN & JOYSTICK
90 HGR : HCOLOR= 3
100 X = 140:Y = 80
110 XDRAW 1 AT X,Y
120 HOME : VTAB 22: PRINT "CENTER JOYSICK, AND PRESS RETURN...": GET A$
130 HOME
140 CX = PDL(0):CY = PDL(1): REM INTIAL JOYSTICK CENTER VALUE
150 VTAB 21: PRINT "CX=";CX;: HTAB 20: PRINT "CY=";CY
160 REM READ THE JOYSTICK
170 HV = PDL(0): REM READ NEW HORIZ. VLUE
180 VTAB 22: PRINT "HV=";HV;" ";
190 VV = PDL(1): REM READ NEW VERT. VLUE
200 HTAB 20: PRINT "VV=";VV;" "
210 DX = (HV -CX)/20: REM SCALED HORZ. OFFSET
220 DY = (VV -CY)/20: REM SCALED VER. OFFSET
230 VTAB 23: PRINT "DX=";DX;" ";: HTAB 20: PRINT "DY=";DY;" "
240 IF ABS(DX) <1 AND ABS(DY) <1 THEN 160: REM NO OFFSET
250 XDRAW 1 AT X,Y: REM ERASE OLD SHAP
260 X = X +DX: REM NEW X POSN
270 IF X <0 THEN X = 0
280 IF X >279 THEN X = 279
290 Y = Y +DY: REM NEW Y POSN
300 IF Y <0 THEN Y = 0
310 IF Y >159 THEN Y = 159
320 XDRAW 1 AT X,Y: REM DRAW NEW SHAPE 340 GOTO 200
330 GOTO 160
340 DATA 1,0,4,0,4,193,193,36,100,146,146,74,105,222,219,147,54,246
350 DATA 193,193,193,193,193,193,193,219,31,7,0,-1