home *** CD-ROM | disk | FTP | other *** search
AMOS Source Code | 1994-03-12 | 5.1 KB | 178 lines |
- ' *************************************
- ' * *
- ' * Demo 10 V1.0 *
- ' * Written by Chris Hodges *
- ' * *
- ' *************************************
- '
- Set Buffer 20
- Hide
- Dim C1(7),PA(359,1),SI(359),CO(359),LC(4),TC(5)
- Gosub INITVARS
- Gosub INITSCREEN
- Track Loop On : Track Play 3
- Shift Up 1,9,15,1
- Screen 2
- Repeat
- Wait Vbl
- Gosub SPRITS
- Gosub LOCO
- Gosub SCROL
- Gosub CYCLE
- Gosub RAIBOW
- Until Mouse Key=1
- Track Stop
- Sprite Off
- Screen Close 0
- Screen Close 1
- Screen Close 2
- End
- INITVARS:
- Degree
- For A=0 To 359
- SI(A)=Sin(A)*100
- CO(A)=Cos(A)*100
- PA(A,0)=Sin(A)*50+Cos(A*2)*100+288
- PA(A,1)=Cos(A)*45+Sin(A*4)*45+135
- Next
- Set Rainbow 0,7,160,"","",""
- For A=0 To 15
- Rain(0,A)=A*$100 : Rain(0,A+16)=(15-A)*$100
- Rain(0,A+32)=A*$110 : Rain(0,A+48)=(15-A)*$110
- Rain(0,A+64)=A*$10 : Rain(0,A+80)=(15-A)*$10
- Rain(0,A+96)=A*$11 : Rain(0,A+112)=(15-A)*$11
- Rain(0,A+128)=A*$101 : Rain(0,A+144)=(15-A)*$101
- Next
- S$="s8AND AGAIN HERE IS CHRISTOPHER HODGES PRESENTING A NEW INTRO!fh3 DO YOU"
- S$=S$+" LIKE IT??? s7 s6YES? s7Gs8OOD!s9 s8NOTHING TOs7 SAY ABOs6UT IT, BUT "
- S$=S$+"LETS TALKs5 ABOUTs4 AMOS BUGS... 1. DUAL PLAYFIELD THIS IS STILL VERY UN"
- S$=S$+"PROFESSIONAL. TRY TO SET THE SCREEN OFFSET OF SCREEN ONE TO A MULTIPLE OF 16 AND "
- S$=S$+"SET THE OFFSET OF SCREEN TWO TO AN OTHER COORDINATE. YOU WILL CERTAINLY NOTICE, "
- S$=S$+"THAT THE OFFSET OF SCREEN TWO WILL BE CUT TO THE NEAREST MULTIPLE OF 16. "
- S$=S$+"A SCREEN DISPLAY FIX COMMAND WOULD HELP! "
- S$=S$+" 2. AMOS PRO MUSIC EXTENSION V2.0 THE SHOOT, BELL AND BOOM COMMANDS "
- S$=S$+"DO NOT WORK ANY LONGER. THEY SIMPLY CAUSE A GURU. "
- S$=S$+"3. AMOS PRO COMPILER SOME COMPILED PROGRAMMS DO NOT WORK FROM WORKBENCH. "
- S$=S$+" IT'S MORE THAN A SIMPLE CRASH, MOST HARDWARE REGS ARE MODIFIED CAUSING SOME MINOR "
- S$=S$+"DAMAGE TO MY HARDWARE CLOCK. "
- S$=S$+" s7 s6AFTER THIS SOME GREETINGS "
- S$=S$+"TO HENDRIK H. HEIMEfR, MICHAEL BERCHTOLfD, MAD HENRfY, MR. SNOOPfY, JARfO,"
- S$=S$+" HANS-PETEfR, DIE ZWILLINGfE AND s9TO saALL sbOTHscER AMsdIGA UseSERS!sf!! "
- S$=S$+" s8THATS ALL I WANT TO SAY, SEE YA SOON! BYE! "
- SP=8
- XS=0 : YS=0
- XX=1610 : YY=3000
- TX=1610 : TY=1000
- WI=0 : WII=0
- G=0 : PO=0 : S=0
- RP=0
- Return
- INITSCREEN:
- Screen Open 2,640+5*32,25,8,0
- Curs Off : Flash Off : Paper 0 : Pen 1 : Cls
- Get Icon Palette
- For A=0 To 5 : TC(A)=Colour(A+1) : Next
- Screen Display 2,128,240,320,25
- Wait Vbl
- Unpack 9 To 0
- Screen Offset 0,1,0
- Screen Display 0,128,40,320,199
- For A=0 To 7 : C1(A)=Colour(A) : Colour A,0 : Next
- Wait Vbl
- Unpack 10 To 1
- Screen Offset 1,1,0
- Screen Display 1,128,40,320,199
- Wait Vbl
- Screen 1
- Sprite Priority 0
- Dual Playfield 1,0
- Dual Priority 1,0
- For A=0 To 7 : Colour A+8,C1(A) : Next
- Colour 17,$F80 : Colour 18,$840 : Colour 19,$420
- Colour 21,$8F0 : Colour 22,$480 : Colour 23,$240
- Colour 25,$8F : Colour 26,$48 : Colour 27,$24
- Colour 29,$F8 : Colour 30,$84 : Colour 31,$42
- For A=0 To 6
- If A=0 Then B=1
- If A=1 Then B=2
- If A=2 Then B=3
- If A=3 Then B=4
- If A=4 Then B=2
- If A=5 Then B=5
- If A=6 Then B=3
- Sprite A,0,0,B
- Next
- Return
- RAIBOW:
- Rainbow 0,RP,240,25
- Add RP,1,0 To 159
- Return
- CYCLE:
- If WAIFIN>0 Then Dec WAIFIN : Return
- If Rnd(50)=0
- Screen 1
- C0=Rnd(6)+8 : C1=Rnd(6)+8 : C2=Rnd(6)+8
- For A=0 To 4
- LC(A)=$FFF-((((C0*A)/4)*$100)+(((C1*A)/4)*$10)+(C2*A)/4)
- Next
- Fade 3,0,LC(0),LC(1),LC(2),LC(3),LC(4)
- WAIFIN=48
- Screen 2
- End If
- If Rnd(50)=0
- C0=Rnd(8)+6 : C1=Rnd(8)+6 : C2=Rnd(8)+6
- For A=0 To 5
- TC(A)=$FFF-((((C0*A)/5)*$100)+(((C1*A)/5)*$10)+(C2*A)/5)
- Next
- Fade 2,0,TC(0),TC(1),TC(2),TC(3),TC(4),TC(5)
- WAIFIN=32
- End If
- Return
- SPRITS:
- P=PO
- For A=0 To 6
- P=(P+354) mod 360
- Sprite A,PA(P,0),PA(P,1),
- Next
- Add PO,1,0 To 360
- Return
- SCROL:
- If CO>0
- WAIFIN=32
- Colour CO,$FFF : Inc CO
- Colour CO,$FFF : Inc CO
- If CO>15
- CO=0 : WAIFIN=32
- Fade 2,0,TC(0),TC(1),TC(2),TC(3),TC(4),TC(5),0
- End If
- End If
- If H=0 Then Add SXX,SP : Add PX,SP : If PX>31 Then Add PX,-32 : SXX=SXX mod 384 : Gosub NL
- H=Max(H-1,0) : Screen Offset 2,SXX+64,
- If Mouse Key=2 Then Inc H
- Return
- NL:
- Add S,1,1 To Len(S$) : B=Asc(Mid$(S$,S,1))
- If B=102 Then CO=1 : Goto NL
- If B=104 Then Inc S : H=Val(Mid$(S$,S,1))*20 : Add SXX,-SP : Goto NL
- If B=115 Then Inc S : SP=Val("$"+Mid$(S$,S,1))+1 : Goto NL
- Paste Icon 384+SXX-PX,0,B-31 : Paste Icon SXX-PX,0,B-31
- Return
- LOCO:
- Add G,1,-600 To 600
- WI=(WI+Rnd(3)) mod 360
- X=Min(Max(XX/10,-160),480)
- Y=286-Min(Max(YY/10,1),286)
- If X<0 Then Dec Y : Add X,640
- Screen Offset 1,X,Y
- Add XX,XS : Add YY,YS
- X=TX-XX
- XS=Min(Max(XS+Sgn(X)*2,Min(-Abs(X)/15,-40)),Max(Abs(X)/15,40))
- Y=TY-YY
- YS=Min(Max(YS+Sgn(Y)*2,Min(-Abs(Y)/15,-40)),Max(Abs(Y)/15,40))
- If PA
- TX=CO(WI)*(Abs(G*2)+1600)/100+1600 : TY=SI(WI)*(Abs(G)+700)/100+1430
- Else
- TX=1610 : TY=1500
- End If
- If Rnd(100)=0 Then PA=1-PA
- Return