home *** CD-ROM | disk | FTP | other *** search
AMOS Source Code | 1980-02-10 | 2.4 KB | 99 lines |
- ' A SIMPLE SHOOT AND DODGE THE ASTEROIDS GAME
- ' CODED BY ANDY DOBINSON
- ' notes ;
- ' extra 2-3 bobs per frame when using power bobs (A500+)
- ' when compiled a jerk appears exactly every second....why..!(amos pro)
- ' normal amos bob commands handles 9 per frame (16 colours)
- ' power bobs handles 12 per frame " " "
- ' BUGS: system has locked up twice once the program has been running a
- ' long time......?
- Load "dh1:power_bobs/shootemup.abk"
- Screen Close 0
- Amos Lock
- Screen Open 1,320,192,16,L
- Flash Off : Curs Off : Cls 0 : Hide On
- Get Sprite Palette
- Unpack 10 To 1
- X=50 : Y=100
- SFIRE=False
- Dim X(10),Y(10),SPEED(10),IMAGE(10)
- For T=1 To 10
- X(T)=320 : Y(T)=Rnd(150) : SPEED(T)=Rnd(4)+1 : IMAGE(T)=3
- Next T
- Double Buffer : Autoback 0 : Bob Update Off
- Extension_13_0006 12
- Extension_13_0094 True
- Make Mask
- For T=1 To 12 : Extension_13_003C T,40 : Next T
- Wait 50
- Break Off : Extension_12_0016 : E=Execall(-132)
- Repeat
- If Jup(1)
- Add Y,-4
- End If
- If Jdown(1)
- Add Y,4
- End If
- If Jright(1)
- Add X,4
- End If
- If Jleft(1)
- Add X,-4
- End If
- If Fire(1) and SFIRE=False
- SFIRE=True
- A=X : B=Y
- Y1=B : Y2=B : X3=A
- End If
- For T=1 To 10
- Add X(T),-SPEED(T)
- If X(T)<0 Then X(T)=320 : Y(T)=Rnd(150) : SPEED(T)=Rnd(4)+1
- '*** phew this is slow
- ' Pbob T,X(T),Y(T),3
- Next T
- '*** get some more speed hehe...
- Extension_13_0110 Varptr(X(0)),Varptr(Y(0)),Varptr(IMAGE(0)),1 To 10
- If SFIRE
- X1=A
- X2=A
- Y3=B
- If X3<320
- Add X3,6
- Extension_13_0124 12,X3,Y3,2
- Else
- X3=320
- SFIRE=False
- Extension_13_002A 12
- End If
- End If
- Extension_13_0124 11,X,Y,1
- _BLOCK_HIT= Extension_13_00BA(12,1 To 10)
- If _BLOCK_HIT
- _BOB= Extension_13_00C6(-1)
- X(_BOB)=320
- Y(_BOB)=Rnd(150)
- SPEED(_BOB)=Rnd(4)+1
- Extension_13_0124 _BOB,X(_BOB),Y(_BOB),3
- SFIRE=False
- Extension_13_002A 12
- End If
- SHIP_HIT= Extension_13_00BA(11,1 To 10)
- If SHIP_HIT
- SHIP_SHAKE=True
- SHAKER=0
- End If
- If SHIP_SHAKE
- Inc SHAKER
- Extension_13_0124 11,X,Y+Rnd(9)-Rnd(7),1
- If SHAKER=40
- SHIP_SHAKE=False
- End If
- End If
- Extension_13_005E 1 To 12
- Extension_13_0072 1 To 12
- Screen Swap
- Wait Vbl
- Until Extension_12_0392
- Erase 1 : Erase 10
- Extension_12_0006 : E=Execall(-138)
- Amos Unlock