home *** CD-ROM | disk | FTP | other *** search
/ Almathera Ten Pack 4: Demo 1 / almathera_demo1.bin / amos / xevious2.amos / xevious2.amosSourceCode
AMOS Source Code  |  1995-03-16  |  3KB  |  115 lines

  1. Erase 1
  2. Erase 2
  3. Erase 15
  4. Reserve As Data 15,2000
  5. Screen Open 0,320,400,32,Lowres
  6. Screen Display 0,140,40,320,200
  7. Curs Off : Flash Off 
  8. Cls 0
  9. Load "Df0:test.abk"
  10. Get Icon Palette 
  11. Ink 0
  12. For I=1 To Length(2)
  13.    Paste Icon 100,100,I
  14.    Get Icon I,100,100 To 116,120
  15.    Bar 100,100 To 116,120
  16. Next I
  17. Load "Df0:spaceship.abk"
  18. STARDMAP=Start(15)
  19. Get Sprite Palette %11111111111100000000000000000000
  20. Hide On 
  21. Screen Open 1,320,40,32,Lowres
  22. Screen Hide 1
  23. Cls 0
  24. Get Icon Palette 
  25. Screen Open 2,640,50,16,Hires
  26. Screen Display 2,140,240,640,49
  27. Get Icon Palette 
  28. Cls 5
  29. For I=0 To 9
  30.    Paste Bob 30+I*20+200,20,I+10
  31. Next I
  32. Screen 0
  33. Flash Off 
  34. Double Buffer 
  35. Screen Swap 
  36. Autoback 0
  37. Bob Update Off 
  38. Rem ********************************************************************** 
  39. Rem Hardware-scrolling 
  40. Channel 1 To Screen Offset 0
  41. A$="Loop: Let Y=RS; Jump Loop"
  42. Amal 1,A$
  43. Rem ********************************************************************** 
  44. XSHIP=X Hard(0,160) : YSHIP=Y Hard(0,150)
  45. Rem ********************************************************************** 
  46. Sprite 8,XSHIP,YSHIP,1
  47. Channel 8 To Sprite 8
  48. A$="AUtotest(Let RZ=0; Let R5=J1; If R5<>0 then Direct uPdate else Direct Ifire)"
  49. A$=A$+"uPdate: If R5&1 Jump Up else If R5&2 Jump Down; Jump Jleftright;"
  50. A$=A$+"Up: If Y<R2 Jump K; Let Y=Y-1; K: Jump Jleftright;"
  51. A$=A$+"Down: If Y>R4 Jump O; Let Y=Y+1; O: Jump Jleftright;"
  52. A$=A$+"Jleftright: If R5&4 Jump Left else If R5&8 Jump Right; Jump Ifire;"
  53. A$=A$+"Left: If X<R1 Jump M; Let X=X-1; M: Jump Ifire;"
  54. A$=A$+"Right:If X>R3 Jump N; Let X=X+1; N: Jump Ifire;"
  55. A$=A$+"Ifire: Let RY=Y; Let RX=X; If R5&16 Jump Fire; Wait;"
  56. A$=A$+"Fire: Let RZ=-1; Wait;"
  57. Amal 8,A$
  58. Amreg(8,1)=X Hard(0,20)
  59. Amreg(8,2)=Y Hard(0,80)
  60. Amreg(8,3)=X Hard(0,290)
  61. Amreg(8,4)=Y Hard(0,150)
  62. Rem ********************************************************************** 
  63. Sprite 9,XSHIP,YSHIP+26,4
  64. Channel 9 To Sprite 9
  65. A$="AUtotest(Let X=RX; Let Y=RY+26; eXit)"
  66. A$=A$+"A 0,(4,8)(5,8)(6,8); Wait;"
  67. Amal 9,A$
  68. Rem ********************************************************************** 
  69. Sprite 10,XSHIP,YSHIP-76,3
  70. Channel 10 To Sprite 10
  71. A$="AUtotest(Let X=RX; Let Y=RY-76; eXit) Wait;"
  72. Amal 10,A$
  73. Rem ********************************************************************** 
  74. Make Mask 
  75. Rem ********************************************************************** 
  76. Screen 1
  77. MAPPTR=0
  78. For I=0 To 19
  79.    ICNR=Peek(STARDMAP+MAPPTR)
  80.    If ICNR<>0 Then Paste Icon I*16,0,ICNR
  81.    Inc MAPPTR
  82. Next I
  83. Screen 0
  84. YPTR=1
  85. Rem ********************************************************************** 
  86. Amal On 
  87. S=Asc("S")-65
  88. Do 
  89.    Amreg(S)=200
  90.    For I=1 To 10
  91.       XPTR=0
  92.       If YPTR=1 Then YPTR=0 Else YPTR=1
  93.       For J=19 To 0 Step -1
  94.          YPOS=YPTR*20+J
  95.          Screen Copy 1,0,YPOS,320,YPOS+1 To Logic,0,Amreg(S)-1
  96.          Bob Clear 
  97.          Amreg(S)=Amreg(S)-1
  98.          Bob Draw 
  99.          Screen Swap : Wait Vbl 
  100.          Screen Copy 1,0,YPOS,320,YPOS+1 To Logic,0,Amreg(S)
  101.          Screen Copy 1,0,YPOS,320,YPOS+1 To Logic,0,Amreg(S)+200
  102.          Screen Copy 1,0,YPOS,320,YPOS+1 To Physic,0,Amreg(S)+200
  103.          Bob Clear 
  104.          Bob Draw 
  105.          Screen Swap : Wait Vbl 
  106.          Screen 1
  107.          ICNR=Peek(STARDMAP+MAPPTR)
  108.          If ICNR<>0 Then Paste Icon XPTR*16,20-(YPTR*20),ICNR
  109.          Inc MAPPTR
  110.          Screen 0
  111.          Inc XPTR
  112.          If Mouse Click=1 Then Exit 3
  113.       Next J
  114.    Next I
  115. Loop