From news-rocq.inria.fr!univ-lyon1.fr!howland.erols.net!www.nntp.primenet.com!nntp.primenet.com!dispatch.news.demon.net!demon!kendalls.demon.co.uk!pak21 Tue Dec 17 11:46:31 1996 Article: 6825 of rec.games.corewar Path: news-rocq.inria.fr!univ-lyon1.fr!howland.erols.net!www.nntp.primenet.com!nntp.primenet.com!dispatch.news.demon.net!demon!kendalls.demon.co.uk!pak21 From: Philip Kendall Newsgroups: rec.games.corewar Subject: Stone One Date: Mon, 16 Dec 1996 18:38:08 +0000 Organization: Private Lines: 146 Distribution: world Message-ID: NNTP-Posting-Host: kendalls.demon.co.uk X-NNTP-Posting-Host: kendalls.demon.co.uk MIME-Version: 1.0 X-Newsreader: Turnpike Version 3.01 Stone One, as recently seen on the '94 hill as high as 8th place and as low as ummm... 26th place :-(. The qscan is nicked direct from Probe (as usual), the continuous imp launcher is nothing special but does use 11- pt imps (trying to avoid spiral clears and anti-3-pt imp bombs) whilst the stone is (I think) original - it starts off as a normal 33%c bomb, 33%c decrement bomber with a djn stream but then modifies to a sort-of core clear (it doesn't actually clear core, but transposes addresses in a linear fashion); whilst in the clear, it maintains its high number of processes so the imps don't run away, and doesn't suicide within 80000 cycles. However, it loses far too much to stay on the hill for long. Any comments or the like always appreciated. Phil -- Philip Kendall (pak21@cam.ac.uk pak21@kendalls.demon.co.uk) ;redcode-94 ;name Stone One ;author Philip Kendall ;strategy Stone/imp ;assert CORESIZE==8000 qb equ (qscan+400) qs equ 200 qd equ 100 gap equ 15 rep equ 6 empty equ (first-1) step equ 3044 stream equ (inc-31) first spl.a #0,6 inc spl.a #step,>-step stone mov.i <(step-2),(1-step) add.f inc,stone djn.f stone,-1,}-2680 istep equ 5091 spiral spl.a #0,>prime prime mov.i imp,imp add.a #(istep+1),jumper jumper jmp.a (imp-istep-1),}-1000 imp mov.i #istep,*0 dat 10*qs, 2*qs ; can get 21 values from this table table dat 4*qs, 1*qs ; and can also use the initial value dat 23*qs, 3*qs ; of fnd qbomb jmp -200,gap qinc dat gap,-gap tab add.a table,table slow add.ab @tab,fnd fast add.b *tab,@slow which sne.i empty,@fnd add.ab #qd,fnd mov.i qbomb,@fnd fnd mov.i -gap/2,@qb add.ba fnd,fnd mov.i qbomb,*fnd add.f qinc,fnd mov.i qbomb,@fnd djn.b -3,#rep jmp boot,}-300 qscan seq.i qb+qs*0,qb+qs*0+qd jmp which,}qs*13 ; qinc+gap seq.i qb+qs*1,qb+qs*1+qd jmp fast,}qb+qs*1+qd/2 seq.i qb+qs*2,qb+qs*2+qd jmp fast,{tab seq.i qb+qs*3,qb+qs*3+qd jmp fast,}tab seq.i qb+qs*13,qb+qs*13+qd jmp fast,{fast seq.i qb+qs*4,qb+qs*4+qd jmp >fast,}qb+qs*4+qd/2 seq.i qb+qs*5,qb+qs*5+qd jmp slow,}qb+qs*5+qd/2 seq.i qb+qs*6,qb+qs*6+qd jmp slow,{tab seq.i qb+qs*7,qb+qs*7+qd jmp slow,}tab seq.i qb+qs*10,qb+qs*10+qd jmp >fast,fast,>tab seq.i qb+qs*24,qb+qs*24+qd jmp slow,>tab seq.i qb+qs*8,qb+qs*8+qd jmp tab seq.i qb+qs*28,qb+qs*28+qd jmp tab,>tab seq.i qb+qs*30,qb+qs*30+qd jmp tab,}tab bdist1 equ -113 bdist2 equ 123 boot i for 5 mov.i (first+i-1),>bptr1 mov.i (spiral+i-1),>bptr2 rof mov.i last,>bptr1 bptr2 spl.a (spiral+bdist2),(spiral+bdist2) mul.f bptr2,bptr2 bptr1 spl.a (first+bdist1),(first+bdist1) mul.f bptr1,bptr1 dat.f 1,1 spl.a #1,1 spl.b #1,1 spl.ab #1,1 spl.ba #1,1 spl.f #1,1 end qscan