1910 LOCATE 17,3,0: PRINT "MOVE- Move one space in the";
1920 LOCATE 18,9,0: PRINT "direction of current";
1930 LOCATE 19,9,0: PRINT "facing; execution is";
1940 LOCATE 20,9,0: PRINT "done last of all.";
1950 LOCATE 22,5,0: PRINT "Press Space Bar To Continue";
1960 KEY.PRESSED$=INKEY$
1970 IF KEY.PRESSED$<>" " THEN 1960
1980 BEEP
1990 LINE(8,8)-(263,183),0,BF
2000 LOCATE 3,3,0: PRINT "Each combot's program will be";
2010 LOCATE 4,3,0: PRINT "ten actions in length. These";
2020 LOCATE 5,3,0: PRINT "actions will be performed in";
2030 LOCATE 6,3,0: PRINT "the sequence you enter.";
2040 LOCATE 7,3,0: PRINT STRING$(30,95);
2050 FOR COUNTER=1 TO 10
2060 LOCATE 9,3,0
2070 IF COUNTER<10 THEN PRINT "Enter Action No. "+STR$(COUNTER)+":"; ELSE PRINT "Enter Action No."+STR$(COUNTER)+":";
2080 LOCATE 9,24,1,0,7
2090 KEY.PRESSED$=INKEY$
2100 IF LEN(ACTION$)>4 THEN 2760
2110 IF KEY.PRESSED$="" THEN 2090
2120 IF (ASC(KEY.PRESSED$)>64 AND ASC(KEY.PRESSED$)<91) OR (ASC(KEY.PRESSED$)>96 AND ASC(KEY.PRESSED$)<123) THEN ACTION$=ACTION$+KEY.PRESSED$ ELSE 2160
2130 LOCATE 9,(24+LEN(ACTION$)),1,0,7
2140 PRINT KEY.PRESSED$;
2150 GOTO 2090
2160 IF ASC(KEY.PRESSED$)=8 AND LEN(ACTION$)>0 THEN LOCATE 9,(24+LEN(ACTION$)),1,0,7: PRINT CHR$(32);: LOCATE 9,(24+LEN(ACTION$)),1,0,7: ACTION$=LEFT$(ACTION$,LEN(ACTION$)-1): BEEP: GOTO 2090 ELSE IF ASC(KEY.PRESSED$)=8 THEN BEEP: GOTO 2080
2170 IF ASC(KEY.PRESSED$)<>13 THEN 2090
2180 IF ACTION$<>"FIRE" AND ACTION$<>"TURN" AND ACTION$<>"MOVE" THEN 2760
2190 IF ACTION$="FIRE" THEN PROGRAM$=PROGRAM$+"1" ELSE IF ACTION$="TURN" THEN PROGRAM$=PROGRAM$+"2" ELSE PROGRAM$=PROGRAM$+"3"
2200 LOCATE (10+COUNTER),8,0
2210 IF COUNTER<10 THEN PRINT "ACTION NO. "+RIGHT$(STR$(COUNTER),1)+": "+ACTION$ ELSE PRINT "ACTION NO. "+RIGHT$(STR$(COUNTER),2)+": "+ACTION$;
2220 LOCATE 9,23,0
2230 PRINT STRING$(6,32);
2240 ACTION$=""
2250 NEXT COUNTER
2260 LOCATE 9,2,0
2270 PRINT STRING$(32,32);
2280 LOCATE 9,4,0
2290 PRINT "COMBOT PROGRAM NOW COMPLETED";
2300 BEEP
2310 FOR DELAY=1 TO 1500
2320 NEXT DELAY
2330 LOCATE 9,2,0
2340 PRINT STRING$(32,32);
2350 LINE(9,9)-(262,47),0,BF
2360 LOCATE 3,3,0
2370 PRINT "Your programmed combot needs";
2380 LOCATE 4,3,0
2390 PRINT "a name. Its name may be up";
2400 LOCATE 5,3,0
2410 PRINT "to eight letters or numbers";
2420 LOCATE 6,3,0
2430 PRINT "in length.";
2440 LOCATE 9,3,0
2450 PRINT "Enter combot's name: ";
2460 LOCATE 9,24,1,0,7
2470 KEY.PRESSED$=INKEY$
2480 IF KEY.PRESSED$="" THEN 2470
2490 IF (ASC(KEY.PRESSED$)>47 AND ASC(KEY.PRESSED$)<58) OR (ASC(KEY.PRESSED$)>64 AND ASC(KEY.PRESSED$)<91) OR (ASC(KEY.PRESSED$)>96 AND ASC(KEY.PRESSED$)<123) THEN BOTSNAME$=BOTSNAME$+KEY.PRESSED$ ELSE 2540
2500 IF LEN(BOTSNAME$)>8 THEN LOCATE 25,6,0: PLAY"mbl16t90o1abababababababab": PRINT "NAMES MAY BE 1 TO 8 CHARACTERS";: FOR DELAY=1 TO 1500: NEXT DELAY: LOCATE 25,1,0: PRINT STRING$(38,32);: LOCATE 9,24,1: PRINT STRING$(10,32);: BOTSNAME$="": GOTO 2460
2510 LOCATE 9,(23+LEN(BOTSNAME$)),1,0,7
2520 PRINT KEY.PRESSED$;
2530 GOTO 2470
2540 IF ASC(KEY.PRESSED$)=8 AND LEN(BOTSNAME$)>0 THEN LOCATE 9,(23+LEN(BOTSNAME$)),1,0,7: PRINT CHR$(32);: LOCATE 9,(23+LEN(BOTSNAME$)),1,0,7: BOTSNAME$=LEFT$(BOTSNAME$,LEN(BOTSNAME$)-1): BEEP: GOTO 2470 ELSE IF ASC(KEY.PRESSED$)=8 THEN BEEP:GOTO 2460
2550 IF ASC(KEY.PRESSED$)<>13 THEN 2470
2560 IF LEN(BOTSNAME$)<1 THEN BEEP: LOCATE 25,5,0: PRINT "NAME MUST BE 1-8 CHARACTERS LONG";: FOR DELAY=1 TO 1500: NEXT DELAY: LOCATE 25,1,0: PRINT STRING$(39,32);: GOTO 2460
2570 MESSAGE$="SAVING -"+BOTSNAME$+"- ON DISKETTE"
2580 LOCATE 25,(20-(LEN(MESSAGE$)\2)),0
2590 PRINT MESSAGE$;
2600 BOTSFILE$=BOTSNAME$+".BOT"
2610 OPEN BOTSFILE$ FOR OUTPUT AS #1
2620 PRINT#1,PROGRAM$
2630 CLOSE#1
2640 LOCATE 25,1,0
2650 PRINT STRING$(39,32);
2660 LOCATE 25,2,0
2670 PRINT "Ready to program another combot? (Y/N)";
2680 KEY.PRESSED$=INKEY$
2690 IF KEY.PRESSED$<>"Y" AND KEY.PRESSED$<>"y" AND KEY.PRESSED$<>"N" AND KEY.PRESSED$<>"n" THEN 2680
2700 IF KEY.PRESSED$="Y" OR KEY.PRESSED$="y" THEN LOCATE 25,1,0: PRINT STRING$(39,32);: PROGRAM$="": ACTION$="": BOTSNAME$="": BOTSFILE$="": GOTO 1980
2930 DIM COMBOT1%(9), COMBOT2%(9),COMBOT%(9),FLASH%(28),RUBBLE%(9)
2940 BOTSNAME$=""
2950 LINE(8,8)-(263,183),0,BF
2960 LOCATE 3,9,0
2970 PRINT "SETTING UP FOR PLAY";
2980 LOCATE 6,3,0
2990 PRINT "Enter COMBOT 1: ";
3000 LOCATE 6,19,1,0,7
3010 KEY.PRESSED$=INKEY$
3020 IF KEY.PRESSED$="" THEN 3010
3030 IF(ASC(KEY.PRESSED$)>47 AND ASC(KEY.PRESSED$)<58) OR (ASC(KEY.PRESSED$)>64 AND ASC(KEY.PRESSED$)<91) OR (ASC(KEY.PRESSED$)>96 AND ASC(KEY.PRESSED$)<123) THEN BOTSNAME$=BOTSNAME$+KEY.PRESSED$ ELSE 3080
3040 IF LEN(BOTSNAME$)>8 THEN LOCATE 25,6,0: PLAY"mbl16t90o1abababababababab": PRINT "NAMES MAY BE 1 TO 8 CHARACTERS";: FOR DELAY=1 TO 1500: NEXT DELAY: LOCATE 25,1,0: PRINT STRING$(38,32);: LOCATE 6,19,0: PRINT STRING$(10,32);: BOTSNAME$="": GOTO 3000
3050 LOCATE 6,(18+LEN(BOTSNAME$)),1,0,7
3060 PRINT KEY.PRESSED$;
3070 GOTO 3010
3080 IF ASC(KEY.PRESSED$)=8 AND LEN(BOTSNAME$)>0 THEN LOCATE 6,(18+LEN(BOTSNAME$)),1,0,7: PRINT CHR$(32);: LOCATE 6,(18+LEN(BOTSNAME$)),1,0,7: BOTSNAME$=LEFT$(BOTSNAME$,LEN(BOTSNAME$)-1): BEEP: GOTO 3010 ELSE IF ASC(KEY.PRESSED$)=8 THEN BEEP:GOTO 3000
3090 IF ASC(KEY.PRESSED$)<>13 THEN 3010
3100 IF BOTSNAME$="" THEN 2980
3110 COMBOT.ONE.NAME$=BOTSNAME$
3120 BOTSFILE$=COMBOT.ONE.NAME$+".BOT"
3130 ON ERROR GOTO 3180
3140 OPEN BOTSFILE$ FOR INPUT AS #1
3150 INPUT#1,COMBOT.ONE.PROGRAM$
3160 CLOSE#1
3170 GOTO 3320
3180 MESSAGE$="FILE FOR -"+BOTSNAME$+"- DOES NOT EXIST"
3380 IF(ASC(KEY.PRESSED$)>47 AND ASC(KEY.PRESSED$)<58) OR (ASC(KEY.PRESSED$)>64 AND ASC(KEY.PRESSED$)<91) OR (ASC(KEY.PRESSED$)>96 AND ASC(KEY.PRESSED$)<123) THEN BOTSNAME$=BOTSNAME$+KEY.PRESSED$ ELSE 3430
3390 IF LEN(BOTSNAME$)>8 THEN LOCATE 25,6,0: PLAY"mbl16t90o1abababababababab": PRINT "NAMES MAY BE 1 TO 8 CHARACTERS";: FOR DELAY=1 TO 1500: NEXT DELAY: LOCATE 25,1,0: PRINT STRING$(38,32);: LOCATE 9,19,0: PRINT STRING$(10,32);: BOTSNAME$="": GOTO 3350
3400 LOCATE 9,(18+LEN(BOTSNAME$)),1,0,7
3410 PRINT KEY.PRESSED$;
3420 GOTO 3360
3430 IF ASC(KEY.PRESSED$)=8 AND LEN(BOTSNAME$)>0 THEN LOCATE 9,(18+LEN(BOTSNAME$)),1,0,7: PRINT CHR$(32);: LOCATE 9,(18+LEN(BOTSNAME$)),1,0,7: BOTSNAME$=LEFT$(BOTSNAME$,LEN(BOTSNAME$)-1): BEEP: GOTO 3360 ELSE IF ASC(KEY.PRESSED$)=8 THEN BEEP:GOTO 3350
3440 IF ASC(KEY.PRESSED$)<>13 THEN 3360
3450 IF BOTSNAME$="" THEN 3330
3460 COMBOT.TWO.NAME$=BOTSNAME$
3470 BOTSFILE$=COMBOT.TWO.NAME$+".BOT"
3480 ON ERROR GOTO 3530
3490 OPEN BOTSFILE$ FOR INPUT AS #1
3500 INPUT#1,COMBOT.TWO.PROGRAM$
3510 CLOSE#1
3520 GOTO 3670
3530 MESSAGE$="FILE FOR -"+BOTSNAME$+"- DOES NOT EXIST"
4120 IF X.TWO<(X.ONE+8) AND X.TWO>(X.ONE-8) THEN 4110
4130 Y.TWO=FIX(RND*135)+25
4140 IF Y.TWO<(Y.ONE+7) AND Y.TWO>(Y.ONE-7) THEN 4130
4150 PUT(X.ONE,Y.ONE),COMBOT1%,XOR
4160 PUT(X.TWO,Y.TWO),COMBOT2%,XOR
4170 TIME$="00:00:00"
4180 SHIELD1=100: SHIELD2=100: SHIELD1$=STR$(SHIELD1): SHIELD2$=STR$(SHIELD2): IF LEN(SHIELD1$)>3 THEN SHIELD1$=RIGHT$(SHIELD1$,3): IF LEN(SHIELD2$)>3 THEN SHIELD2$=RIGHT$(SHIELD2$,3)
4190 FINISH=0
4200 FOR COUNTER=1 TO 10 '---------------------------------- BEGIN LOOP -----
4240 IF COMBOT.ONE.ACTION$<COMBOT.TWO.ACTION$ THEN PRIORITY=1
4250 IF COMBOT.ONE.ACTION$=COMBOT.TWO.ACTION$ THEN PRIORITY=FIX(RND*2)+1
4260 IF COMBOT.ONE.ACTION$>COMBOT.TWO.ACTION$ THEN PRIORITY=2
4270 ON PRIORITY GOSUB 4390,4460
4280 LOCATE 22,35: PRINT RIGHT$(TIME$,5);
4290 LOCATE 4,37: PRINT SHIELD1$;
4300 LOCATE 7,37: PRINT SHIELD2$;
4310 IF SHIELD1<=0 OR SHIELD2<=0 THEN GOSUB 6740
4320 ON KEY(4) GOSUB 7220
4330 IF VAL(MID$(TIME$,4,2))>=5 AND VAL(RIGHT$(TIME$,2))>0 THEN GOSUB 7000
4340 IF FINISH>0 THEN ERASE COMBOT1%,COMBOT2%,FLASH%,COMBOT%,RUBBLE%: RESTORE: RETURN 1510
4350 IF X.ONE>36 AND X.ONE<228 AND X.TWO>36 AND X.TWO<228 AND Y.ONE>26 AND Y.ONE<158 AND Y.TWO>26 AND Y.TWO<158 THEN LINE(35,25)-(236,166),1,B: LINE(36,26)-(235,165),0,B
4360 NEXT COUNTER ' -------------------------------------------END LOOP-------
4510 ON VAL(COMBOT.ONE.ACTION$) GOSUB 4530,5650,5700
4520 RETURN
4530 ' ---------- FIRE SEQUENCE
4540 IF X.POSITION=X.ONE THEN ON COMBOT.ONE.FACING GOSUB 4680,4790,4920,5030,5160,5270,5400,5510 ELSE ON COMBOT.TWO.FACING GOSUB 4680,4790,4920,5030,5160,5270,5400,5510
4600 IF LOS.CHECK=2 AND RANGE>0 THEN SHIELD2=SHIELD2-FIX(750/RANGE): IF SHIELD2<0 THEN SHIELD2=0 ELSE IF LOS.CHECK=2 AND RANGE<=0 THEN SHIELD2=SHIELD2-100: IF SHIELD2<0 THEN SHIELD2=0
4610 IF LOS.CHECK=3 AND RANGE>0 THEN SHIELD1=SHIELD1-FIX(750/RANGE): IF SHIELD1<0 THEN SHIELD1=0 ELSE IF LOS.CHECK=3 AND RANGE<=0 THEN SHIELD1=SHIELD1-100: IF SHIELD1<0 THEN SHIELD1=0
4620 IF SHIELD1=0 THEN SHIELD1$="-0-" ELSE SHIELD1$=RIGHT$(STR$(SHIELD1),3): IF LEN(SHIELD1$)<3 THEN SHIELD1$=STRING$((3-LEN(SHIELD$)),32)+SHIELD1$
4630 IF SHIELD2=0 THEN SHIELD2$="-0-" ELSE SHIELD2$=RIGHT$(STR$(SHIELD2),3): IF LEN(SHIELD2$)<3 THEN SHIELD2$=STRING$((3-LEN(SHIELD2$)),32)+SHIELD2$
4640 IF LOS.CHECK=2 THEN HIT=2 ELSE IF LOS.CHECK=3 THEN HIT=1
4650 IF HIT<>0 THEN GOSUB 6920
4660 RETURN
4670 '
4680 ' FACING UP
4690 TARGET.X=X.POSITION+4: TARGET.Y=Y.POSITION
4700 TURRET.X=X.POSITION+4: TURRET.Y=Y.POSITION-1
4710 LOS.CHECK=0
4720 WHILE LOS.CHECK=0
4730 TARGET.Y=TARGET.Y-1
4740 LOS.CHECK=POINT(TARGET.X,TARGET.Y)
4750 LOCATE 22,35: PRINT RIGHT$(TIME$,5);
4760 WEND
4770 TARGET.Y=TARGET.Y+1
4780 RETURN
4790 ' FACING UP/RIGHT
4800 TARGET.X=X.POSITION+7: TARGET.Y=Y.POSITION
4810 TURRET.X=X.POSITION+8: TURRET.Y=Y.POSITION-1
4820 LOS.CHECK=0
4830 WHILE LOS.CHECK=0
4840 TARGET.X=TARGET.X+1
4850 TARGET.Y=TARGET.Y-1
4860 LOS.CHECK=POINT(TARGET.X,TARGET.Y)
4870 LOCATE 22,35: PRINT RIGHT$(TIME$,5);
4880 WEND
4890 TARGET.X=TARGET.X-1
4900 TARGET.Y=TARGET.Y+1
4910 RETURN
4920 ' FACING RIGHT
4930 TARGET.X=X.POSITION+7: TARGET.Y=Y.POSITION+3
4940 TURRET.X=X.POSITION+8: TURRET.Y=Y.POSITION+3
4950 LOS.CHECK=0
4960 WHILE LOS.CHECK=0
4970 TARGET.X=TARGET.X+1
4980 LOS.CHECK=POINT(TARGET.X,TARGET.Y)
4990 LOCATE 22,35: PRINT RIGHT$(TIME$,5);
5000 WEND
5010 TARGET.X=TARGET.X-1
5020 RETURN
5030 ' FACING DOWN/RIGHT
5040 TARGET.X=X.POSITION+7: TARGET.Y=Y.POSITION+6
5050 TURRET.X=X.POSITION+8: TURRET.Y=Y.POSITION+7
5060 LOS.CHECK=0
5070 WHILE LOS.CHECK=0
5080 TARGET.X=TARGET.X+1
5090 TARGET.Y=TARGET.Y+1
5100 LOS.CHECK=POINT(TARGET.X,TARGET.Y)
5110 LOCATE 22,35: PRINT RIGHT$(TIME$,5);
5120 WEND
5130 TARGET.X=TARGET.X-1
5140 TARGET.Y=TARGET.Y-1
5150 RETURN
5160 ' FACING DOWN
5170 TARGET.X=X.POSITION+3: TARGET.Y=Y.POSITION+6
5180 TURRET.X=X.POSITION+3: TURRET.Y=Y.POSITION+7
5190 LOS.CHECK=0
5200 WHILE LOS.CHECK=0
5210 TARGET.Y=TARGET.Y+1
5220 LOS.CHECK=POINT(TARGET.X,TARGET.Y)
5230 LOCATE 22,35: PRINT RIGHT$(TIME$,5);
5240 WEND
5250 TARGET.Y=TARGET.Y-1
5260 RETURN
5270 ' FACING DOWN/LEFT
5280 TARGET.X=X.POSITION: TARGET.Y=Y.POSITION+6
5290 TURRET.X=X.POSITION-1: TURRET.Y=Y.POSITION+6
5300 LOS.CHECK=0
5310 WHILE LOS.CHECK=0
5320 TARGET.X=TARGET.X-1
5330 TARGET.Y=TARGET.Y+1
5340 LOS.CHECK=POINT(TARGET.X,TARGET.Y)
5350 LOCATE 22,35: PRINT RIGHT$(TIME$,5);
5360 WEND
5370 TARGET.X=TARGET.X+1
5380 TARGET.Y=TARGET.Y-1
5390 RETURN
5400 ' FACING LEFT
5410 TARGET.X=X.POSITION: TARGET.Y=Y.POSITION+3
5420 TURRET.X=X.POSITION-1: TURRET.Y=Y.POSITION+3
5430 LOS.CHECK=0
5440 WHILE LOS.CHECK=0
5450 TARGET.X=TARGET.X-1
5460 LOS.CHECK=POINT(TARGET.X,TARGET.Y)
5470 LOCATE 22,35: PRINT RIGHT$(TIME$,5);
5480 WEND
5490 TARGET.X=TARGET.X+1
5500 RETURN
5510 ' FACING UP/LEFT
5520 TARGET.X=X.POSITION: TARGET.Y=Y.POSITION
5530 TURRET.X=X.POSITION-1: TURRET.Y=Y.POSITION-1
5540 LOS.CHECK=0
5550 WHILE LOS.CHECK=0
5560 TARGET.X=TARGET.X-1
5570 TARGET.Y=TARGET.Y-1
5580 LOS.CHECK=POINT(TARGET.X,TARGET.Y)
5590 LOCATE 22,35: PRINT RIGHT$(TIME$,5);
5600 WEND
5610 TARGET.X=TARGET.X+1
5620 TARGET.Y=TARGET.Y+1
5630 RETURN
5640 '
5650 ' ---------- TURN SEQUENCE (CHANGE FACING)
5660 IF X.POSITION=X.ONE THEN COMBOT.ONE.FACING=COMBOT.ONE.FACING+1 ELSE IF X.POSITION=X.TWO THEN COMBOT.TWO.FACING=COMBOT.TWO.FACING+1
5670 IF X.POSITION=X.ONE AND COMBOT.ONE.FACING>8 THEN COMBOT.ONE.FACING=COMBOT.ONE.FACING-8 ELSE IF COMBOT.TWO.FACING>8 THEN COMBOT.TWO.FACING=COMBOT.TWO.FACING-8
5680 LOCATE 22,35: PRINT RIGHT$(TIME$,5);
5690 RETURN
5700 ' ---------- MOVE SEQUENCE
5710 IF X.POSITION=X.ONE THEN ON COMBOT.ONE.FACING GOSUB 5770,5850,5920,5990,6060,6130,6200,6270 ELSE ON COMBOT.TWO.FACING GOSUB 5770,5850,5920,5990,6060,6130,6200,6270
5720 IF X.POSITION=X.ONE THEN PUT(X.ONE,Y.ONE),COMBOT1%,XOR: PUT(NEW.X, NEW.Y),COMBOT1%,XOR ELSE PUT(X.TWO,Y.TWO),COMBOT2%,XOR: PUT(NEW.X,NEW.Y),COMBOT2%,XOR
5730 IF X.POSITION=X.ONE THEN X.ONE=NEW.X: Y.ONE=NEW.Y ELSE X.TWO=NEW.X: Y.TWO=NEW.Y
5740 LOCATE 22,35: PRINT RIGHT$(TIME$,5);
5750 RETURN
5760 '
5770 NEW.Y=Y.POSITION : NEW.X=X.POSITION ' ----- MOVE STRAIGHT UP -----
5800 IF X.POSITION<(COMPARE.X+8) AND X.POSITION>(COMPARE.X-8) AND Y.POSITION-REPEAT<(COMPARE.Y+7) AND Y.POSITION-REPEAT>(COMPARE.Y-7) OR COLOR.CHECK=1 OR NEW.Y<26 THEN RETURN ELSE NEW.Y=NEW.Y-1: NEW.X=X.POSITION
5880 IF X.POSITION+REPEAT<(COMPARE.X+8) AND X.POSITION+REPEAT>(COMPARE.X-8) AND Y.POSITION-REPEAT<(COMPARE.Y+7) AND Y.POSITION-REPEAT>(COMPARE.Y-7) OR COLOR.CHECK=1 OR NEW.Y<26 OR NEW.X>228 THEN RETURN ELSE NEW.X=NEW.X+1: NEW.Y=NEW.Y-1
5890 NEXT REPEAT
5900 RETURN ' ----- END MOVE UP/RIGHT -----
5910 '
5920 NEW.Y=Y.POSITION: NEW.X=X.POSITION ' ----- MOVE STRAIGHT RIGHT -----
5950 IF X.POSITION+REPEAT<(COMPARE.X+8) AND X.POSITION+REPEAT>(COMPARE.X-8) AND Y.POSITION<(COMPARE.Y+7) AND Y.POSITION>(COMPARE.Y-7) OR COLOR.CHECK=1 OR NEW.X>228 THEN RETURN ELSE NEW.X=NEW.X+1: NEW.Y=Y.POSITION
6020 IF X.POSITION+REPEAT<(COMPARE.X+8) AND X.POSITION+REPEAT>(COMPARE.X-8) AND Y.POSITION+7+REPEAT<(COMPARE.Y+7) AND Y.POSITION+7+REPEAT>(COMPARE.Y-7) OR COLOR.CHECK=1 OR NEW.X>228 OR NEW.Y>158 THEN RETURN ELSE NEW.Y=NEW.Y+1: NEW.X=NEW.X+1
6030 NEXT REPEAT
6040 RETURN ' ----- END MOVE DOWN/RIGHT -----
6050 '
6060 NEW.Y=Y.POSITION: NEW.X=X.POSITION ' ----- MOVE STRAIGHT DOWN -----
6090 IF X.POSITION<(COMPARE.X+8) AND X.POSITION>(COMPARE.X-8) AND Y.POSITION+7+REPEAT<(COMPARE.Y+7) AND Y.POSITION+7+REPEAT>(COMPARE.Y-7) OR COLOR.CHECK=3 OR NEW.Y>158 THEN RETURN ELSE NEW.Y=NEW.Y+1: NEW.X=X.POSITION
6160 IF X.POSITION-REPEAT<(COMPARE.X+8) AND X.POSITION-REPEAT>(COMPARE.X-8) AND Y.POSITION+7+REPEAT<(COMPARE.Y+7) AND Y.POSITION+7+REPEAT>(COMPARE.Y-7) OR COLOR.CHECK=1 OR NEW.X<36 OR NEW.Y>158 THEN RETURN ELSE NEW.Y=NEW.Y+1: NEW.X=NEW.X-1
6170 NEXT REPEAT
6180 RETURN ' ----- END MOVE DOWN/LEFT -----
6190 '
6200 NEW.Y=Y.POSITION: NEW.X=X.POSITION ' ----- MOVE STRAIGHT LEFT -----
6230 IF X.POSITION-REPEAT<(COMPARE.X+8) AND X.POSITION-REPEAT>(COMPARE.X-8) AND Y.POSITION<(COMPARE.Y+7) AND Y.POSITION>(COMPARE.Y-7) OR COLOR.CHECK=1 OR NEW.X<36 THEN RETURN ELSE NEW.X=NEW.X-1: NEW.Y=Y.POSITION
6300 IF X.POSITION-REPEAT<(COMPARE.X+8) AND X.POSITION-REPEAT>(COMPARE.X-8) AND Y.POSITION-REPEAT<(COMPARE.Y+7) AND Y.POSITION-REPEAT>(COMPARE.Y-7) OR COLOR.CHECK=1 OR NEW.X<36 OR NEW.Y<26 THEN RETURN ELSE NEW.Y=NEW.Y-1: NEW.X=NEW.X-1
6750 IF SHIELD1=0 AND SHIELD2>0 THEN WINNER$=COMBOT.TWO.NAME$: COMMENT$="And the WINNER is "+WINNER$
6760 IF SHIELD2=0 AND SHIELD1>0 THEN WINNER$=COMBOT.ONE.NAME$: COMMENT$="And the WINNER is "+WINNER$
6770 IF SHIELD1=0 AND SHIELD2=0 THEN IF PRIORITY=1 THEN WINNER$=COMBOT.ONE.NAME$: COMMENT$=WINNER$+" barely WINS!" ELSE WINNER$=COMBOT.TWO.NAME$: COMMENT$=WINNER$+" barely WINS!"
6780 IF SHIELD1=0 THEN PUT(X.ONE,Y.ONE),COMBOT1%,PRESET: FOR DELAY=1 TO 750: NEXT DELAY: PUT(X.ONE,Y.ONE),COMBOT%,PSET: PUT(X.ONE,Y.ONE),RUBBLE%,PSET
6790 IF SHIELD2=0 THEN PUT(X.TWO,Y.TWO),COMBOT2%,PRESET: FOR DELAY=1 TO 750: NEXT DELAY: PUT(X.TWO,Y.TWO),COMBOT%,PSET: PUT(X.TWO,Y.TWO),RUBBLE%,PSET
6800 IF SHIELD1=0 AND SHIELD2=0 THEN PUT(X.ONE,Y.ONE),COMBOT1%,PRESET:PUT(X.TWO,Y.TWO),COMBOT2%,PRESET:FOR DELAY=1 TO 750:NEXT DELAY:PUT(X.ONE,Y.ONE),COMBOT%,PSET:PUT(X.TWO,Y.TWO),COMBOT%,PSET:PUT(X.ONE,Y.ONE),RUBBLE%,PSET:PUT(X.TWO,Y.TWO),RUBBLE%,PSET
7300 DATA 296,18,296,19,296,20,297,17,297,21,298,17,298,21,299,16,299,22,300,16,300,22,301,17,301,21,302,17,302,21,303,18,303,19,303,20,298,19,299,19,300,19,301,19
7310 DATA 296,42,296,43,296,44,297,41,297,45,298,41,298,45,299,40,299,46,300,40,300,46,301,41,301,45,302,41,302,45,303,42,303,43,303,44,298,41,299,40,300,40,301,41
7320 DATA 128,88,141,88,129,89,133,89,136,89,140,89,130,90,134,90,135,90,139,90,131,91,132,91,137,91,138,91,132,92,133,92,136,92,137,92,129,93,133,93,134,93,135,93,136,93,140,93
7330 DATA 130,94,131,94,134,94,135,94,138,94,139,94,129,95,133,95,134,95,135,95,136,95,140,95,132,96,133,96,136,96,137,96,131,97,132,97,137,97,138,97,130,98,134,98,135,98,139,98,129,99,133,99,136,99,140,99,128,100,141,100
7340 DATA 135,94,134,95,135,95,132,96,133,96,134,96,135,96,136,96,131,97,132,97,133,97,134,97,135,97,136,97,137,97,138,97