pbt@waknuk:~/corewar/bench/94nop$ rtst ../../release/KandiasKan2.red jun03 400 Y
Kandias Kan vs Behemot : 245/ 63/ 92 206
Kandias Kan vs Return of Vanqui: 211/ 74/115 187
Kandias Kan vs Son of Vain : 50/ 43/307 114
Kandias Kan vs Thunderstrike : 56/ 27/317 121
Kandias Kan vs Pixie : 53/ 20/327 121
Kandias Kan vs Jaguar : 55/ 17/328 123
Kandias Kan vs Candy II : 46/ 30/324 115
Kandias Kan vs Quicksilver : 96/ 24/280 142
Kandias Kan vs Digitalis 2002 : 51/ 28/321 118
Kandias Kan vs G2 : 97/233/ 70 90
Kandias Kan vs Willow : 185/162/ 53 152
Kandias Kan vs Recon 2 : 111/245/ 44 94
Kandias Kan vs pre75-z47a : 202/119/ 79 171
Kandias Kan vs Silver Talon 1.2: 157/135/108 144
Kandias Kan vs nPaper II : 37/ 12/351 115
Kandias Kan vs Revenge of the P: 37/ 20/343 113
Kandias Kan vs Wipe Uncle : 35/ 17/348 113
Kandias Kan vs Dawn : 32/ 20/348 111
Kandias Kan vs Reepicheep : 49/ 25/326 118
Kandias Kan vs Numb : 75/ 30/295 130
Kandias Kan vs Velvet Glove : 50/ 19/331 120
Kandias Kan vs SilKing : 41/ 20/339 115
Kandias Kan vs myVamp5.4 : 193/120/ 87 166
Result for Kandias Kan using [jun03] over 400 = 130.71 file=KandiasKan2.red
;redcode-94nop
;name Kandias Kan
;author Philip Thorne
;strategy QS > Paper
;kill Kandias
;assert 1
;Takes 52 cycles for QS and to complete boot/launch.
;Takes 40 cycles not counting QS
for 1
;469 is 8000 -m 1 -cf 500
A EQU (469)
B EQU (3779)
C EQU (5781)
G EQU (-345)
rof
bBoot:
start: spl 1
spl 1
pap1: spl @0, {A
mov.i }pap1, >pap1
mov.i }pap1, >pap1
djn.f pap2+A+A, <G
pap2: spl @0, <B
mov.i }pap2, >pap2
mov.i {pap2, <pap3
pap3: djn.f @0, <C
;===
for 51+3
dat 0, 0
rof
dat 1, qA
qTab1: dat 1, qB
dat 0,0
dat 0,0
dat 0,0
dat 0,0
dat 0,0
qX equ 6612 ;*NOT* Optimised to miss paper
qA equ 3762
qB equ 2253
qC equ 1965
qD equ 456
qE equ 6947
qF equ 1199
qStep equ 7 ;Weighted towards liklihood
qTime equ 16 ;of hitting late in warrior
qOff equ 32 ;body due to QS's.
qBomb dat {qOff , qF
qGo sne qPtr+qX*qE , qPtr+qX*qE+qE
seq <qTab2+1 , qPtr+qX*(qE-1)+(qE-1)
jmp qDec , }qDec+2
sne qPtr+qX*qF , qPtr+qX*qF+qD
seq <qBomb , qPtr+qX*(qF-1)+qD
jmp qDec , }qDec
sne qPtr+qX*qA , qPtr+qX*qA+qD
seq <qTab1-1 , qPtr+qX*(qA-1)+qD
djn.a qDec , {qDec
sne qPtr+qX*qB , qPtr+qX*qB+qD
seq <qTab1 , qPtr+qX*(qB-1)+qD
djn.a qDec , *0
sne qPtr+qX*qC , qPtr+qX*qC+qC
seq <qTab2-1 , qPtr+qX*(qC-1)+(qC-1)
jmp qDec , {qDec+2
sne qPtr+qX*qD , qPtr+qX*qD+qD
jmz.f bBoot , <qTab2
qDec mul.b *2, qPtr
qSkip sne <qTab1, @qPtr
add.b qTab2, qPtr
qLoop mov qBomb, @qPtr
qPtr mov qBomb, }qX
sub #qStep, @qSkip
djn qLoop, #qTime
djn.f bBoot, #0
spl 1, qC
qTab2: spl 1, qD
spl 1, qE
;--
end qGo