A$="R:Let X="+Str$(XS)+"; Let Y="+Str$(YS)+"; For R1=0 To 180; Let Y=Y+2; Next R1;Let X=120; Let Y=70;"
A$=A$+"For R1=0 To "+Str$(VL)+"; Next R1; L:Let R4=R4+1;Anim 1,("+Str$(FR)+",1);Let X=120;Let Y=70;"
A$=A$+";PLay R4;Let X=500;Let Y=40;Anim 1,(12,1);For R0=0 To 50; Next R0;"
A$=A$+"Let X="+Str$(KS)+";Let Y=40;Let R1="+Str$(V)+"; For R0=0 To 100; Let Y=Y+R1;Next R0;Let X=120; Let Y=70; If R4=15 Jump T;Jump L; T:Let R4=0;Jump L "
A$=A$+"If R1=20 Jump M; If R1=8 Jump K; If R1=4 Jump M;Jump L;"
A$=A$+"K: If X>395 J L; Let X=X+4; If R2=2 J R;Let R2=1;Jump L;"
A$=A$+"M: If X<145 J L; Let X=X-4; If R2=1 J S;Let R2=2;Jump L;"
A$=A$+"R: Anim 1,(3,3)(4,3)(5,3)(6,3); Let R2=1;Let R4=0;Jump L;"
A$=A$+"S: Anim 1,(2,3)(7,3)(8,3)(9,3)(10,3); Let R4=0;Let R2=2;Jump L;"
A$=A$+"T: If R4=1 J L;Let R4=1;If R2=1 J N; A 1,(9,3)(8,3)(7,3)(2,3); J L;"
A$=A$+"N: Anim 1,(5,3)(4,3)(3,3)(2,3); Jump L"
Amal 15,A$
' 17 18 & 19 your shots
Channel 0 To Sprite 17
Sprite 17,0,310,1
RV$="R: Let X=0;Let Y=310; K:If J1>15 Jump S;Pause;Jump K;"
RV$=RV$+" S: If RB&1 J K; If RT>0 J K; Let RB=RB+1; Let R4=0;"
RV$=RV$+" Let X=RA+8; Let Y=215; Let RT=16; L: Let Y=Y-4; Pause;"
RV$=RV$+" Let RT=RT-1; If Y>32 Jump L; L RB=RB-1; Jump R;"
Amal 0,RV$
RV$=""
Channel 1 To Sprite 18
Sprite 18,0,310,1
RV$="R: Let X=0;Let Y=310; K:If J1>15 Jump S;Pause;Jump K;"
RV$=RV$+" S: If RB&2 J K; If RT>0 J K; Let RB=RB+2; Let R4=0;"
RV$=RV$+" Let X=RA+8; Let Y=215; Let RT=16; L: Let Y=Y-4; Pause;"
RV$=RV$+" Let RT=RT-1; If Y>32 Jump L; L RB=RB-2; Jump R;"
Amal 1,RV$
RV$=""
Channel 2 To Sprite 19
Sprite 19,0,310,1
RV$="R: Let X=0;Let Y=310; K:If J1>15 Jump S;Pause;Jump K;"
RV$=RV$+" S: If RB&4 J K; If RT>0 J K; Let RB=RB+4; Let R4=0;"
RV$=RV$+" Let X=RA+8; Let Y=215; Let RT=16; L: Let Y=Y-4; Pause;"
RV$=RV$+" Let RT=RT-1; If Y>32 Jump L; L RB=RB-4; Jump R;"
Amal 2,RV$
' Enemies explode
Channel 3 To Sprite 8
Amal 3,"L: If RD=1 Jump K; P; Jump L; K: Let RD=0; Pause;Anim 1,(15,3)(16,3)(17,2)(18,2)(19,2); For R0=0 To 4; Pause; Next R0; Let X=400; Let Y=400; Jump L;"
Channel 4 To Sprite 9
Amal 4,"L: If RE=1 Jump K; P; Jump L; K: Let RE=0; Anim 1,(15,3)(16,3)(17,2)(18,2)(19,2); For R0=0 To 4; Pause; Next R0; Let X=400; Let Y=400; Jump L;"
Channel 5 To Sprite 10
Amal 5,"L: If RF=1 Jump K; P; Jump L; K: Let RF=0; Anim 1,(15,3)(16,3)(17,2)(18,2)(19,2); For R0=0 To 4; Pause; Next R0; Let X=400; Let Y=400; Jump L;"
Channel 6 To Sprite 11
Amal 6,"L: If RG=1 Jump K; P; Jump L; K: Let RG=0; Anim 1,(15,3)(16,3)(17,2)(18,2)(19,2); For R0=0 To 4; Pause; Next R0; Let X=400; Let Y=400; Jump L;"
Channel 7 To Sprite 12
Amal 7,"L: If RH=1 Jump K; P; Jump L; K: Let RH=0; Anim 1,(15,3)(16,3)(17,2)(18,2)(19,2); For R0=0 To 4; Pause; Next R0; Let X=400; Let Y=400; Jump L;"
Channel 13 To Sprite 20
' Enemies shots
Sprite 20,0,310,13
Amal 13,"P: Let X=0;Let RI=0; Let Y=310;L: If RI<>0 Jump K; Pause; Jump L; K: Let X=RI; Let Y=RJ+5; T: Let Y=Y+3; If Y>270 Jump P;Pause; Jump T"
Channel 14 To Sprite 21
Sprite 21,0,310,13
Amal 14,"P: Let X=0;Let RK=0; Let Y=310;L: If RK<>0 Jump K; Pause; Jump L; K: Let X=RK; Let Y=RL+5; T: Let Y=Y+4; If Y>270 Jump P; Pause; Jump T"
TR=0
' --- Main Loop ---
Amal On
TR1=3
FSC=Deek(Start(13)+6000)-18 : Rem FIN DES DATAS DU SCOLLING
Do
Inc TR
If TR>5
TR=1
End If
If TR5=1
' Fight against big end monster
If Zone(X Sprite(17)-128,Y Sprite(17)-50)=1 and SK=0
Fade 1,,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF
SK=1
Add SCORE,1000
End If
If SK=1
Inc RV
End If
If RV=8
RV=0
Fade 1,0,$333,$555,$777,$999,$BBB,$DDD,$FFF
SK=0
Inc CCL
If CCL>12
For N=1 To 8
Fade 1,,$F00,$F00,$F00,$F00,$F00,$F00
Wait 8
Fade 1,0,$333,$555,$777,$999,$BBB,$DDD,$FFF
Wait 4
Next N
Flash Off
Fade 1
Wait 15
Exit 2
End If
End If
End If
' Fired shot collides enemy
If Amreg(19)>10
Sam Play 8,2
Amreg(19)=10
End If
If Sprite Col(7+TR,17 To 19)=-1
Sam Play 4,3
Add SCORE,50
Amreg(2+TR)=1
DISPLAY_SCORE
End If
Inc TR1
If TR1>5
TR1=1
End If
If Sprite Col(7+TR1,17 To 19)=-1
Sam Play 4,3
Add SCORE,50
Amreg(2+TR1)=1
End If
TRS=Rnd(20)
' Enemies shots
If TRS=1
SP=Rnd(5)+8
YP=Y Sprite(SP)
XP=X Sprite(SP)
If YP>70 and XP>130
Sam Play 4,2,25000
Amreg(8)=XP
Amreg(9)=YP
End If
End If
If TRS=10
SP=Rnd(5)+8
YP=Y Sprite(SP)
XP=X Sprite(SP)
If YP>70 and XP>130
Sam Play 4,2,25000
Amreg(10)=X Sprite(SP)
Amreg(11)=YP
End If
End If
If Sprite Col(15,20 To 21)=CLE
Sam Play 14,1
For N=1 To 8
Amal Freeze
' Collide with enemy shot
Sprite 15,X Sprite(15),Y Sprite(15),499+N
Wait 2
Next N
Wait 30
Amal Off
Sprite Off
Amreg(1)=0
Amreg(19)=0
Fade 2
Wait 30
FDD=1
Dec LIV
If LIV<=0
MORT=1
Exit 2
End If
Exit
End If
' Collide with enemy
If Sprite Col(15,8 To 12)=CLE
Sam Play 14,1
For N=1 To 8
Amal Freeze
Sprite 15,X Sprite(15),Y Sprite(15),499+N
Wait 2
Next N
Wait 30
Amal Off
Sprite Off
Amreg(1)=0
Amreg(19)=0
Fade 2
Wait 30
Dec LIV
If LIV=<0
MORT=1
Exit 2
End If
FDD=1
Exit
End If
If PRR>=9
ST=2
End If
' Jump to the asteroids field when the first scroll ends