home *** CD-ROM | disk | FTP | other *** search
AMOS Source Code | 1993-09-12 | 3.3 KB | 145 lines |
- ' **********************************
- ' * *
- ' * Software Society Logo Sequence *
- ' * *
- ' * Written by Chris Hodges *
- ' * *
- ' **********************************
- '
- Hide
- Loke $80,$51554954
- Wait Vbl
- GAME$="STRIKE COMMANDER" : Rem Name des Spiels( max. 20 Zeichen)
- SOUND=True : Rem Sound kann hier ausgeschaltet werden
- Randomize Timer
- Unpack 9 To 1 : Screen Hide 1
- Palette 0,$EE0,$CA0,$A70,$840,$630,$420,$210,0,$EE0,$CA0,$A70,$840,$630,$420,$210
- Unpack 10 To 0 : Screen Hide
- Palette 0,0,0,0,0,0,0,0,0,$EEE,$CCC,$AAA,$888,$666,$444,$222
- Screen Display 0,224,50,128,108
- Dim LI(15,1,1),DI(8,1),SP(3,5)
- For A=0 To 8
- Read DI(A,0),DI(A,1)
- Next
- LI=15
- For A=0 To LI
- Read LI(A,0,0),LI(A,0,1),LI(A,1,0),LI(A,1,1)
- Next
- Screen Open 2,320,92,16,0
- Curs Off : Flash Off : Paper 0 : Pen 1 : Cls
- Screen Display 2,128,159,320,95
- Get Sprite Palette
- For A=1 To 15 : Colour A+16,Colour(A) : Next
- A$="THE SOFTWARE SOCIETYPRESENTS"+GAME$
- X=0 : Y=8 : NS=0 : BP=1
- For A=0 To 3
- SP(A,4)=-3
- Next
- NEXSPR=0 : ACT=4
- Wait Vbl
- Every 1 Gosub INERUPT
- Every On
- Screen Show 0
- Screen 0
- Sam Bank 8
- CH=1
- For TIM=0 To 88
- If(Mouse Key>0) or(Inkey$<>"") Then Exit
- Repeat : Until Timer>WAI : WAI=Timer
- If SOUND Then CH=(CH*2) mod 9 : Sam Play CH,1,10000+TIM*100
- For A=0 To LI
- If LI(A,1,0) or LI(A,1,1)
- P=Point(LI(A,0,0),LI(A,0,1))
- Plot LI(A,0,0),LI(A,0,1),(P mod 8)+8
- End If
- Next
- For A=0 To LI
- XX=LI(A,0,0) : YY=LI(A,0,1) : RX=LI(A,1,0) : RY=LI(A,1,1)
- If Point(XX+RX,YY+RY)<1
- For B=0 To 7
- 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
- Next
- RX=DI(B,0) : RY=DI(B,1)
- LI(A,1,0)=RX : LI(A,1,1)=RY
- End If
- Add LI(A,0,0),RX
- Add LI(A,0,1),RY
- Next
- Next
- Sam Stop
- Screen Copy 1 To 0
- If SOUND Then Sam Play 15,2
- Palette 0,$FF0,$FF0,$FF0,$FF0,$FF0,$FF0,$FF0,0,$FF0,$FF0,$FF0,$FF0,$FF0,$FF0,$FF0
- Fade 2 To 1
- Repeat
- Multi Wait
- Until ACT=0
- For A=0 To 149
- Multi Wait : Exit If(Mouse Key>0) or(Inkey$<>"")
- Next
- Screen Close 1
- Screen 0
- Fade 2
- For A=0 To 95 Step 3
- Screen Display 2,,159+A,,96-A
- Wait Vbl
- Next
- Screen Close 0
- Screen Close 2
- End
- INERUPT:
- SS=Screen
- Screen 2
- PS=0
- For AA=0 To 3
- If SP(AA,4)=-2 Then Paste Bob SP(AA,0),SP(AA,1),SP(AA,5) : PS=1 : Dec ACT
- Next
- If NEXSPR=0 or PS=1 Then Add NEXSPR,9 : Gosub SETSPR
- Dec NEXSPR
- For AA=0 To 3
- If SP(AA,4)=>0
- XS=SP(AA,0)+(SP(AA,2)*SP(AA,4))/32
- YS=SP(AA,1)+(SP(AA,3)*SP(AA,4))/32
- Sprite AA*2,X Hard(XS),Y Hard(YS),SP(AA,5)
- Else
- Sprite Off AA*2
- End If
- Dec SP(AA,4)
- Next
- Screen SS
- If ACT>0 Then Every On
- Return
- SETSPR:
- If BP>Len(A$) Then Return
- SP(NS,0)=X
- SP(NS,1)=Y
- SP(NS,2)=(Rnd(336)-16)-X
- SP(NS,3)=90-Y
- SP(NS,4)=32
- SP(NS,5)=Asc(Mid$(A$,BP,1))-31
- Inc BP
- ACT=4
- Add X,16
- If X>319 and Y=8 Then X=96 : Add Y,32
- If X>223 and Y=40 Then X=160-Len(Mid$(A$,BP))*8 : Add Y,32
- Add NS,1,0 To 3
- Return
- Data 0,1,-1,0,1,0,0,-1,-1,1,1,1,-1,-1,1,-1,0,0
- '
- Data 0,24,1,0
- Data 118,24,-1,0
- Data 59,107,-1,0
- Data 59,107,1,0
-
- Data 23,31,0,1
- Data 32,92,0,-1
- Data 39,31,1,0
- Data 48,92,-1,0
- Data 59,92,-1,0
- Data 60,92,1,0
- Data 80,31,-1,0
- Data 71,92,1,0
- Data 96,31,0,1
- Data 87,92,0,-1
- Data 59,0,-1,1
- Data 59,0,1,1