A$="Loop: P; P; Let R0=R0+1; Let Y=600-R0; If R0<600 Jump Loop; Let R0=0; Jump Loop"
Amal 0,A$
MAKEMINES
Screen Open 3,340,30,16,Lowres
Screen To Back 3
Screen To Back 0
Curs Off : Flash Off : Hide
Load Iff "scorebar.iff"
Get Sprite Palette
Screen Display 3,128,270,,
Screen 0
End Proc
Procedure RESTART
If LIVES=3 or LIVES=2 Then Dec LIVES : Pop Proc
Dec LIVES
LIVES
Flash Off
Fade 5 : Wait 75
Screen Open 2,355,275,16,Lowres
Screen Display 2,120,40,,
Flash Off : Curs Off : Hide : Get Sprite Palette
Unpack 6
Set Rainbow 0,0,120,"(1,1,10)(1,-1,10)","(1,1,5)(1,-1,5)","(1,1,15)(1,-1,15)"
Rainbow 0,1,40,260
A$="Begin: For R0=0 To 40; Let X=R0; P; Next R0; For R0=0 To 40; Let X=40-R0; P; Next R0; Jump Begin"
Channel 2 To Rainbow 0
Amal 2,A$
Amal On 2
Pen 15 : Paper 3
Home
Locate 11,16
Print "You made";SCORE;" hits"
Locate 11,17
Print "in";Timer/50;" seconds."
Wait 150
Locate 9,26
Paper 0
Print "Press any key to try again"
Clear Key : Wait Key
Rainbow 0,0,400,0
Amal Off 2
Fade 5
Wait 80
Screen Close 2
Screen 0
Fade 5 To -1
Wait 80
LIVES=3
Timer=0
SCORE=0
NEWSCORE
End Proc
Procedure YOUWIN
Wait 10
Flash Off
Bob Off 5 : Bob Off 6 : Bob Off 7 : Bob Off 4 : Bob Off 8 : Bob Off 9 : Bob Off 10
Update
Amal Freeze
Fade 5 : Wait 75
Screen Open 2,355,260,16,Lowres
Screen Display 2,120,38,,
Flash Off : Hide : Curs Off : Get Sprite Palette
Unpack 7
Screen To Front
Set Rainbow 0,0,90,"(1,2,5)(1,-2,5)","(1,1,3)(1,-1,3)","(1,1,15)(1,-1,15)"
Rainbow 0,1,40,260
A$="Begin: For R0=0 To 90; Let X=R0; P; Next R0; For R0=0 To 90; Let X=90-R0; P; Next R0; Jump Begin"
Channel 2 To Rainbow 0
Amal 2,A$
Amal On 2
Paper 4 : Pen 15
Locate 4,26
Print "You hit 250 aliens in";Timer/50;" seconds."
Locate 4,27
Print "You return a hero from the attack."
Wait 200
Locate 7,29
Print "Press any key to play again."
Clear Key : Wait Key
Bell
Rainbow 0,0,400,0
Amal Off 2
Fade 5
Wait 80
Screen Close 2
Screen 0
Fade 5 To -1
Wait 80
INITIALISE
LIVES=3
LIVES
SCORE=0
NEWSCORE
SCORE
Repeat
Until Fire(1)
Amal On
Timer=0
End Proc
Procedure TITLE
Screen Open 4,360,260,16,Lowres
Load Iff "intro.iff"
Screen Display 4,120,37,,
Get Sprite Palette
Flash Off : Hide : Curs Off
Bob 1,188,151,2
Bob 2,229,152,8
Bob 3,207,209,5
Bob 4,277,164,11
Channel 1 To Bob 1
Channel 2 To Bob 2
Channel 3 To Bob 3
Channel 4 To Bob 4
Amal 1,"A 0,(1,8)(2,8)(3,8)"
Amal 2,"A 0,(7,5)(8,5)(9,5)(8,5)"
Amal 3,"A 0,(4,5)(5,5)(6,5)(5,5)"
Amal 4,"A 0,(10,5)(11,5)(12,5)(11,5)"
Amal On
Wait 250
Locate 18,15
Pen 15 : Paper 0
Print "Press any key to begin"
Clear Key : Wait Key
Amal Off
Bell
BACKGROUND
Channel 14 To Screen Display 4
Amal 14,"Begin: Let R0=R0+1; Let Y=R0+37; P; Jump Begin; "
Amal On 14
Wait 280
Amal Off 14
Screen Close 4
End Proc
Procedure WORDS
Screen Open 2,340,260,16,Lowres
Screen Display 2,120,40,,
Screen To Back 2 : Screen 2
Flash Off : Curs Off : Hide
Colour 2,$FFF : Colour 6,$100 : Curs Off
Set Rainbow 0,6,30,"(1,1,15)(1,-1,15)","",""
Rainbow 0,1,40,260
A$="Begin: For R0=0 To 29; Let X=R0; P; Next R0; Jump Begin"
Channel 2 To Rainbow 0
Amal 2,A$
Amal On 2
Pen 2 : Paper 6 : Cls
Locate 15,2
Print "AMOS DEFENCE"
Locate 0,5
Print " You are the lone defender of the great"
Print " interplanetory starship 'AMOS' and"
Print " have to resist a surprise attack from"
Print " an alien race intent on the destruction"
Print " of the whole Amos race."
Print ""
Print " Attacking ships are loaded with"
Print " explosives and try to evade your fire"
Print " to make there kamekaze attacks on your"
Print " base ship."
Print ""
Print " It is believed they will abandon their"
Print " attempt if you can destroy 250 of their"
Print " number, but the more you destroy - the"
Print " more persistant they become, and they"
Print " get very fast and some will target you"
Print " instead of the Amos starship."
Print ""
Print " Look out for overhead rotating mines."
Print " Get too close and your cosmic dust."
Print " P pauses and fire restarts."
Screen To Front 2
Wait 250
Print ""
Print " Press any key to start."
Clear Key : Wait Key
Bell
Rainbow 0,0,400,0
Fade 5 : Wait 80
Amal Off 2
Screen Close 2
End Proc
Procedure MAKEMINES
Bob 11,225,246,20
Channel 11 To Bob 11
A$="Start: A 0,(20,4)(21,4)(22,4)(23,4); Left: P; P; Let X=X+1; If X<295 Jump Left; A 0,(23,4)(22,4)(21,4)(20,4); Right: P; P; Let X=X-1; If X>1 Jump Right; Jump Start;"
Amal 11,A$ : Amal On 11
'
Bob 12,32,460,20
Channel 12 To Bob 12
A$="Start: A 0,(20,4)(21,4)(22,4)(23,4); Left: P; P; Let X=X+1; If X<295 Jump Left; A 0,(23,4)(22,4)(21,4)(20,4); Right: P; P; Let X=X-1; If X>1 Jump Right; Jump Start;"
Amal 12,A$ : Amal On 12
End Proc
Procedure INITIALISE
LIVES
SCORE
A$="Anim 0,(10,5)(11,5)(12,5)(11,5);"
A$=A$+"Let R0=1 ; Let RZ=230; " : Rem R0 is the speed factor
A$=A$+"A: Let Y=YS(0,RZ); If J1&4 then Jump G ;" : Rem left
A$=A$+"B: If J1&8 then Jump H ;" : Rem right
A$=A$+"C: Let Y=YS(0,RZ); If J1&1 then Jump E ;" : Rem up
A$=A$+"D: If J1&2 then Jump F ;" : Rem down
A$=A$+"Jump A ;"
A$=A$+"G: Let X=X-R0 ; If X>2 Jump C; Let X=2; Jump C; "
A$=A$+"H: Let X=X+R0 ; If X<284 Jump C; Let X=284; Jump C; "
A$=A$+"E: Let RZ=RZ-R0 ; If RZ>140 Jump A ; Let RZ=140; Jump A; "
A$=A$+"F: Let RZ=RZ+R0 ; If RZ<232 Jump A ; Let RZ=235; Jump A; "