home *** CD-ROM | disk | FTP | other *** search
/ Nibble Magazine / nib35b.dsk / JOY.READ.DEMO.bas < prev    next >
BASIC Source File  |  2023-02-26  |  1KB  |  35 lines

  1. 10  REM  JOYSTICK READ DEMO
  2. 20  REM  SET UP SHAPE TABLE
  3. 30  READ V: IF V <0  THEN 70
  4. 40  POKE 768 +I,V
  5. 50 I = I +1: GOTO 30
  6. 60  POKE 232,0: POKE 233,3: REM  SHAPE TABLE PTR = $300 (768)
  7. 70  ROT= 0: SCALE= 1: REM  INITIALIZE
  8. 80  REM  INIT SCREEN & JOYSTICK
  9. 90  HGR : HCOLOR= 3
  10. 100 X = 140:Y = 80
  11. 110  XDRAW 1 AT X,Y
  12. 120  HOME : VTAB 22: PRINT "CENTER JOYSICK, AND PRESS RETURN...": GET A$
  13. 130  HOME 
  14. 140 CX =  PDL(0):CY =  PDL(1): REM  INTIAL JOYSTICK CENTER VALUE
  15. 150  VTAB 21: PRINT "CX=";CX;: HTAB 20: PRINT "CY=";CY
  16. 160  REM  READ THE JOYSTICK
  17. 170 HV =  PDL(0): REM  READ NEW HORIZ. VLUE
  18. 180  VTAB 22: PRINT "HV=";HV;"   ";
  19. 190 VV =  PDL(1): REM  READ NEW VERT. VLUE
  20. 200  HTAB 20: PRINT "VV=";VV;"   "
  21. 210 DX = (HV -CX)/20: REM  SCALED HORZ. OFFSET
  22. 220 DY = (VV -CY)/20: REM  SCALED VER. OFFSET
  23. 230  VTAB 23: PRINT "DX=";DX;"  ";: HTAB 20: PRINT "DY=";DY;"  "
  24. 240  IF  ABS(DX) <1  AND  ABS(DY) <1  THEN 160: REM  NO OFFSET
  25. 250  XDRAW 1 AT X,Y: REM  ERASE OLD SHAP
  26. 260 X = X +DX: REM  NEW X POSN
  27. 270  IF X <0  THEN X = 0
  28. 280  IF X >279  THEN X = 279
  29. 290 Y = Y +DY: REM  NEW Y POSN
  30. 300  IF Y <0  THEN Y = 0
  31. 310  IF Y >159  THEN Y = 159
  32. 320  XDRAW 1 AT X,Y: REM  DRAW NEW SHAPE 340 GOTO 200
  33. 330  GOTO 160
  34. 340  DATA  1,0,4,0,4,193,193,36,100,146,146,74,105,222,219,147,54,246
  35. 350  DATA  193,193,193,193,193,193,193,219,31,7,0,-1