;Robot's name : Spitfire ;Author : (c) Olger Oeselg ;Author's Country : Estonia ;Author's E-mail : olger_o@hotmail.com ;Date of completion : 23/April/2000 ;Make avail. for public : ONLY LOCKed version!! ;Class : Heavy Weight ;Tournament : Made for Heavy Weight tournaments and ; RUMBLE Battles. ;Version : 3.00 ;Comment : Born with a name! ;Code : ca. 215 lines. ;****************************************************************************** ;Targeting system : Average ;Firing system : Complex ;Moving system : Look's Average, but it is Complex ;Killing ability : good enough to beat some of the best AT-R's ;Surviving ability : Made to last long! ;****************************************************************************** ;Style: It moves quickly around the battlefield and scans ; middle-area for enemies to shoot at. ;****************************************************************************** ;[[[ DON'T EXPECT ANY PERFECT SOLUTIONS ]]] ;****************************************************************************** ;This code is long and complex, good idea, not so good accomplishment ;****************************************************************************** ; 0(fx) ; | ; | ;3(ex) ------- 1(ex) ; | ; | ; 2(fx) #config scanner=4 #config weapon=3 #config armor=0 #config engine=3 #config heatsinks=2 #MSG Spitfire! #def heading #def min #def max #def chktime1 #def chktime2 #def chktime3 #def scanrad #def beginarc #def op #def accur #def speed #def scansh mov min 180 mov max 820 mov chktime1 24 mov chktime2 10 mov chktime3 16 ;Changing this may cause workability problems mov scanrad 1000 mov beginarc 128 mov speed 100;the faster you make it, the smaller must be this nr. mov scansh 25;the faster it, the larger this neg chktime1 neg chktime2 neg chktime3 neg scansh mov op 0 mov ax 1 int 3 ipo 3 ax neg ax opo 14 ax mov heading 0 opo 17 6 !begin opo 11 100 jmp !cyclechk1 !extra int 2 opo 13 beginarc cmp heading 0 je !check0 cmp heading 1 je !check1 cmp heading 2 je !check2 cmp heading 3 je !check3 jmp !cyclechk2 !check0 cmp fx min jbe !turn jmp !cyclechk2 !check1 cmp ex max jae !turn jmp !cyclechk2 !check2 cmp fx max jae !turn jmp !cyclechk2 !check3 cmp ex min jbe !turn jmp !cyclechk2 !turn add heading 1 opo 14 64 cmp heading 3 ja !null jmp !cyclechk2 !null mov heading 0 jmp !cyclechk2 !cycle1 opo 11 100 add cx 15 ipo 7 bx cmp cx speed ja !cyclechk1 cmp bx scanrad jbe !c_fire1 jmp !scan1 !c_fire1 ipo 2 ax cmp ax 80 ja !cycle1 add cx 14 ipo 8 accur cmp bx 250 jbe !c_f1 cmp bx 500 jbe !cc_f1 ja !ccc_f1 jmp !cycle1 !c_f1 add cx 9 opo 15 @3 jmp !cycle1 !cc_f1 add cx 17 dec accur opo 15 accur opo 15 accur jmp !cycle1 !ccc_f1 add cx 34 sub accur 2 opo 15 accur dec accur opo 15 accur add accur 2 opo 15 accur inc accur opo 15 accur jmp !cycle1 !scan1 add cx 8 inc op 1 opo 12 scansh cmp op 7 jae !muut1 jmp !cycle1 !muut1 add cx 3 mov op 0 jmp !cycle1 !cycle2 opo 11 100 add cx 14 ipo 7 bx cmp cx speed ja !cyclechk1 cmp bx scanrad jbe !c_fire2 jmp !scan2 !c_fire2 add cx 6 ipo 2 ax cmp ax 80 ja !cycle2 add cx 16 opo 15 @3 mov dx @3 cmp bx 500 jae !cc_f2 !c_firr add cx 18 add dx 1 opo 15 dx sub dx 2 opo 15 dx jmp !cycle2 !cc_f2 add cx 19 sub dx 2 add dx 1 opo 15 dx sub dx 2 opo 15 dx jmp !cycle2 !scan2 add cx 8 inc op 1 opo 12 scansh cmp op 7 jae !muut2 jmp !cycle2 !muut2 add cx 3 mov op 0 jmp !cycle2 !cycle3 opo 11 100 add cx 13 ipo 7 bx cmp cx speed ja !cyclechk1 cmp bx scanrad jbe !c_fire3 jmp !scan3 !c_fire3 ipo 2 ax cmp ax 80 add cx 6 ja !cycle3 add cx 9 ipo 8 accur cmp bx 250 jbe !c_f3 cmp bx 500 jbe !cc_f3 ja !ccc_f3 jmp !cycle3 !c_f3 add cx 23 opo 15 @3 opo 15 @3 opo 15 @3 jmp !cycle3 !cc_f3 add cx 26 dec accur opo 15 accur add accur 2 opo 15 accur dec accur opo 15 accur jmp !cycle3 !ccc_f3 add cx 26 sub accur 2 opo 15 accur inc accur opo 15 accur inc accur opo 15 accur jmp !cycle3 !scan3 add cx 8 inc op 1 opo 12 scansh cmp op 7 jae !muut3 jmp !cycle3 !muut3 add cx 3 mov op 0 jmp !cycle3 !cyclechk1 mov op 0 jmp !extra !cyclechk2 mov cx 0 ipo 10 dx cmp dx -11000 jbe !cycle1 cmp dx 11000 jbe !cycle2 cmp dx 11000 ja !cycle3