; this robot uses a binary search scan, motion detection & integer math #msg resist. is futile! #mef muie #config scanner=3 ; range 750 meters #config weapon=3 ; weapon at 80% #config armor=5 ; damage at 100% #config engine=0 ; speed at 100% #config heatsinks=1 ; heatsink at 112% #config mines=0 ; two mines #config shield=0 ; maximal shield #time 5 #def r #def time #def range mov ax, 1 mov bx, 0 int i_keepshift call !newdir mov range, 64 out p_arc, range !start int 11 cmp dx, 0 jne !next call !newdir !next call !Scan mov bx, @3 sar bx, 1 out p_trotate, bx !main1 dec time cmp time, 0 jgr !L1 call !newdir !L1 je !start jne !start !newdir in p_random, r and r, 255 out p_steering, r out p_throttle, 100 mov time, 200 ret !scan in p_scan, ax cmp ax, 1500 jls !scan1 cmp range, 64 jls !scan2 out p_trotate, 128 ret !scan2 add range, range out p_arc, range je !scan jne !scan !scan1 cmp range, 2 jgr !scan3 in p_heat, ax cmp ax, 250 jgr !scan5 out p_fire, bx out p_fire, bx out p_fire, bx out p_fire, bx !scan5 ret !scan3 mov bx, range cmp @3, 0 jgr !greater jne !smaller xor bx, bx cmp range, 4 jls !continue shr range, 1 je !continue jne !continue !smaller neg bx inc bx cmp @3, -1 jne !continue sar bx, 1 !greater cmp @3, 1 jne !continue sar bx, 1 !continue out p_trotate, bx shr range, 1 out p_arc, range je !scan jne !scan