home *** CD-ROM | disk | FTP | other *** search
AMOS Source Code | 1991-06-13 | 4.7 KB | 184 lines |
- Screen Open 0,320,260,32,Lowres
- Rem ****************************************
- Rem * *
- Rem * Written 23/6/91 *
- Rem * By Paul Cutler *
- Rem * and Tony Street *
- Rem * *
- Rem ****************************************
- Led Off
- Close Workbench : Close Editor
- DEMO_INTRO
- Procedure DEMO_INTRO
- SCR_OPEN[0,0,320,260,32,Lowres]
- Double Buffer
- Unpack 7 To 1
- Screen Hide 1
- Erase 7
- Music 1 : Mvolume 63
- Screen Hide 1
- Wait 120-Timer
- '
- SCR_OPEN[0,0,320,260,16,Lowres]
- Get Palette(1)
- SPLERGE_UP[2,1,0]
- Screen Close 1
- '
- '
- Wait 500
- SLIDE_OFF_DIAG2[0]
- Unpack 6 To 1
- Screen Hide 1
- Erase 6
- Screen Hide 1
- Wait 120-Timer
- '
- SCR_OPEN[0,0,320,260,16,Lowres]
- Get Palette(1)
- SPLERGE_UP[2,1,0]
- Screen Close 1
- '
- '
- Wait Key
- Music Off
- STM
- End Proc
- Procedure SPLERGE_UP[SPEED,SOURCE,DEST]
- For LOP=0 To(260-SPEED) Step SPEED
- For LOP1=260 To LOP Step -SPEED
- Screen Copy SOURCE,0,LOP,320,LOP+SPEED To DEST,0,LOP1
- Next LOP1
- Next LOP
- End Proc
- Procedure SLIDE_OFF_DIAG2[NUM]
- Y=50
- For LOP=128 To 432 Step 16
- Screen Display NUM,LOP,Y,,
- Add Y,14
- Wait Vbl
- Next LOP
- End Proc
- Procedure SCR_OPEN[SCR,AUTO,X,Y,NUM,RES]
- Screen Open SCR,X,Y,NUM,RES
- Autoback AUTO
- Flash Off
- Curs Off
- Hide On
- Cls 0
- End Proc
- Procedure STM
- Screen Open 0,320,256,16,Lowres
- Hide
- Unpack 8 To 0
- Get Sprite Palette
- Flash Off
- Curs Off
- Double Buffer
- SP=3 : SPP=9
- SC1=0 : SC2=0
- Paper 1 : Pen 9 : Locate 6,1 : Print SC1 : X=15 : Y=21
- Paper 1 : Pen 2 : Locate 37,1 : Print SC1 : XX=275 : YY=215
- L=Rnd(3)
- If L=0 Then Proc LEV1
- If L=1 Then Proc LEV2
- If L=2 Then Proc LEV3
- If L=3 Then Proc LEV4
- Proc BOACK
- Do
- If Fire(1) Then MX=X : MY=Y : If SP<4 : MB=19 : Else MB=20 : End If : Bob 10,MX,MY,MB
- If Fire(0) Then MXX=XX : MYY=YY : If SPP<12 : MBB=21 : Else MBB=22 : End If : Bob 11,MXX,MYY,MBB
- If Jright(1) Then SP=3 : X=X+2
- If Jleft(1) Then SP=1 : X=X-2
- If Jdown(1) Then SP=7 : Y=Y+2
- If Jup(1) Then SP=5 : Y=Y-2
- If X<3 Then Shoot : X=X+2
- If X>285 Then Shoot : X=X-2
- If Y>220 Then Shoot : Y=Y-2
- If Jright(0) Then SPP=11 : XX=XX+2
- If Jleft(0) Then SPP=9 : XX=XX-2
- If Jdown(0) Then SPP=15 : YY=YY+2
- If Jup(0) Then SPP=13 : YY=YY-2
- Rem border collision
- If XX<3 Then Shoot : XX=XX+2
- If XX>285 Then Shoot : XX=XX-2
- If YY>220 Then Shoot : YY=YY-2
- If Y<16 Then Shoot : Y=Y+2
- If YY<16 Then Shoot : YY=YY+2
- Rem bonus collision
- If Bob Col(1,9 To 9) Then Bell : Bob Off 9 : SC1=SC1+1 : Paper 1 : Locate 6,1 : Pen 9 : Print SC1 : Proc BOACK
- If Bob Col(2,9 To 9) Then Bell : Bob Off 9 : SC2=SC2+1 : Paper 1 : Locate 37,1 : Pen 2 : Print SC2 : Proc BOACK
- Rem wall collision
- If Bob Col(1,15 To 30) Then Boom : Bob Off 10 : SC1=SC1-1 : Paper 1 : Locate 6,1 : Pen 9 : Print SC1 : Y=21 : X=15 : SP=1
- If Bob Col(2,15 To 30) Then Boom : Bob Off 11 : SC2=SC2-1 : Paper 1 : Locate 37,1 : Pen 2 : Print SC2 : YY=215 : XX=275 : SPP=9 :
- Rem bomb collision
- If Bob Col(2,10 To 10) : XX=275 : YY=215 : SPP=9 : Bob Off 10 : SC2=SC2-1 : Paper 1 : Pen 2 : Locate 37,1 : Print SC2 : End If
- If Bob Col(1,11 To 11) : Y=21 : X=15 : SP=3 : Bob Off 11 : SC1=SC1-1 : Paper 1 : Pen 9 : Locate 6,1 : Print SC1 : End If
- If SC1>HI Then HI=SC1 : Locate 22,1 : Pen 9 : Print HI;" P1"
- If SC2>HI Then HI=SC2 : Locate 22,1 : Pen 2 : Print HI;" P2"
- If SC1=10 Then Bob Off : BLUE
- If SC2=10 Then Bob Off : RED
- Bob 1,X,Y,SP
- Bob 2,XX,YY,SPP
- Loop
- End Proc
- Procedure BOACK
- X=Rnd(273) : Y=Rnd(210)
- X=X+4 : Y=Y+17
- Bob 9,X,Y,17
- If Bob Col(9,15 To 30) Then BOACK
- End Proc
- Procedure LEV1
- Rem top line
- Bob 15,155,50,26 : Bob 16,63,50,26
- Rem bottom line
- Bob 17,155,200,26 : Bob 18,63,200,26
- Rem Down line & up line
- Bob 19,62,64,25 : Bob 20,172,64,25
- Bob 21,231,109,25 : Bob 22,111,109,25
- End Proc
- Procedure LEV2
- Rem top line
- Bob 15,145,48,26 : Bob 16,53,48,26
- Rem bottom line
- Bob 22,175,200,26 : Bob 18,83,200,26
- Rem down across lines
- Bob 19,52,62,25 : Bob 20,53,138,26
- Rem up across lines
- Bob 21,251,113,25 : Bob 17,175,99,26
- End Proc
- Procedure LEV3
- Rem uprights
- Bob 15,250,120,25 : Bob 16,200,53,25
- Bob 17,150,120,25 : Bob 18,100,53,25
- Bob 19,50,120,25
- End Proc
- Procedure LEV4
- Rem large corners
- Bob 15,250,120,25 : Bob 16,159,196,26
- Bob 17,55,53,25 : Bob 18,71,54,26
- Rem centre line
- Bob 19,117,125,26
- Rem small corners
- Bob 20,247,52,23 : Bob 21,217,50,24
- Bob 22,52,179,23 : Bob 23,68,193,24
- End Proc
- Procedure BLUE
- Cls 0
- Pen 9
- Paper 0
- Locate 10,10 : Print "THE WINNER IS BLUE"
- Print
- Centre "Hit a key to continue"
- Wait Key
- STM
- End Proc
- Procedure RED
- Cls 0
- Pen 2
- Paper 0
- Locate 10,10 : Print "THE WINNER IS RED"
- Print
- Centre "Hit a key to continue"
- Wait Key
- STM
- End Proc