; ===Zoomer!!! by Chris King ("PiGuy") ctk314@yahoo.com ; O O ; I've learned a few things throughout my robot-building career: ; 1. Move fast. Very fast. ; 2. If #1 is not possible, then use great armor. Otherwise, use none. ; 3. If you use a good weapon, there is no need for tables. ; 4. When life brings you the chance, fire away! ; 5. A "zoom in" search method is *always* better than a twirly one. ; 6. Shields are *worthless* for one-on-one robots. ; 7. A 3K robot generally performs better than a 10K robot. ; 8. No robot is dumber than Scooter, as Zoomer proves. (No offense, FiFi.) ; Zoomer is theoretically the fastest AT-robot known to mankind - in fact, ; he goes 259.35% the speed of a normal robot! ; Most robots use a scanner range of 3, so that's what I gave him, so as ; not to put him at a disadvantage. ; Most robots also run into Scooter's mines. Zoomer doesn't. ; But if he did, he would only need to ram into a wall a few times and ; he would lose. ; The only robots that can *really* beat Zoomer are robots with supoib ; tables (like Burger), robots that are nearly as fast as him (like my ; very own Stalker), robots that tend to drop mines near the edges ; (like Zipper3), and robots that overheat themselves when you're ; chasing them head-on (various examples). ; Zoomer's next trick to fool table-building robots will to be to slow ; down or back up when he's been hit, and then go forward again. I don't ; know if this will work or not. #config scanner=3 #config weapon=3 #config armor=0 #config engine=5 #config heatsinks=1 #config shield=0 #config mines=0 #def scanarc #def scanarcs #def dir #def sdir #def stime #msg Zoooooooooooom!!!!! opo 11,100 opo 22,10 mov ax,1 int 4 mov ax,-20 sub ax,@1 opo 14,ax opo 11,100 ;opo 19,314 ;change transponder ID to 314 mov scanarc,64 ;set scan-arc to 64 opo 17,scanarc mov scanarcs,5 mov sdir,40 mov ax,1 ;keepshift on int 3 opo 22,10 !loop cmp stime,0 jne !dsq opo 14,sdir ;squiggle! neg sdir mov stime,1 jeq !chkstk !dsq dec stime !chkstk cmp @8,0 ;check if i'm stuck jeq !chkwall opo 11,-75 int 13 ipo 9,ax cmp ax,20 jgr !moveaway opo 13,0 opo 15 opo 15 opo 15 opo 15 opo 15 del 20 !fwd opo 11,100 !chkwall int 2 jeq dir jne dir :0 cmp fx,200 jgr !chkscan jbe !turn :64 cmp ex,800 jls !chkscan jae !turn :128 cmp fx,800 jls !chkscan jae !turn :192 cmp ex,200 jgr !chkscan mov dir,0 jbe !turn2 !turn add dir,64 !turn2 opo 14,64 !chkscan ipo 7,bx ;check scanner cmp bx,1500 ;if not in range, then increase range jgr !bigarc ;cmp @5,314 ;if a friend ;jeq !bigarc ;then ignore !loop3 mov ax,@3 ;get accuracy cmp scanarcs,0 ;adjust for scanner size jeq !track sal ax,scanarcs dec scanarcs ;shrink scanner size shr scanarc,1 opo 17,scanarc !track opo 12,ax ;follow enemy ; cmp bx,100 ; jbe !firex3 ipo 2,ax ;check heat shl ax,scanarcs cmp ax,80 ;if cool, then fire jae !loop ;mov ax,1 ;int 4 opo 15,0 ;fire! ;mov ax,0 ;int 4 jls !loop ;!firex3 ; ipo 2,ax ;check heat ; cmp ax,120 ;if cool, then fire ; jae !loop ; opo 15 ; opo 15 ; opo 15 ; opo 22,10 ; jbe !loop !bigarc cmp scanarcs,5 jeq !aimstr inc scanarcs shl scanarc,1 opo 17,scanarc jne !loop !aimstr opo 12,128 jeq !loop !moveaway opo 14,sdir ;trick the squiggle routine neg sdir mov stime,5 ;to get me away from the wall jgr !fwd