From news-rocq.inria.fr!univ-lyon1.fr!in2p3.fr!oleane!hole.news.pipex.net!pipex!tube.news.pipex.net!pipex!lade.news.pipex.net!pipex!tank.news.pipex.net!pipex!newsfeed.internetmci.com!newsxfer2.itd.umich.edu!news.itd.umich.edu!stimpy.us.itd.umich.edu!not Thu May 9 18:39:42 1996 Article: 5061 of rec.games.corewar Path: news-rocq.inria.fr!univ-lyon1.fr!in2p3.fr!oleane!hole.news.pipex.net!pipex!tube.news.pipex.net!pipex!lade.news.pipex.net!pipex!tank.news.pipex.net!pipex!newsfeed.internetmci.com!newsxfer2.itd.umich.edu!news.itd.umich.edu!stimpy.us.itd.umich.edu!not-for-mail From: afabbro@stimpy.us.itd.umich.edu (Andrew Philip Fabbro) Newsgroups: rec.games.corewar Subject: Bloodhound Date: 9 May 1996 15:40:32 GMT Organization: University of Michigan Lines: 53 Message-ID: <4mt3lg$hq8@lastactionhero.rs.itd.umich.edu> Reply-To: afabbro@umich.edu NNTP-Posting-Host: stimpy.us.itd.umich.edu X-No-Archive: Yes X-Newsreader: TIN [UNIX 1.3 950824BETA PL0] There's no particular reason for posting this, save that I wouldn't mind some suggestions on how to shorten the bombing run (or anything else, for that matter). It bombs very quickly when it bombs, but it makes the warrior rather large. The main idea is to lay a small amount of fat carpets and then go to an early, strong (well, SPL/DAT) core-clear. Bloodhound will continue to bomb an enemy as long as it finds code - if it finds location 6 of a 12-line warrior, it will bomb 6 through 12, instead of just the locations it's found (in other words, it doesn't reset its scanning pointers after it's bombed). Bloodhound is currently 9th on the beginner's hill, having peaked at 5th. ;redcode-94b ;name Bloodhound ;author Andrew Fabbro ;assert CORESIZE==8000 ;strategy CMP scanner, stunning munitions, SPL/DAT coreclear ;strategy Finishes off prey it finds before continuing the hunt. gate EQU radar-1 bombduration EQU 130 bomblength EQU 4 ORG scan radar DAT #2667, #5334 loop ADD step, radar scan SEQ.F *radar, @radar avoid SLT.I check, radar meter JMP loop, #bombduration bombrun MOV bomb1, }radar MOV bomb1, >radar MOV bomb2, }radar MOV bomb2, >radar DJN scan, meter ; pointer is moved, skip ADD cptr SPL.B #4, #5 ; core-clear cloop MOV.I *cptr, >cptr DJN -1,