;Here is my entry.... ; ;Robot: URMINE ;Version: 2.3 ;Make publically available ;Copyright 1997 Jay McClure ;Dalton, GA (Formaly Tuscaloosa, AL) ;jay@ocsonline.com ; ;Style: Find, Track, Follow, and Shoot ; ;Complete 2/24/97 ;Define vars #def current_heat ;Current heat #def heat_limit ;Fire limit #def stop_del ;Stop delay so we don't hit the wall #def turn_del ;Turn delay so we turn before we go #def lost_target ;If we lose target, spread angle and inc this. #def fire_correct ;Advanced predition var #def scan_width ;Half of scan width #def rotate_width ;Deg to rotate during search #def aim_correct ;Help aim gun #def target_dist ;Distance to target #def def_scan_width ;Default scan width #def rand_num ;Random Number ;init vars ;Set heat limit mov heat_limit,275 ;Found no targets yet mov LOST_TARGET,0 ;Set initial scan_width mov def_scan_width,5 mov scan_width,def_scan_width ;Set rotate_width mov rotate_width,scan_width add rotate_width,scan_width :500 ;Set Speed opo 11,75 ;Turn opo 14,rotate_width ;Spread out scan_width mov scan_width,def_scan_width opo 17,scan_width ;Line up turrant opo 12,0 ;scan and fire routines :775 ;Reset these mov aim_correct,0 mov LOST_TARGET,-1 ;scan and maybe fire :790 ;Get dist to target if any ipo 7,target_dist cmp target_dist,1500 jls 795 ;If we didn't find it ;See if we just had it ;in sights. cmp LOST_TARGET,0 jls 500 ;How long ago did we see it? cmp LOST_TARGET,2 jle 793 ;Reverse scan direction and give up ipo 10,rand_num cmp rand_num,0 jls 500 neg rotate_width jmp 500 :793 ;If we got here, we saw it ;just a millisecond ago ;Widen scan to help find it add scan_width,3 opo 17,scan_width jmp 800 :795 mov LOST_TARGET,0 :800 inc LOST_TARGET ;Get Accuracy offset ipo 8,aim_correct ;Check to see how good our aim is cmp scan_width,5 jgr 810 ;Check our heat before we fire ;ipo 2,current_heat ;cmp current_heat,heat_limit ;jgr 810 ;Turn on overburn opo 18,1 ;Fire with correction opo 15,aim_correct ;Turn off overburn opo 18,0 ;Gas opo 11,99 ;Move body and cut down scan angle :810 ;Move body by Accuracy offset opo 14,aim_correct ;See if we can cut down on the scan arc cmp scan_width,1 jls 820 ;If we got here, we will cut down the scan width :815 ;Cut down arc dec scan_width opo 17,scan_width ;Scan again now :820 jmp 790 ;************************************* ;************ DEAD ****************** ;************************************* ;Get fire correction :820 cmp aim_correct,0 jeq 790 jls 830 inc fire_correct jmp 790 :830 dec fire_correct jmp 790 :835 mov fire_correct,0 jmp 790