home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
AMOS PD CD
/
amospdcd.iso
/
sourcecode
/
various
/
combat-planes.amos
/
combat-planes.amosSourceCode
< prev
next >
Wrap
AMOS Source Code
|
1993-01-08
|
5KB
|
178 lines
Rem ***************************
Rem * *
Rem * COMBAT PLANES *
Rem * BY *
Rem * MURRAY JONES *
Rem * *
Rem ***************************
Rem
Rem
Screen Open 0,320,256,16,Lowres
Screen Display 0,130,40,320,256
Double Buffer
Flash Off : Hide : Curs Off : Get Sprite Palette
Cls 0 : Colour 0,$9
_COPYRIGHT[75]
Procedure _COPYRIGHT[YDISPLAY]
'
Auto View Off
'
Unpack 10 To 7
'
For Y=2 To Screen Height/2 Step 2
Screen Display 7,,YDISPLAY+Screen Height/2-Y,,Y*2
Screen Offset 7,,Screen Height/2-Y
View
Wait Vbl
Next
'
Wait 300
'
For Y=Screen Height/2 To 0 Step -8
Screen Display 7,,YDISPLAY+Screen Height/2-Y,,Y*2
Screen Offset 7,,Screen Height/2-Y
View
Wait Vbl
Next
'
Screen Close 7
Auto View On
'
End Proc
Erase 10
BEGIN:
NB=2 : XB=50 : YB=100 : XD=50 : XU=0 : XXD=50 : XXU=0 : N=20 : BS=0
NJ=6 : XJ=300 : YJ=210 : YD=50 : YU=0 : YYD=50 : YYU=0 : M=20 : JS=0
Paper 0
Locate 2,30 : Print "BIPLANE HITS= "
Locate 24,30 : Print "JET HITS= "
MOVING:
If(RR<>5) and(RR<>100) Then RR=Rnd(1000)+1
If RR=5 Then XXX=XXX+1 : YYY=YYY+1
If RR=100 Then XXX=XXX+1 : YYY=110
If(XXX>1320) and(RR=5) Then Bob Off 7 : RR=0 : XXX=-50 : YYY=-50
If(XXX>1320) and(RR=100) Then Bob Off 7 : RR=0 : XXX=-50 : YYY=-50
If Jleft(1) Then N=N-1
If N=10 Then NB=NB-1 : N=20
If Jright(1) Then N=N+1
If N=30 Then NB=NB+1 : N=20
If Fire(1) Then FB=5 : Gosub FIRB
If(FB=5) and(NB=1) Then Bob 3,XB,YB-60+YD,34 : YD=YD-3 : If YD<0 Then Bob Off 3 : YD=50 : FB=0
If(FB=5) and(NB=2) Then Bob 3,XB+55-XU,YB-55+YD,35 : YD=YD-3 : XU=XU-3 : If YD<0 Then Bob Off 3 : YD=50 : XU=50 : FB=0
If(FB=5) and(NB=3) Then Bob 3,XB+10+XU,YB,36 : XU=XU+3 : If XU>50 Then Bob Off 3 : XU=0 : FB=0
If(FB=5) and(NB=4) Then Bob 3,XB+10+XU,YB+10+YU,37 : YU=YU+3 : XU=XU+3 : If YU>30 Then Bob Off 3 : YU=0 : XU=0 : FB=0
If(FB=5) and(NB=5) Then Bob 3,XB,YB+15+YU,34 : YU=YU+3 : If YU>30 Then Bob Off 3 : YU=0 : FB=0
If(FB=5) and(NB=6) Then Bob 3,XB-60+XD,YB+10+YU,35 : XD=XD-3 : YU=YU+3 : If YU>30 Then Bob Off 3 : YU=0 : XD=50 : FB=0
If(FB=5) and(NB=7) Then Bob 3,XB-65+XD,YB,36 : XD=XD-3 : If XD<20 Then Bob Off 3 : XD=50 : FB=0
If(FB=5) and(NB=8) Then Bob 3,XB-60+XD,YB-60+XD,37 : XD=XD-3 : YD=YD-3 : If XD<10 Then Bob Off 3 : XD=50 : YD=50 : FB=0
If Bob Col(1,4 To 4) Then Goto BIPEXP
If NB>8 Then NB=1
If NB<1 Then NB=8
If NB=1 Then YB=YB-1
If NB=2 Then XB=XB+1 : YB=YB-1
If NB=3 Then XB=XB+1
If NB=4 Then XB=XB+1 : YB=YB+1
If NB=5 Then YB=YB+1
If NB=6 Then XB=XB-1 : YB=YB+1
If NB=7 Then XB=XB-1
If NB=8 Then XB=XB-1 : YB=YB-1
If XB>320 Then XB=1
If XB<1 Then XB=320
If YB>256 Then YB=1
If YB<1 Then YB=256
If Jleft(0) Then M=M-1
If M=10 Then NJ=NJ-1 : M=20
If Jright(0) Then M=M+1
If M=30 Then NJ=NJ+1 : M=20
If Fire(0) Then FJ=5 : Gosub FIRJ
If(FJ=5) and(NJ=11) Then Bob 4,XJ,YJ-60+YYD,34 : YYD=YYD-3 : If YYD<0 Then Bob Off 4 : YYD=50 : FJ=0
If(FJ=5) and(NJ=12) Then Bob 4,XJ+55-XXU,YJ-55+YYD,35 : YYD=YYD-3 : XXU=XXU-3 : If YYD<0 Then Bob Off 4 : YYD=50 : XXU=50 : FJ=0
If(FJ=5) and(NJ=13) Then Bob 4,XJ+10+XXU,YJ,36 : XXU=XXU+3 : If XXU>50 Then Bob Off 4 : XXU=0 : FJ=0
If(FJ=5) and(NJ=14) Then Bob 4,XJ+10+XXU,YJ+10+YYU,37 : YYU=YYU+3 : XXU=XXU+3 : If YYU>30 Then Bob Off 4 : YYU=0 : XXU=0 : FJ=0
If(FJ=5) and(NJ=15) Then Bob 4,XJ,YJ+15+YYU,34 : YYU=YYU+3 : If YYU>50 Then Bob Off 4 : YYU=0 : FJ=0
If(FJ=5) and(NJ=16) Then Bob 4,XJ-60+XXD,YJ+10+YYU,35 : XXD=XXD-3 : YYU=YYU+3 : If YYU>20 Then Bob Off 4 : YYU=0 : XXD=50 : FJ=0
If(FJ=5) and(NJ=17) Then Bob 4,XJ-65+XXD,YJ,36 : XXD=XXD-3 : If XXD<0 Then Bob Off 4 : XXD=50 : FJ=0
If(FJ=5) and(NJ=18) Then Bob 4,XJ-60+XXD,YJ-60+XXD,37 : XXD=XXD-3 : YYD=YYD-3 : If XXD<10 Then Bob Off 4 : XXD=50 : YYD=50 : FJ=0
If Bob Col(2,3 To 3) Then Goto JETEXP
If NJ<11 Then NJ=18
If NJ>18 Then NJ=11
If NJ=11 Then YJ=YJ-1
If NJ=12 Then XJ=XJ+1 : YJ=YJ-1
If NJ=13 Then XJ=XJ+1
If NJ=14 Then XJ=XJ+1 : YJ=YJ+1
If NJ=15 Then YJ=YJ+1
If NJ=16 Then XJ=XJ-1 : YJ=YJ+1
If NJ=17 Then XJ=XJ-1
If NJ=18 Then XJ=XJ-1 : YJ=YJ-1
If XJ>320 Then XJ=1
If XJ<1 Then XJ=320
If YJ>256 Then YJ=1
If YJ<1 Then YJ=256
Bob 1,XB,YB,NB
Bob 2,XJ,YJ,NJ
If RR=100 Then Bob 7,XXX/4,YYY,9
If RR=5 Then Bob 7,XXX/6,YYY/6,9
Goto MOVING
BIPEXP:
Bob Off 4
Sam Play 2
For BE=19 To 33
Bob 5,XB,YB,BE
Wait Vbl
Next BE
Bob Off 5
JS=JS+1
Locate 15,30 : Print " "
Locate 15,30 : Print JS
FJ=0
If JS>11 Then Goto ENE
For ERG=1 To 50
XB=XB+1 : YB=YB+1 : NB=BN+1
If NB>8 Then NB=1
Bob 1,XB,YB,NB
Next ERG
Goto RES
JETEXP:
Bob Off 3
Sam Play 2
For JE=19 To 33
Bob 6,XJ,YJ,JE
Wait Vbl
Next JE
Bob Off 6
BS=BS+1
Locate 33,30 : Print " "
Locate 33,30 : Print BS
FB=0
For ERT=1 To 50
XJ=XJ+1 : YJ=YJ+1 : NJ=NJ+1
If NJ>18 Then NJ=11
Bob 2,XJ,YJ,NJ
Next ERT
If BS>11 Then Goto ENE
Goto RES
FIRB:
FIB=FIB+1
If FIB=6 Then Sam Play 1
If FIB>12 Then FIB=0
Return
FIRJ:
FIJ=FIJ+1
If FIJ=6 Then Sam Play 1
If FIJ>12 Then FIJ=0
Return
RES:
FB=0 : XD=50 : XXD=50 : XU=0 : XXU=0 : YU=0 : YYU=0 : YD=50 : YYD=50
Goto MOVING
ENE:
Fade 10 : Wait 200
Bob Off
Cls 0
Get Sprite Palette
Locate 10,10 : Print "The final score is:"
Locate 10,14 : Print "Biplane had";JS;" hits"
Locate 10,16 : Print "Jet had";BS;" hits"
If BS<JS Then Locate 10,19 : Print "The jet wins"
If BS>JS Then Locate 10,19 : Print "The biplane wins"
Wait 800
Goto BEGIN