;redcode-94 ;name Evidence of Inability ;author Jens Gutzeit ;strategy qscan -> paper ;strategy Entry for the Qualification Round of the ;strategy Corewar Single Elimination Championship 2005 ;assert (CORESIZE == 3800) && (MAXCYCLES == 38000) ;assert (MAXPROCESSES == 3800) ;assert (MAXLENGTH == 38) && (MINDISTANCE == 38) ORG qGo ;; ;; boot ;; pAway1 EQU 1600 pAway2 EQU 500 decoy EQU 1400 ; not a real decoy boot spl 1, < 1100 spl 1, < 1200 spl 1, < 1300 mov.i { silk1, { pBoot1 ; create first copy pBoot1 spl pAway1, < decoy ; boot first copy mov.i } pBoot1, > pBoot2 ; make copy of copy pBoot2 jmp pAway2, pAway2 ; boot second copy ;; ;; paper (similar to npaper II) ;; pStep1 EQU 266 pStep2 EQU 1273 pStep3 EQU 3268 x EQU 2004 y EQU 2844 silk1 spl @ silk1 + 8, < pStep1 mov.i } silk1, > silk1 silk2 spl @ silk2, < pStep2 mov.i } silk2, > silk2 mov.i # 1, { 1 mov.i > x, < y mov.i { silk2, < silk3 silk3 jmz.a @ silk3, pStep3 empty EQU (boot-1) dat.f empty, qa1 qTab1 dat.f empty, qa2 ;; ;; modified q^4 ;; qTab3 EQU qBomb qm EQU 100 qM EQU 499 qHop EQU 200 qa1 EQU ((qTab1-1-found)*qM+1) qa2 EQU ((qTab1 -found)*qM+1) qc2 EQU ((qTab3 -found)*qM+1) qGo seq.i found+qm, found+qm+qHop jmp qSelect, < found+qm+2 ; q0 mutations sne.i found+qm*qc2, found+qm*qc2+qHop seq.i < qTab3, found+qm*(qc2-1)+qHop jmp q0, } q0 sne.i found+qm*qa1, found+qm*qa1+qHop seq.i < (qTab1-1), found+qm*(qa1-1)+qHop djn.a q0, { q0 sne.i found+qm*qa2, found+qm*qa2+qHop seq.i < qTab1, found+qm*(qa2-1)+qHop jmp q0, { q0 ;; FIXME jmp boot, < 900 ;; decoder q0 mul.b * q1, found qSelect sne { qTab1, @ found q1 add.ab # qHop, found ;; bombing engine VI qOffset EQU -34 qTimes EQU 10 ; number of bombs to throw qStep EQU -4 ; distance between bombs throw mov.i qTab3, @ found found mov.i qBomb, } qm sub # qStep, found djn throw, # qTimes jmp boot, < 1000 qBomb dat.f > qOffset, > qc2 END