1;redcode-94nop verbose 2;author Lukasz Grabun 3;name Vanquisher II 4;strategy I name it so for Christoph's sake 5;strategy q^4 -> suicidial stone + two independent dclears 6;strategy slightly different from published version 7;assert 1 8 9 org qGo 10 11bOff equ 19 12bDist equ 15 13bStep equ 159 14bAway equ 4000 15 16cOff equ -15 17cGate equ (cTop-4) 18cAway equ (bAway+cOff) 19bSpl equ (cOff+bMov) 20 21dOff equ cOff-4301 22dAway equ (bAway+dOff) 23 24bBoot mov bIncen , bOff+bAway-4-CURLINE 25 mov bSpare , bAway-CURLINE 26bSrc spl 2 , bStart+5 27bDest spl 2 , bAway-CURLINE 28cSrc spl 1 , cStart+4 29 mov <bSrc , <bDest 30cBoot mov <cSrc , <cDest 31 mov <dSrc , <dDest 32 djn >bDest , #5 33cDest jmp bAway-CURLINE-4 , cAway-CURLINE 34 35bStart add #bStep , bPtr 36bMov mov bOff , @bPtr 37bPtr mov >bEvac , @2-bDist 38 jmz.b bStart , <bEvac 39bEvac jmz.b bSpl , bSpl 40;only difference is here 41bSpare jmz.b dOff-5 , dOff-5 42 43cTop spl 1 , #-15 44cStart spl #-bDist+1 , #0 45 mov cBmb , >cGate 46 djn.f -1 , >cGate 47cBmb dat >5335 , 2-cGate 48for 5 49 dat 0 , 0 50rof 51bIncen mov bDist , }bDist 52for 31 53 dat 0 , 0 54rof 55qf equ qKil 56qs equ 200 57qd equ 4000 58qi equ 7 59qr equ 8 60 61qBmb dat {qi*qr-10 , {1 62qGo seq qd+qf+qs , qf+qs ; 1 63 jmp qSki , {qd+qf+qs+qi+2 64 sne qd+qf+5*qs , qf+5*qs ; B+1 65 seq qf+4*qs , {qTab ; B 66 jmp qFas , }qTab 67 sne qd+qf+8*qs , qf+8*qs ; A 68 seq qf+7*qs , {qTab-1 ; A-1 69 jmp qFas , {qFas 70 sne qd+qf+10*qs , qf+10*qs ; C 71 seq qf+9*qs , {qTab+1 ; C-1 72 jmp qFas , }qFas 73 seq qd+qf+2*qs , qf+2*qs ; B-2 74 jmp qFas , {qTab 75 seq qd+qf+6*qs , qf+6*qs ; A-2 76 djn.a qFas , {qFas 77 seq qd+qf+3*qs , qf+3*qs ; B-1 78 jmp qFas , {qd+qf+3*qs+qi+2 79 sne qd+qf+14*qs , qf+14*qs ; E+1 80 seq qf+13*qs , <qTab ; E 81 jmp qSlo , >qTab 82 sne qd+qf+17*qs , qf+17*qs ; D 83 seq qf+16*qs , <qTab-1 ; D-1 84 jmp qSlo , {qSlo 85 seq qd+qf+11*qs , qf+11*qs ; E-2 86 jmp qSlo , <qTab 87 seq qd+qf+15*qs , qf+15*qs ; D-2 88 djn.b qSlo , {qSlo 89 sne qd+qf+12*qs , qf+12*qs ; E-1 90 jmz bBoot , qd+qf+12*qs-qi ; Free Scan ;-) 91qSlo mov.ba qTab , qTab 92qFas mul.ab qTab , qKil 93qSki sne qBmb-1 , @qKil 94 add #qd , qKil 95qLoo mov.i qBmb , @qKil 96qKil mov.i qBmb , *qs 97 sub.ab #qi , qKil 98 djn qLoo , #qr 99dDest jmp bBoot , dAway-CURLINE 100 dat 5408 , 7217 ; A*qs = 8*qs ,D*qs = 17*qs 101qTab dat 4804 , 6613 ; B*qs = 4*qs ,E*qs = 13*qs 102dSrc dat 5810 , cStart+5 ; C*qs = 10*qs ,F unused 103 104