From news-rocq.inria.fr!jussieu.fr!oleane!newsxfer3.itd.umich.edu!cpk-news-hub1.bbnplanet.com!news.bbnplanet.com!newshub.northeast.verio.net!nntp.upenn.edu!msunews!mooredav Tue Apr 28 13:15:38 1998 Article: 8926 of rec.games.corewar Path: news-rocq.inria.fr!jussieu.fr!oleane!newsxfer3.itd.umich.edu!cpk-news-hub1.bbnplanet.com!news.bbnplanet.com!newshub.northeast.verio.net!nntp.upenn.edu!msunews!mooredav From: mooredav@cps.msu.edu (David Matthew Moore) Newsgroups: rec.games.corewar Subject: Fire and Ice Date: 27 Apr 1998 20:47:33 GMT Organization: Michigan State University Lines: 106 Message-ID: <6i2qt5$hht$1@msunews.cl.msu.edu> NNTP-Posting-Host: chagulak.cps.msu.edu X-Newsreader: TIN [version 1.2 PL2] I can't deny it. Fire and Ice was inspired by Electric Head. It was the first warrior that I really studied when I started writing 94 draft code. All of those neat little gadgets. So I began to write my own components: scanners, papers, bombers, etc. Each component had to be small and fast-booting. Anton's miniaturization of He Scans Alone was pretty cool so I worked hard to create my own tiny scanner. I finally found a decent 9-line scanner which looked a bit like Blur and even had comparable results. I wasn't making any progress with other components so I just settled for two: the mini Blur and a small but optimized paper. I'm suprised by the results. I recycled that scanner for several rounds of the Redcoder's tournament. Well, I'm sure those entries will be published soon, so I can no longer keep it a secret. Finally, here's the code: ;redcode-94 ;name Fire and Ice ;author David Moore ;strategy scanner & paper ;assert 1 ;;;;;;;;;;;;;;; ; ; ; paper ; ; ; ;;;;;;;;;;;;;;; paper spl 1, >-400 mov.i 1, #0 spl 1, {-300 mov <1, {1 spl 2319, 7 spl @0, <4195 mov }-1, >-1 mov 3, >-2 mov {-3, {1 jmz.a 6234, *0 dat 1, 1 for 25 dat 0,0 rof ;;;;;;;;;;;;;;; ; ; ; brain ; ; ; ;;;;;;;;;;;;;;; switch ldp.ba what, what mod.a #3, what ldp.ab #0, switch add.a @switch, what stp.ab *what, what what jmp @0, scan dat 1, scan dat 0, scan dat 1, scan dat 1, scan dat 2, paper dat 0, scan dat 1, scan for 32 dat 0,0 rof ;;;;;;;;;;;;;;; ; ; ; mini Blur ; ; ; ;;;;;;;;;;;;;;; dist equ 2942 ;boot distance step equ 2891 ;scan pattern; -723 might be better time equ 2210 ;number of SPLs copied scan mov top add #step, #-step*time start jmz.f -2, @-1 jmn top, *top sp spl 0, 0 mov 2, >top-3 djn.f -1, >top-3 dat 0, 5-top end switch