home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format 67 / af067a.adf / SYSTEM.DMS / SYSTEM.adf / Examples / SnakeWave.AMOS / SnakeWave.amosSourceCode
AMOS Source Code  |  1994-09-08  |  1KB  |  58 lines

  1. Rem *** Sine 'Snake Wave' Demonstration  
  2. Rem *** Written by Jason Holborn 
  3.  
  4. Rem *** Taken from the book 'ULTIMATE AMOS'
  5. Rem *** Available from Future Publishing on 0225 442244
  6.  
  7.  
  8. SPRX=0 : SPRY=0 : FRAME=8 : FRAMEDELAY=0
  9.  
  10. Screen Open 0,320,256,16,Lowres
  11. Flash Off : Curs Off : Cls 0
  12.  
  13. Load "AMOSBOOK:AbkFiles/SpaceShip.abk"
  14. Get Sprite Palette 
  15.  
  16. Bob Update Off 
  17. Double Buffer : Autoback 0
  18.  
  19. HEIGHT=60
  20. WIDTH=1
  21. POSITION=128
  22. SPEED=2
  23.  
  24. Degree 
  25.  
  26. Do 
  27.    For SPRX=319 To -200 Step -SPEED
  28.       Bob Clear 
  29.       
  30.       Rem *** Calculate new 'Y' co-ordinate
  31.       Rem *** for all objects
  32.       OBJNUMBER=0
  33.       For C=0 To 200 Step 20
  34.          Y=Sin((SPRX+C)*WIDTH)*HEIGHT+POSITION
  35.          Bob OBJNUMBER,SPRX+C,Y,FRAME
  36.          OBJNUMBER=OBJNUMBER+1
  37.       Next C
  38.       
  39.       Bob Draw 
  40.       Screen Swap 0
  41.       Wait Vbl 
  42.       
  43.       Rem *** Update animation 
  44.       If FRAMEDELAY=5
  45.          FRAME=FRAME-1
  46.          If FRAME=0
  47.             FRAME=8
  48.          End If 
  49.          FRAMEDELAY=0
  50.       End If 
  51.       FRAMEDELAY=FRAMEDELAY+1
  52.    Next SPRX
  53.    
  54.    WIDTH=WIDTH+1
  55.    If WIDTH=5
  56.       WIDTH=1
  57.    End If 
  58. Loop