From news-rocq.inria.fr!jussieu.fr!oleane!plug.news.pipex.net!pipex!tank.news.pipex.net!pipex!news.be.innet.net!INbe.net!news.nl.innet.net!INnl.net!hunter.premier.net!news-res.gsl.net!news.gsl.net!EU.net!usenet2.news.uk.psi.net!uknet!usenet1.news.uk.psi Fri Aug 9 11:13:31 1996 Article: 5752 of rec.games.corewar Path: news-rocq.inria.fr!jussieu.fr!oleane!plug.news.pipex.net!pipex!tank.news.pipex.net!pipex!news.be.innet.net!INbe.net!news.nl.innet.net!INnl.net!hunter.premier.net!news-res.gsl.net!news.gsl.net!EU.net!usenet2.news.uk.psi.net!uknet!usenet1.news.uk.psi.net!uknet!dispatch.news.demon.net!demon!kendalls.demon.co.uk!pak21 From: Philip Kendall Newsgroups: rec.games.corewar Subject: ;kill at Pizza Date: Thu, 8 Aug 1996 20:12:57 +0100 Organization: Private Lines: 80 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.00 beta 1 I recently had a few problems submitting this warrior to Pizza - I then changed it simply by deleting the ;kill Vampirism line and it was then accepted - is this because this counts as a 'blank' kill line, or is something more subtle at work? (Any comments on the warrior welcome as well, especially how to beat papers...) Phil -- Philip Kendall (pak21@cam.ac.uk pak21@kendalls.demon.co.uk) ;redcode-94b ;name Vampirism 1.2 ;author Philip Kendall ;strategy Scan with vamp bombs -> spl / repeated dat clear ;strategy 1.2: improved the bomb ;strategy : erased all boot pointers ;strategy : improved the djn-stream ;kill Vampirism ;assert CORESIZE==8000 SCAN1 equ (loop+3*STEP) SEP equ 12 STEP equ 42 STREAM equ (-400+loop) ; this was a bug in 1.1 CSTART equ (pit-ptr) GATE equ (loop-1) BOOT equ 2000 ; how far to boot main code FBOOT equ 2000 ; how much further to boot fang LENGTH equ (last-loop+1) ; how much code to boot loop add.f step,scan ; the scanner scan cmp.i SCAN1,SCAN1-SEP slt.a #(last-scan+SEP),scan djn.f loop,ptr ; spl/repeated dat coreclear mov.i *ptr,>ptr mov.i *ptr,>ptr djn.f clear,GATE ; first line acts as a trigger wash stp.ab #231,#1 spl.a pit,>wash spl.a pit,>GATE spl.a pit,>GATE last jmp.a pit,>GATE fang jmp.a (pit-FBOOT),0 start dummy for LENGTH ; boot most of code mov.i }bptr,>bptr rof add.ab #FBOOT,bptr ; boot the fang mov.i }bptr,>bptr go spl.a (scan+BOOT),<(GATE+BOOT); start the scanner going sub.f bptr,bptr ; erase the boot pointers sub.f go,go bptr dat.f loop,(loop+BOOT) ; and kill the boot process rubbish for (MAXLENGTH-CURLINE) ; fill up space dat.f {(rubbish+100),>((rubbish+100)*2) rof end start