;redcode-94 ;name DifferentialOperatorWS ;author Nenad Tomasev ;assert CORESIZE==8000 ;strategy stone/paper numproc equ 6 ps1 equ 1173 ps2 equ 4379 bs1 equ -1835 pbdist equ 932 sbdist equ 1568 sstep equ 6567 ini equ sstep+1 zero equ qbomb qtab3 equ qbomb qc2 equ ((1 + (qtab3-qptr)*qy) % CORESIZE) qb1 equ ((1 + (qtab2-1-qptr)*qy) % CORESIZE) qb2 equ ((1 + (qtab2-qptr)*qy) % CORESIZE) qb3 equ ((1 + (qtab2+1-qptr)*qy) % CORESIZE) qa1 equ ((1 + (qtab1-1-qptr)*qy) % CORESIZE) qa2 equ ((1 + (qtab1-qptr)*qy) % CORESIZE) qz equ 1687 qy equ 785 qoff equ -87 qstep equ -5 qtime equ 13 org qgo boot spl 1, 0 mov -1, 0 mov ps1 mov }p1, >p1 mov }p1, >p1 p2 spl ps2, {cpy mov }cpy, }p2 mov pbomb, >bs1 cpy mov p2+numproc, }p2 jmz.f p2, *cpy pbomb dat <2667, <5334 dat 0, 0 stone spl #2*sstep, >2*sstep mov.i sbomb, *shoot incr add.f stone, @-1 shoot mov.i ini, ini+sstep jmp -3, >-30 sbomb dat >1, }1 for 22 dat 0, 0 rof qbomb dat >qoff, >qc2 dat 0, #qb1 qtab2 dat 0, #qb2 dat 0, #qb3 for 12 dat 0, 0 rof dat zero - 1, qa1 qtab1 dat zero - 1, qa2 qgo sne qptr + qz*qc2, qptr + qz*qc2 + qb2 seq qptr, qptr + qz + (qb2-1) jmp q2,