[94nop] Nightstalker
From
John Metcalf@21:1/5 to
All on Mon Nov 20 03:18:01 2023
Here's the latest version. The actual hill constants are in the comments.
;redcode-94nop
;name Nightstalker
;author John Metcalf
;strategy stone/imp
;assert CORESIZE==8000
org qscan
sdist equ 1000
ldist equ 1588 ; 2089
idist equ 140 ; 2024
bdist equ 22 ; 23
warr mov imp, warr+ldist+idist
mov sbomb, warr+sdist+bdist
spl 1, {200
mov <stone-2, {sboot
spl 1, {300
mov <launch, {lboot
mov <stone-2, {sboot
lboot spl warr+ldist+4, {400
sboot djn.f warr+sdist+6, {500
step equ 6141 ; 4873
hop equ 13 ; 6
time equ 1531 ; 1621
spl #0, 0+6
spl #0, 0
stone mov stone+bdist-2,>hit+time*step-hop
hit mov stone+bdist-2,@stone
sub #step, @hit
djn.f stone, <3793 ; -1488
sbomb dat >1, >hop
istep equ 2667
imp mov.i #3, istep
launch spl #0, 0+4
sub.f #-istep, iptr
iptr djn.f launch+idist-istep*4, <4265 ; 2896
for 50
dat 0,0
rof
qfac equ 3067 ; 1533 ; 1949 ; 5733
qdec equ 4404 ; 2198 ; 2550 ; 4398
qa equ (qfac*(qtab0-1-qptr)+1)
qb equ (qfac*(qtab0-qptr)+1)
qc equ (qfac*(qtab1-1-qptr)+1)
qd equ (qfac*(qtab1-qptr)+1)
qe equ (qfac*(qtab1+1-qptr)+1)
qf equ (qfac*(qtab2-qptr)+1)
qtime equ 21 ; 18
qstep equ 7 ; -7
qgap equ -80 ; 87
qdecode mul.b *q1, qptr
q0 sne <qtab0, @qptr
q1 add.b qtab1, qptr
q2 mov qtab2, @qptr
qptr mov qtab2, *qdec
add #qstep, qptr
djn q2, #qtime
djn.f warr, <qc
qtab1 dat 4000, qd
dat 4000, qe
qscan sne qptr+qdec*qe, qptr+qdec*qe+qe
seq <qtab1+1, qptr+qdec*(qe-1)+qe-1
jmp qdecode, }q1
sne qptr+qdec*qb, qptr+qdec*qb+qd
seq <qtab0, qptr+qdec*(qb-1)+qd
jmp qdecode, {qdecode
sne qptr+qdec*qa, qptr+qdec*qa+qd
seq <qtab0-1, qptr+qdec*(qa-1)+qd
djn.a qdecode, {qdecode
sne qptr+qdec*qf, qptr+qdec*qf+qd
seq <qtab2, qptr+qdec*(qf-1)+qd
jmp qdecode, }qdecode
sne qptr+qdec*qc, qptr+qdec*qc+qc
seq <qtab1-1, qptr+qdec*(qc-1)+qc-1
jmp qdecode, {q1
sne qptr+qdec*qd, qptr+qdec*qd+qd
seq <qtab1, qptr+qdec*(qd-1)+qd-1
djn.f qdecode, <qa
qtab0 djn.f warr, <qb
qtab2 dat qgap, qf
end
--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)