home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / 1990 / 09 / einsteig / joydemo.bas < prev    next >
Encoding:
BASIC Source File  |  1990-08-03  |  2.8 KB  |  98 lines

  1. '* ------------------------------------------------------- *
  2. '*                       JOYDEMO.BAS                       *
  3. '*      Ein mit Joystick steuerbares Grafikprogramm        *
  4. '*              (c) 1990 Kay Glahn & TOOLBOX               *
  5. '* ------------------------------------------------------- *
  6. DIM Pfeil(36) AS INTEGER
  7. DIM HGrund(36) AS INTEGER
  8. '* ------------------------------------------------------- *
  9. '*       Werte der Joystickmittelstellung festellen        *
  10. CLS
  11. LOCATE 12, 18
  12. PRINT "Joystick zentrieren und Joystickknopf drücken !"
  13. DO UNTIL STRIG(1) = -1 OR STRIG(5) = -1
  14.   XMitte = STICK(0)
  15.   YMitte = STICK(1)
  16. LOOP
  17. '* ------------------------------------------------------- *
  18. '*          Daten des Sprites in Array übertragen          *
  19. CLS : SCREEN 2
  20. RESTORE
  21. FOR j = 1 TO 16
  22.   FOR i = 1 TO 16
  23.     READ A%
  24.     PSET (i, j), A%
  25.   NEXT
  26. NEXT
  27. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  28. DATA 0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0
  29. DATA 0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0
  30. DATA 0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0
  31. DATA 0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0
  32. DATA 0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0
  33. DATA 0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0
  34. DATA 0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0
  35. DATA 0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0
  36. DATA 0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0
  37. DATA 0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0
  38. DATA 0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0
  39. DATA 0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0
  40. DATA 0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0
  41. DATA 0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  42. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  43. GET (1, 1)-(16, 16), Pfeil
  44. '* ------------------------------------------------------- *
  45. '*                Hauptteil des Programms                  *
  46. ON STRIG(4) GOSUB gedrueckt
  47. nochmal:
  48. CLS
  49. GET (320, 100)-(336, 116), HGrund
  50. LINE (10, 25)-(611, 186), , B
  51. LOCATE 1, 30: PRINT "Ende mit <ESC>"
  52. X = 320
  53. Y = 100
  54. A = 320
  55. B = 100
  56. STRIG(4) ON
  57. WHILE INKEY$ <> CHR$(27)
  58.   LOCATE 1, 2: PRINT "X : "; X - 11
  59.   LOCATE 1, 13: PRINT "Y : "; Y - 10
  60.   SELECT CASE STICK(0)
  61.     CASE IS < XMitte - 25
  62.       X = X - 20
  63.     CASE IS < XMitte - 10
  64.       X = X - 1
  65.     CASE IS > XMitte + 25
  66.       X = X + 20
  67.     CASE IS > XMitte + 10
  68.       X = X + 1
  69.   END SELECT
  70.   SELECT CASE STICK(1)
  71.     CASE IS < YMitte - 25
  72.       Y = Y - 10
  73.     CASE IS < YMitte - 10
  74.       Y = Y - 1
  75.     CASE IS > YMitte + 25
  76.       Y = Y + 10
  77.     CASE IS > YMitte + 10
  78.       Y = Y + 1
  79.   END SELECT
  80.   IF X < 12 THEN X = 12
  81.   IF X > 611 THEN X = 611
  82.   IF Y < 11 THEN Y = 11
  83.   IF Y > 170 THEN Y = 170
  84.   PUT (A, B), HGrund, PSET
  85.   IF STRIG(1) = -1 THEN
  86.     LINE (A - 1, B + 15)-(X - 1, Y + 15)
  87.   END IF
  88.   GET (X, Y)-(X + 16, Y + 16), HGrund
  89.   PUT (X, Y), Pfeil, OR
  90.   A = X
  91.   B = Y
  92. WEND
  93. CLS : END
  94. gedrueckt:
  95. RETURN nochmal
  96. '* ------------------------------------------------------- *
  97. '*                  Ende von JOYDEMO.BAS                   *
  98.