home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 26 / AACD 26.iso / AACD / Programming / AllPlaton / StrikeCommander / Intro.AMOS / Intro.amosSourceCode < prev    next >
Encoding:
AMOS Source Code  |  1993-09-12  |  3.3 KB  |  145 lines

  1. ' **********************************   
  2. ' *                                *   
  3. ' * Software Society Logo Sequence * 
  4. ' *                                * 
  5. ' *     Written by Chris Hodges    * 
  6. ' *                                * 
  7. ' ********************************** 
  8. '
  9. Hide 
  10. Loke $80,$51554954
  11. Wait Vbl 
  12. GAME$="STRIKE COMMANDER" : Rem Name des Spiels( max. 20 Zeichen)
  13. SOUND=True : Rem Sound kann hier ausgeschaltet werden 
  14. Randomize Timer
  15. Unpack 9 To 1 : Screen Hide 1
  16. Palette 0,$EE0,$CA0,$A70,$840,$630,$420,$210,0,$EE0,$CA0,$A70,$840,$630,$420,$210
  17. Unpack 10 To 0 : Screen Hide 
  18. Palette 0,0,0,0,0,0,0,0,0,$EEE,$CCC,$AAA,$888,$666,$444,$222
  19. Screen Display 0,224,50,128,108
  20. Dim LI(15,1,1),DI(8,1),SP(3,5)
  21. For A=0 To 8
  22.   Read DI(A,0),DI(A,1)
  23. Next 
  24. LI=15
  25. For A=0 To LI
  26.   Read LI(A,0,0),LI(A,0,1),LI(A,1,0),LI(A,1,1)
  27. Next 
  28. Screen Open 2,320,92,16,0
  29. Curs Off : Flash Off : Paper 0 : Pen 1 : Cls 
  30. Screen Display 2,128,159,320,95
  31. Get Sprite Palette 
  32. For A=1 To 15 : Colour A+16,Colour(A) : Next 
  33. A$="THE SOFTWARE SOCIETYPRESENTS"+GAME$
  34. X=0 : Y=8 : NS=0 : BP=1
  35. For A=0 To 3
  36.   SP(A,4)=-3
  37. Next 
  38. NEXSPR=0 : ACT=4
  39. Wait Vbl 
  40. Every 1 Gosub INERUPT
  41. Every On 
  42. Screen Show 0
  43. Screen 0
  44. Sam Bank 8
  45. CH=1
  46. For TIM=0 To 88
  47.   If(Mouse Key>0) or(Inkey$<>"") Then Exit 
  48.   Repeat : Until Timer>WAI : WAI=Timer
  49.   If SOUND Then CH=(CH*2) mod 9 : Sam Play CH,1,10000+TIM*100
  50.   For A=0 To LI
  51.     If LI(A,1,0) or LI(A,1,1)
  52.       P=Point(LI(A,0,0),LI(A,0,1))
  53.       Plot LI(A,0,0),LI(A,0,1),(P mod 8)+8
  54.     End If 
  55.   Next 
  56.   For A=0 To LI
  57.     XX=LI(A,0,0) : YY=LI(A,0,1) : RX=LI(A,1,0) : RY=LI(A,1,1)
  58.     If Point(XX+RX,YY+RY)<1
  59.       For B=0 To 7
  60.         If Point(XX+DI(B,0),YY+DI(B,1))>0 and Point(XX+DI(B,0),YY+DI(B,1))<8 : Exit : End If 
  61.       Next 
  62.       RX=DI(B,0) : RY=DI(B,1)
  63.       LI(A,1,0)=RX : LI(A,1,1)=RY
  64.     End If 
  65.     Add LI(A,0,0),RX
  66.     Add LI(A,0,1),RY
  67.   Next 
  68. Next 
  69. Sam Stop 
  70. Screen Copy 1 To 0
  71. If SOUND Then Sam Play 15,2
  72. Palette 0,$FF0,$FF0,$FF0,$FF0,$FF0,$FF0,$FF0,0,$FF0,$FF0,$FF0,$FF0,$FF0,$FF0,$FF0
  73. Fade 2 To 1
  74. Repeat 
  75.   Multi Wait 
  76. Until ACT=0
  77. For A=0 To 149
  78.   Multi Wait : Exit If(Mouse Key>0) or(Inkey$<>"")
  79. Next 
  80. Screen Close 1
  81. Screen 0
  82. Fade 2
  83. For A=0 To 95 Step 3
  84.   Screen Display 2,,159+A,,96-A
  85.   Wait Vbl 
  86. Next 
  87. Screen Close 0
  88. Screen Close 2
  89. End 
  90. INERUPT:
  91.   SS=Screen
  92.   Screen 2
  93.   PS=0
  94.   For AA=0 To 3
  95.     If SP(AA,4)=-2 Then Paste Bob SP(AA,0),SP(AA,1),SP(AA,5) : PS=1 : Dec ACT
  96.   Next 
  97.   If NEXSPR=0 or PS=1 Then Add NEXSPR,9 : Gosub SETSPR
  98.   Dec NEXSPR
  99.   For AA=0 To 3
  100.     If SP(AA,4)=>0
  101.       XS=SP(AA,0)+(SP(AA,2)*SP(AA,4))/32
  102.       YS=SP(AA,1)+(SP(AA,3)*SP(AA,4))/32
  103.       Sprite AA*2,X Hard(XS),Y Hard(YS),SP(AA,5)
  104.     Else 
  105.       Sprite Off AA*2
  106.     End If 
  107.     Dec SP(AA,4)
  108.   Next 
  109.   Screen SS
  110.   If ACT>0 Then Every On 
  111. Return 
  112. SETSPR:
  113.   If BP>Len(A$) Then Return 
  114.   SP(NS,0)=X
  115.   SP(NS,1)=Y
  116.   SP(NS,2)=(Rnd(336)-16)-X
  117.   SP(NS,3)=90-Y
  118.   SP(NS,4)=32
  119.   SP(NS,5)=Asc(Mid$(A$,BP,1))-31
  120.   Inc BP
  121.   ACT=4
  122.   Add X,16
  123.   If X>319 and Y=8 Then X=96 : Add Y,32
  124.   If X>223 and Y=40 Then X=160-Len(Mid$(A$,BP))*8 : Add Y,32
  125.   Add NS,1,0 To 3
  126. Return 
  127. Data 0,1,-1,0,1,0,0,-1,-1,1,1,1,-1,-1,1,-1,0,0
  128. '
  129. Data 0,24,1,0
  130. Data 118,24,-1,0
  131. Data 59,107,-1,0
  132. Data 59,107,1,0
  133.  
  134. Data 23,31,0,1
  135. Data 32,92,0,-1
  136. Data 39,31,1,0
  137. Data 48,92,-1,0
  138. Data 59,92,-1,0
  139. Data 60,92,1,0
  140. Data 80,31,-1,0
  141. Data 71,92,1,0
  142. Data 96,31,0,1
  143. Data 87,92,0,-1
  144. Data 59,0,-1,1
  145. Data 59,0,1,1