home *** CD-ROM | disk | FTP | other *** search
/ No Fragments Archive 10: Diskmags / nf_archive_10.iso / MAGS / ST_WORLD / STWORLD3.MSA / GFABASIC_LINES.GFA (.txt) < prev    next >
Encoding:
GFA-BASIC Atari  |  1989-07-28  |  2.2 KB  |  117 lines

  1. VSETCOLOR 0,0,0,0
  2. VSETCOLOR 1,15,15,15
  3. VSETCOLOR 2,15,0,0
  4. VSETCOLOR 3,15,0,7
  5. VSETCOLOR 4,15,0,15
  6. VSETCOLOR 5,7,0,15
  7. VSETCOLOR 6,0,0,15
  8. VSETCOLOR 7,0,7,15
  9. VSETCOLOR 8,0,15,15
  10. VSETCOLOR 9,0,15,7
  11. VSETCOLOR 10,0,15,0
  12. VSETCOLOR 11,7,15,0
  13. VSETCOLOR 12,15,15,0
  14. VSETCOLOR 13,15,7,0
  15. CLS
  16. HIDEM
  17. co%=2
  18. cl%=2
  19. wi%=319
  20. hi%=199
  21. cx%=wi%/2
  22. cy%=hi%/2
  23. mx%=wi%/20
  24. my%=hi%/20
  25. DIM x%(cl%)
  26. DIM y%(cl%)
  27. DIM v%(cl%)
  28. DIM w%(cl%)
  29. DIM c%(cl%)
  30. GOSUB new
  31. p%=1
  32. REPEAT
  33.   VSYNC
  34.   GOSUB draw_it
  35.   GOSUB cycle
  36.   INC p%
  37.   IF p%>500 THEN
  38.     GOSUB new
  39.     p%=1
  40.   ENDIF
  41. UNTIL INKEY$=" " OR MOUSEK<>0
  42. EDIT
  43. PROCEDURE draw_it
  44.   FOR j%=1 TO cl%
  45.     IF v%(j%)<-mx% THEN
  46.       v%(j%)=-mx%
  47.     ENDIF
  48.     IF v%(j%)>mx% THEN
  49.       v%(j%)=mx%
  50.     ENDIF
  51.     IF w%(j%)<-my% THEN
  52.       w%(j%)=-my%
  53.     ENDIF
  54.     IF w%(j%)>my% THEN
  55.       w%(j%)=my%
  56.     ENDIF
  57.     v%(j%)=v%(j%)+v%
  58.     w%(j%)=w%(j%)+w%
  59.     x%(j%)=x%(j%)+v%(j%)
  60.     y%(j%)=y%(j%)+w%(j%)
  61.     IF x%(j%)<1 THEN
  62.       x%(j%)=1
  63.       v%(j%)=-v%(j%)
  64.     ENDIF
  65.     IF y%(j%)<1 THEN
  66.       y%(j%)=1
  67.       w%(j%)=-w%(j%)
  68.     ENDIF
  69.     IF x%(j%)>wi% THEN
  70.       x%(j%)=wi%
  71.       v%(j%)=-v%(j%)
  72.     ENDIF
  73.     IF y%(j%)>hi% THEN
  74.       y%(j%)=hi%
  75.       w%(j%)=-w%(j%)
  76.     ENDIF
  77.   NEXT j%
  78.   COLOR co%
  79.   PLOT x%(cl%),y%(cl%)
  80.   FOR j%=1 TO cl%
  81.     COLOR co%
  82.     DRAW  TO x%(j%),y%(j%)
  83.   NEXT j%
  84.   INC co%
  85.   IF co%>12 THEN
  86.     co%=2
  87.   ENDIF
  88. RETURN
  89. PROCEDURE new
  90.   CLS
  91.   FOR i%=1 TO cl%
  92.     x%(i%)=cx%
  93.     y%(i%)=cy%
  94.     v%(i%)=INT(RND(0)*12)-6
  95.     w%(i%)=INT(RND(0)*12)-6
  96.   NEXT i%
  97.   COLOR co%
  98.   PLOT cx%,cy%
  99. RETURN
  100. PROCEDURE cycle
  101.   c2%=DPEEK(&HFF8242)
  102.   SDPOKE &HFF8242,DPEEK(&HFF8244)
  103.   SDPOKE &HFF8244,DPEEK(&HFF8248)
  104.   SDPOKE &HFF8248,DPEEK(&HFF824C)
  105.   SDPOKE &HFF824C,DPEEK(&HFF8246)
  106.   SDPOKE &HFF8246,DPEEK(&HFF824A)
  107.   SDPOKE &HFF824A,DPEEK(&HFF824E)
  108.   SDPOKE &HFF824E,DPEEK(&HFF8250)
  109.   SDPOKE &HFF8250,DPEEK(&HFF8252)
  110.   SDPOKE &HFF8252,DPEEK(&HFF8254)
  111.   SDPOKE &HFF8254,DPEEK(&HFF8258)
  112.   SDPOKE &HFF8258,DPEEK(&HFF825C)
  113.   SDPOKE &HFF825C,DPEEK(&HFF8256)
  114.   SDPOKE &HFF825A,DPEEK(&HFF825A)
  115.   SDPOKE &HFF825C,c2%
  116. RETURN
  117.