From tuc Sun Dec 3 16:35:10 1995 Received: from star.arm.ac.uk. (star.arm.ac.uk [194.80.181.6]) by valhalla.stormking.com (8.6.12/8.6.12) with SMTP id QAA21777 for ; Sun, 3 Dec 1995 16:31:48 -0500 Received: from (arsun6.arm.ac.uk) by star.arm.ac.uk. (4.1/SMI-4.1-DNI) id AA14327; Sun, 3 Dec 95 21:33:32 GMT Received: by (5.x/SMI-SVR4) id AA05895; Sun, 3 Dec 1995 21:33:25 GMT Date: Sun, 3 Dec 1995 21:33:25 GMT From: spm@star.arm.ac.uk (Scott Manley) Message-Id: <9512032133.AA05895@> To: corewar-l@stormking.com Subject: Whoah.... X-Sun-Charset: US-ASCII I can't believe it!!!! My old version of Enlightenment got pushed of the hill so I fiddled around but due to lack of time all I really did was add a boot procedure to copy the code away from it's startup. But being the silly beginner I am I forgot to fix the scan so that it didn't bomb the old copy. Despite wasting time bombing a useless target it's doing better than the old copy? go figure that one out. Since they're old versions then I'm posting copies of Enlightenment I and II. These were some of my earliest programs which I created over the summer while I was learning redcode. I used a collection of warriors from an old ICWS tournament and basically aimed to get something inside the top 20. Basically I created a basic scanning engine and built various programs around them by adding Initial Q-scans, imps, imp gates , core clears etc. The original was called scanstun and this mutated into Deathwalker, Mutagen (now being supercharged byond my wildest dreams) and Enlightenment. Strangley enough the lowest scoring variety against my test opponents was the bes on the beginners hill. Both are really good examples of how not to write code, but Enlightenment IV is going to be special........ I hope The main difference in the Enlightenment series is the huge in-line bombing routine which probably cost most of it's wins against scanners but made it very effective when it found a target. ;redcode 94 ;name Enlightenment ;author Scott Manley ;strategy Scan -> Carpet Bomb bomb -> split to Imp gate / Multi pass forward ; travelling core clear ;assert CORESIZE==8000 inc EQU 20 carpet EQU (CORESIZE-MINDISTANCE)/inc adds DAT #inc , #inc begin SPL clear2 start SEQ.I *scan, @scan SPL stun, > -104 cont ADD.F adds , scan DJN start , count JMP clear3 , > -107 stun MOV scan , targ SUB.F adds , targ MOV sbomb , * targ sloop MOV sbomb2 , { targ MOV sbomb , > targ MOV sbomb , { targ MOV sbomb2 , > targ MOV sbomb2 , { targ MOV sbomb , > targ MOV sbomb , { targ MOV sbomb2 , > targ MOV sbomb2 , { targ MOV sbomb , > targ MOV sbomb , { targ MOV sbomb2 , > targ MOV sbomb2 , { targ MOV sbomb , > targ MOV sbomb , { targ MOV sbomb2 , > targ MOV sbomb2 , { targ MOV sbomb , > targ MOV sbomb , { targ MOV sbomb2 , > targ scan DAT MINDISTANCE-10 , MINDISTANCE-9 targ DAT 0,0 target1 DAT -100 , -123 target2 DAT 22 , -22 target3 DAT -1 , -21 target4 DAT -2 , -20 DAT 0 , 0 cbomb DAT 0 , 0 DAT 0 , 0 JMP 0 , } cont clear2 MOV.I sbomb , { target1 DJN clear2 , target1 clear3 MOV.I target2 , } target2 DJN clear3 , target2 clear1 MOV.I target4 , { target4 DJN clear1 , target4 clear4 MOV.I sbomb , { target3 DJN clear4 , target3 MOV 0,1 sbomb SPL 0 , 0 sbomb2 JMP -1 count DAT #carpet-1,#carpet-1 END start The only real change was the the modification of what happens after the clear. ;redcode 94 ;name Enlightenment II ;author Scott Manley ;strategy Scan -> Carpet Bomb bomb -> split to Imp gate / Multi pass forward ; travelling core clear ;assert CORESIZE==8000 inc EQU 20 carpet EQU (CORESIZE-MINDISTANCE)/inc adds DAT #inc , #inc begin SPL clear2 start SEQ.I *scan, @scan SPL stun, > -104 cont ADD.F adds , scan DJN start , count JMP igate , > -107 stun MOV scan , targ SUB.F adds , targ MOV sbomb , * targ sloop MOV sbomb2 , { targ MOV sbomb , > targ MOV sbomb , { targ MOV sbomb2 , > targ MOV sbomb2 , { targ MOV sbomb , > targ MOV sbomb , { targ MOV sbomb2 , > targ MOV sbomb2 , { targ MOV sbomb , > targ MOV sbomb , { targ MOV sbomb2 , > targ MOV sbomb2 , { targ MOV sbomb , > targ MOV sbomb , { targ MOV sbomb2 , > targ MOV sbomb2 , { targ MOV sbomb , > targ MOV sbomb , { targ MOV sbomb2 , > targ scan DAT MINDISTANCE-10 , MINDISTANCE-9 targ DAT 0,0 target1 DAT -100 , -123 target2 DAT 22 , -22 target3 DAT -1 , -21 target4 DAT -2 , -20 DAT 0 , 0 cbomb DAT 0 , 0 DAT 0 , 0 igate JMP 0 , > adds clear2 MOV.I sbomb , { target1 DJN clear2 , target1 clear3 MOV.I target2 , } target2 DJN clear3 , target2 clear1 MOV.I sbomb , { target4 DJN clear1 , target4 clear4 MOV.I cbomb , { target3 DJN clear4 , target3 sbomb SPL 0 , <-99 sbomb2 JMP -1 , < -100 count DAT #carpet-1,#carpet-1 END begin