;redcode-94 ;name Diamonds and Rust v2 ;author Christian Schmidt ;strategy switching stone, scanner, d-clear and ssd-clear ;assert 1 ;++++++++++++++++++++++++++++++++++++++++++++ ;+ d^2-clear + ;++++++++++++++++++++++++++++++++++++++++++++ ;24 instr gate equ (clear-5) bDist equ 1800 dBoot mov cIns, cIns+bDist-2 mov a, a+bDist mov b, b+bDist i for 4 mov clear+i-1, clear+i-1+bDist mov clear2+i-1, clear2+i-1+bDist+3 rof spl clear+bDist, {0 jmp clear2+bDist,{0 cIns spl #0, $18 a dat <-2666, <2667 b dat <-2666, <2667 clear spl #0, gate mov b, >gate djn.f -1, {gate clear2 spl #0, gate-3 mov b-3, >gate-3 djn.f -1, {gate-3 ;++++++++++++++++++++++++++++++++++++++++++++ ;+ spl/spl/dat-clear + ;++++++++++++++++++++++++++++++++++++++++++++ ;13 instr sBptr equ 1850 sBoot mov sPtr, sPtr+sBptr mov sBomb2, sBomb2+sBptr mov sBomb1, sBomb1+sBptr mov sLoop, sLoop+sBptr mov sNext, sNext+sBptr mov sBack, sBack+sBptr jmp sBomb1+sBptr,{0 sPtr spl {200, >4200 sBomb2 dat {10, >4010 sBomb1 spl #20, <-100 sLoop mov sBomb1, >sPtr sNext mov sBomb1, }sPtr sBack djn.a sLoop, hPtr, >hPtr jmn.f hKill, >hPtr hAd add #hStep+1, @hMptr hScan jmz.f hAd, -1, >1 cBoot mov cBomb, cSp+cBptr+198 mov cSp, cSp+cBptr mov cSp+1, cSp+cBptr+1 mov cSp+2, cSp+cBptr+2 mov cSp+3, cSp+cBptr+3 jmp cSp+cBptr, {0 cSp spl #0, <-1151+3 mov 197, cAd-(197*3500) cAd add.ab {0, }0 djn.f -2, <-1151 end pThink