From iltzu@sci.fi Fri Oct 25 18:16:37 1996 Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by tobago.inria.fr (8.6.10/8.6.6) with ESMTP id SAA02009 for ; Fri, 25 Oct 1996 18:16:36 +0200 Received: from id4.sci.fi (id4.sci.fi [195.74.0.10]) by nez-perce.inria.fr (8.7.6/8.7.1) with SMTP id SAA07422 for ; Fri, 25 Oct 1996 18:11:39 +0200 (MET DST) Received: from sci.fi (root@borg [194.215.80.5]) by id4.sci.fi (8.6.12/8.6.11) with ESMTP id TAA17070 for ; Fri, 25 Oct 1996 19:11:57 +0300 Received: from sci.fi (CCXXXVI.hdyn.sci.fi [194.215.83.236]) by sci.fi (8.6.12/8.6.4) with SMTP id SAA00624 for ; Fri, 25 Oct 1996 18:11:21 +0200 Message-Id: <25199634.Amiga@sci.fi> Reply-To: iltzu@sci.fi From: iltzu@sci.fi (Ilmari Karonen) Date: Oct 25 1996 07:11:34 PM To: Damien.Doligez@inria.fr Subject: Enough is enough 0.2 X-Mailer: Air Mail V2.0 (Unregistered) -- Amiga Mailer by Danny Y. Wong Status: R Here's another warrior for the collection: Enough is enough 0.2. It was the first of my warriors to actually make it to the '94 hill, if only for a few challences. It's currently near the top of the beginner hill, beaten only by Justin Kao's Dust 0.7. This warrior is very simple, I just took the qscan from Probe and added it to one of my old warriors, Cannon Fodder. It is a very aggressive paper, aggressive enough to actually score wins even against other papers. I think it turned out quite well, but it also made me hate paper optimisation. =) About the name: Well, every single one of my warriors got beaten by qscans, so I decided to give up and use one myself. I still get beaten by qscans, but now I too beat non-qscans. :( ;redcode-94 ;name Enough is enough! ;version 0.2 ;kill Enough ;author Ilmari Karonen ;strategy If you can't beat them, join them. :( There are way too many ;strategy Q^2 scans around already, but.. ;strategy QScan -> Paper ;history 0.1 - works. ;history 0.2 - added some boot code. ;date October 13, 1996 ;planar quick, scan, paper, boot ;assert CORESIZE == 8000 org start step1 equ -1718 step2 equ 2524 step3 equ 2841 hit1 equ (bomb1+4024) hit2 equ (2667) hit3 equ (-2666) hit4 equ (bomb2+1) hit5 equ (-501) away equ 2222 QB equ (start+400) QS equ 200 QD equ 100 COUNT equ 6 GAP equ 15 REP equ 6 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 datz,@fnd add.ab #QD,fnd mov.i qbomb,@fnd fnd: mov.i -GAP/2,@QB add.ba fnd,fnd qloop: mov.i qbomb,*fnd add.f qinc,fnd mov.i qbomb,@fnd djn.b qloop,#REP jmp boot,}-300 start: 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*17,QB+QS*17+QD jmp slow,{fast 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 ; *** Cannon Fodder 0.1 boot spl 1, {500 ; \. spl 1, {1500 ; -\ create 16 spl 1, {2000 ; -/ inline processes spl 1, {2500 ; / mov.i }split1, >pois pois jmp away, away split1 spl @0, split1 split2 spl @0, split2 split3 spl @0, split3 mov.i #1, }hit2 mov.i bomb2, }hit3 foo1 mov.i {hit4, 1, }1 datz z for (MAXLENGTH-CURLINE) dat 0, 0 rof end -- Ilmari Karonen