Init
{
Name("Ned 1.5")
regcldmissile(LD,1)
if(gamenbrª1)
print("Ned 1.5")
A=.5
B=.5
C=.5
F=.5
H=.5
I=.5
endif
Getothers()
if(result>2)
cldmissileevents(0)
gosub(DA)
elseif(BDª2|BDª1)
gosub(WB)
elseif(BDª0)
RegCore(OA)
setaccel(5)
blocking(0)
lockgun(1)
gosub(HB)
regcldrobot(KB,1)
back(400)
if(distrmn<150)
setaccel(1)
endif
stop()
bodyleft(90)
continue()
J=50
gosub(FB)
K=1
O=0
P=5
Q=50
elseif(BDª3)
cldmissileevents(0)
gosub(GA)
elseif(BDª5)
cldmissileevents(0)
gosub(SD)
else
cldmissileevents(0)
gosub(U)
endif
R=4
S=4
}
U
{
lockgun(1)
gunright(90)
RegCore(W)
regcldrobot(AA,1)
V=400
blocking(0)
}
W
{
waitfor(gunrmnª0)
back(V)
gosub(Y)
min(-V*1.5,400)
max(result,-400)
V=result
if(Xª0)
gunright(180)
gosub(JD)
gosub(_)
min(-V*150,400)
max(result,-400)
V=result
else
X=0
endif
}
Y
{
gosub(JD)
if(dtcrobot)
abs(V)
V=V/(result^.25)
gosub(SB)
fire(result)
gosub(_)
abs(Z-scandist)
Z=scandist
gosub(Y)
else
if(distrmn>10)
gosub(Y)
endif
endif
}
_
{
if(dtcrobot&energy>1)
X=1
gosub(SB)
fire(result)
gosub(JD)
gosub(HB)
endif
}
AA
{
X=1
blocking(0)
BA=gunaim
J=gunaim
CA=bodyaim+cldbearing
gosub(RB)
gunright(result)
gosub(EB)
gosub(HB)
J=gunaim
CA=90-(BA<0)*180
gosub(RB)
gunright(result)
waitfor(gunrmnª0)
}
DA
{
setaccel(5)
bodyright(25)
blocking(0)
gunleft(9)
lockgun(1)
gunleft(8^5)
d=180
regcore(m)
ahead(400)
}
m
{
Getothers()
if(result¥2)
gunleft(0)
syncgun()
gosub(init)
elseif(distrmn<60|(EAªdistrmn&moving))
d=-d
if(distrmnª0)
back(d*(2/3))
elseif(EAªdistrmn&moving)
back(d*1.5)
else
back(d)
endif
EA=0
else
EA=distrmn
gosub(JD)
if(dtcrobot)
if(scandist<FA&scandist<150)
gosub(SB)
fire(result)
elseif(result¥3&scandist<FA)
fire(1)
endif
FA=(FA*3+scandist)/4
endif
endif
}
GA
{
gunright(1)
radarleft(1)
getothers()
setaccel(5)
e=1
lockgun(0)
regcore(HA)
}
HA
{
g=gunrmn
d=distrmn
gosub(JD)
if(dtcrobot<1|(g&scandist>100)|(n>8&scandist>300&distrmn<320))
if((distrmn<7|distrmn<IA|(dªdistrmn&moving)|(dtccookie&n¤8))&bodyrmnª0)
if((dªdistrmn&moving)&dtcrobot)
gosub(HB)
elseif((dªdistrmn&moving)&cldenergy<energy&(energy>32|(cldenergy-1)*4+1<energy+1)&gunrmnª0)
lockgun(1)
gosub(KB)
lockgun(0)
endif
IA=7
blocking(0)
ahead(400)
stop()
bodyleft(90)
continue()
l=l+1
endif
if(distrmn<150&l>0&gunrmnª0&dtcrobot<1)
gunleft(90)
radarleft(90)
n=n+1
if(n!=8)
l=l-1
else
setaccel(4)
endif
endif
t=0
else
if(n<8&tª0)
t=1
JA=(scandist/22.5)-8
if(JA¤1)
J=JA
gosub(KA)
endif
endif
gosub(SB)
fire(result)
if(distrmn<300&MA)
IA=(distrmn-33)/2
endif
endif
}
KA
{
if(J>0)
gosub(JD)
J=J-1
gosub(KA)
endif
}
LA
{
if(NA<1&energy<1)
MA=1-MA
endif
NA=energy
}
OA
{
if(distrmn<50)
J=0
gosub(XA)
endif
if(distrmn<Q&bodyrmnª0)
R=R-1
S=S-1
PA=16
Q=10
K=-K
ahead(K*600)
QA=distrmn-QA
RA=RA-1
J=-K*5
gosub(XA)
endif
gosub(ZA)
if((VAª3&bodyrmnª0)|Rª0)
gosub(WB)
endif
gosub(JD)
if(dtcrobot)
R=4
if((scandist<60|(scandist<120&dtcenergy>energy))|distrmn<40|RA>0)
if(distrmn<40)
gosub(JD)
endif
if(dtcrobot)
S=4
gosub(SB)
fire(result)
endif
elseif(scandist<160)
S=4
fire(1)
endif
if(WAª0)
if(distrmn>150&bodyrmnª0)
PA=30
abs(distrmn-QA)
TA=result
abs(scandist-UA)
if(((result<TA&(result^2+TA^2)^.5>70&UA)|scandist<40|S¥0)&bodyrmnª0)
Q=50
UA=0
QA=0
stop()
bodyright(90*K)
continue()
RA=2
VA=VA+1
S=4
K=-K
else
UA=scandist
QA=distrmn
endif
else
UA=scandist
QA=distrmn
endif
endif
if((dtcenergy-1)*4+1<energy)
gosub(WB)
gosub(FC)
else
J=0
gosub(XA)
endif
if(gunheat)
gosub(HB)
endif
elseif(dtccookie)
gosub(YA)
endif
WA=dtcrobot
}
XA
{
if(RA¥0)
n=J+bodyaim+90
J=gunaim
CA=n
gosub(RB)
if(result)
gunright(result)
endif
endif
}
YA
{
if(bodyrmnª0)
setaccel(5)
J=dtcbearing
gosub(ZB)
FA=(scandist+20)*AC
bodyright(_B)
J=1
gosub(FB)
ahead(FA)
J=1
gosub(FB)
back(FA)
J=1
gosub(FB)
bodyleft(_B)
J=1
gosub(FB)
endif
}
ZA
{
getturns()
_A=result
if(distrmn<BB)
AB=(BB-distrmn)/(_A-CB)
endif
if(AB<PA)
max(accel+1,1)
min(result,5)
setaccel(result)
elseif(AB>PA)
max(accel-1,1)
min(result,5)
setaccel(result)
endif
BB=distrmn
CB=_A
}
EB
{
if(dtcrobot)
gosub(SB)
fire(result)
endif
if(cldenergy¥2&energyª1&moving)
ahead(0)
elseif(cldenergy>energy)
gosub(NB)
endif
if(gunrmn)
gosub(JD)
gosub(EB)
endif
}
FB
{
IA=J
gosub(GB)
}
GB
{
if(bodyrmnª0)
setaccel(5)
endif
if(dtcrobot)
gosub(SB)
fire(result)
endif
if(gunrmn|bodyrmn|distrmn>IA)
gosub(JD)
gosub(GB)
endif
}
HB
{
if(dtcrobot&IB>1)
IB=energy
gosub(SB)
fire(result)
if(gunaim£radaraim&gunrmnª0)
syncgun()
endif
if(dtcenergy¥2&energyª1&JBª0&moving)
ahead(0)
elseif(((dtcenergy-1)*4+1>energy&energy<32&gunheat>10)|energy<dtcenergy)
gosub(NB)
endif
gosub(JD)
gosub(HB)
endif
JB=0
}
KB
{
blocking(0)
J=gunaim-bodyaim
CA=cldbearing
gosub(RB)
LB=result
MB=gunrmn
if(MB>0)
MB=MB+10
elseif(MB<0)
MB=MB-10
endif
gunright(LB)
if(cldenergy>energy)
ahead(0)
endif
gosub(EB)
gosub(HB)
if(BDª1)
gunleft(LB-MB)
endif
RA=2
}
NB
{
if(JBª0|movingª0)
abs(dtcbearing)
if(result<90)
back(400)
else
ahead(400)
endif
endif
JB=1
}
OB
{
gosub(JD)
if(dtcrobot)
gosub(SB)
fire(result)
gosub(OB)
endif
}
PB
{
min(J,J)
}
QB
{
J=(J*((J>0)*2-1)>90)*2-1
gosub(PB)
}
RB
{
J=(CA-J+900)%360-180
gosub(PB)
}
SB
{
if(dtcrobot)
TB=dtcenergy
UB=scandist
else
TB=cldenergy
UB=10
endif
VB=(TB-1)/4+(UB/180+.75)
if(TB¥0)
VB=0
elseif(TB¥5)
VB=1
endif
if(VB>energy-1)
VB=energy-1
endif
J=VB
gosub(PB)
}
WB
{
RegCore(BC)
setaccel(5)
blocking(0)
gosub(OB)
lockgun(1)
O=gunaim
gosub(OB)
K=1
regcldrobot(KB,1)
if(dtcrobot)
XB=150
bodyright(30)
else
XB=179
endif
YB=400
}
ZB
{
_B=(J+450)%180-90
AC=(J*((J>0)*2-1)¥90)*2-1
}
BC
{
J=O
CA=XB
gosub(VC)
gosub(IC)
CC=bodyrmn
gosub(JD)
if(dtcrobot)
XB=70
P=3
J=gunaim
CA=O
gosub(RB)
O=gunaim+result/2
J=gunaim
CA=bodyaim
gosub(RB)
abs(result)
if((result<90&Kª1)|(result¤90&Kª-1))
DC=1
else
DC=0
endif
if((((scandist<250&dtcenergy>energy)|scandist<180)&(scandist<200|DC))|ECª0)
gosub(SB)
fire(result)
elseif(scandist<250&DC)
fire(1)
endif
EC=1
getturns()
if(result-CB>13&bodyrmnª0&(distrmn<YB/2|GC<1))
if(energy>(dtcenergy-1)*4+1|(energy>40&energy¤dtcenergy*.6))
CB=result
gosub(FC)
else
J=dtcbearing+90
gosub(ZB)
abs(_B)
if(result>30)
stop()
bodyright(_B/2)
continue()
endif
endif
endif
elseif(dtccookie)
gosub(FC)
endif
}
FC
{
J=dtcbearing
gosub(ZB)
if(_B)
if(dtccookie)
bodyright(_B)
elseif(moving&bodyrmnª0)
setaccel(1)
stop()
bodyright(_B)
continue()
GC=2
endif
endif
HC=6
K=-AC
YB=scandist*1.3+20
}
IC
{
if((distrmn¥JC|(CC&accelª1))&bodyrmnª0)
if(HC>0&GCª1)
HC=HC-1
else
setaccel(5)
GC=GC-1
K=-K
ahead(YB*K)
YB=(400+YB*2)/3
getrandom(100)
JC=distrmn/(7+result/100)
KC=KC+1
if(KC>20)
KC=0
stop()
bodyright(90)
continue()
endif
endif
endif
}
LC
{
if(gunrmn)
gunright(0)
endif
}
MC
{
NC=result
}
OC
{
J=NC
gosub(PB)
}
PC
{
if(BDª1)
QC=(J>0)*15-7
else
QC=(J>0)*20-10
endif
gosub(MC)
J=gunaim
CA=radaraim-QC
gosub(RB)
if(result)
gosub(LC)
J=0
gosub(RC)
lockgun(0)
radarleft(result)
waitfor(radarrmnª0)
lockgun(1)
J=1
gosub(RC)
endif
gosub(OC)
}
RC
{
cldmissileevents(J)
cldrobotevents(J)
}
SC
{
gosub(MC)
J=radaraim
CA=dtcbearing+bodyaim
gosub(RB)
if(result)
radarright(result)
waitfor(gunrmnª0)
endif
if(gunaim£radaraim)
syncgun()
waitfor(gunrmnª0)
endif
gosub(OC)
}
TC
{
UC=J
J=0
gosub(RC)
J=UC
gosub(PC)
gunright(UC)
J=1
gosub(RC)
}
VC
{
if(BDª2|XBª179)
if(gunrmnª0)
J=32000
gosub(TC)
endif
else
WC=J
XC=CA
J=gunaim
CA=WC
gosub(RB)
if((result<-XC&P>0)|gunrmnª0)
min(XB*1.5,179)
XB=result
P=P-1
J=-360
gosub(TC)
elseif((result>XC&P>0)|gunrmnª0)
min(XB*1.5,179)
XB=result
P=P-1
J=360
gosub(TC)
endif
endif
}
dead
{
if(BDª1)
gosub(LA)
endif
getothers()
YC=result
J=BD
gosub(ID)
ZC=(result*29+YC)/30
J=BD
CA=ZC
gosub(GD)
if(YC&(_C|gamenbr<games/4))
gosub(AD)
endif
_C=YC
store(_C)
store(BD)
store(A)
store(B)
store(C)
store(F)
store(H)
store(I)
store(NA)
store(MA)
gosub(HD)
}
AD
{
BD=(BD+1)%6
getothers()
CD=result
gosub(FD)
DD=result
J=BD
gosub(ID)
ED=result
getrandom(DD*2)
if(ED>result|(ED¤DD&result>DD/2))
gosub(AD)
endif
}
FD
{
J=(A+B+C+F+H+I)/6
gosub(PB)
}
GD
{
if(J<1)
A=CA
elseif(J<2)
B=CA
elseif(J<3)
C=CA
elseif(J<4)
F=CA
elseif(J<5)
H=CA
elseif(J<6)
I=CA
endif
}
HD
{
print("-----")
print(A)
print(B)
print(C)
print(F)
print(H)
print(I)
}
ID
{
if(J<1)
ED=A
elseif(J<2)
ED=B
elseif(J<3)
ED=C
elseif(J<4)
ED=F
elseif(J<5)
ED=H
elseif(J<6)
ED=I
endif
J=ED
gosub(PB)
}
JD
{
KD=energy
scan()
}
LD
{
ND=KD-energy
if(ND¤23)
gosub(KB)
endif
OD=OD+ND
if(OD>20)
OD=(OD-20)/2
if(BDª2|BDª1)
stop()
bodyright(90)
continue()
endif
endif
}
QD
{
getturns()
_A=result
if(distrmn<BB)
AB=(BB-distrmn)/(_A-CB)
endif
if(AB<PA)
max(accel+1,1)
min(result,5)
setaccel(result)
elseif(AB>PA)
max(accel-1,1)
min(result,5)
setaccel(result)
endif
BB=distrmn
CB=_A
}
RD
{
if(distrmn>80)
setaccel(5)
J=dtcbearing
gosub(ZB)
if(_B)
bodyright(_B)
waitfor(bodyrmnª0)
endif
K=AC
ahead((scandist+20)*AC)
JC=0
endif
}
SD
{
PA=16
blocking(0)
gosub(JD)
gosub(HB)
ahead(scandist-192)
stop()
bodyleft(45)
continue()
K=1
TD=1
regcore(UD)
gunright(10)
lockgun(1)
X=0
}
UD
{
if((distrmn¥JC|(XDªdistrmn&moving)|VD)&bodyrmnª0)
VD=0
K=-K
ahead(600*K)
WD=distrmn
max(distrmn/10,50)
JC=result
if(gunrmnª0)
gunleft(32000)
endif
endif
XD=distrmn
if(X)
J=YD
CA=gunaim
gosub(RB)
abs(result)
if(result<45)
PA=16
else
PA=20
endif
endif
gosub(QD)
gosub(JD)
if(dtcrobot)
YD=gunaim
X=1
if(dtcenergy¤energy)
gosub(SB)
fire(result)
else
fire(1)
endif
if(dtcenergyª1)
gosub(FC)
elseif(scandist<100)
J=dtcbearing
gosub(QB)
if(resultªK&distrmn<WD/2)
VD=1
endif
endif
elseif(dtccookie)
gosub(RD)
endif}