File tree Expand file tree Collapse file tree 4 files changed +148
-3
lines changed
Expand file tree Collapse file tree 4 files changed +148
-3
lines changed Original file line number Diff line number Diff line change 1+ 1 REM pick a spot, run to it, shoot while moving, lead shots
2+ 2 LET DX = 0
3+ 3 LET DY = 0
4+ 4 LET DMG = 0
5+ 5 LET ODMG = 0
6+ 6 LET LX = 0
7+ 7 LET LY = 0
8+ 8 LET DTT = 0
9+ 9 LET ATT = 0
10+ 10 LET RSA = 0
11+ 11 let RSW = 5
12+
13+
14+ 100 REM main loop
15+ 110 DMG = DAMAGE
16+ 120 GOSUB 2000 : REM pick spot
17+ 130 GOSUB 2600 : REM get angle
18+ 140 DRIVE ATT, 100
19+ 150 GOSUB 2500 : REM get distance
20+ 160 IF DTT < 50 THEN GOTO 200
21+ 160 IF DMG <> ODMG THEN GOTO 250
22+ 170 GOSUB 2700
23+ 180 GOTO 150
24+
25+ 200 DRIVE ATT,0
26+ 210 GOTO 120
27+
28+ 249 REM damage!
29+ 250 LET ODMG = DMG
30+ 260 GOSUB 2000 : REM pick spot
31+ 270 GOSUB 2600 : REM get angle
32+ 275 DRIVE ATT, 100
33+ 280 GOSUB 2500 : REM get distance
34+ 290 IF DTT < 100 THEN G0T0 350
35+ 300 GOSUB 2700
36+ 310 RETURN
37+ 350 DRIVE ATT,0
38+ 360 RETURN
39+
40+ 2000 REM pick random DX,DY
41+ 2010 LET DX = (RND 700 ) + 100
42+ 2020 LET DY = (RND 700 ) + 100
43+ 2030 RETURN
44+
45+ 2500 REM get distance to target
46+ 2510 LET LX = LOCX
47+ 2515 LET LY = LOCY
48+ 2520 LET TX = DX - LOCX
49+ 2521 LET TY = DY - LY
50+ 2530 LET DTT = SQR (TX* TX) + (TY* TY)
51+ 2540 RETURN
52+
53+ 2600 REM angle to target
54+ 2610 LET LX = LOCX
55+ 2620 LET LY = LOCY
56+ 2630 LET ATT = ATN2 DY- LY, DX - LX
57+ 2640 RETURN
58+
59+ 2700 REM scan and shoot
60+ 2710 LET SDTT = SCAN RSA,RSW
61+ 2720 IF SDTT > 0 AND SDTT < 700 THEN GOTO 2800
62+ 2730 LET RSA = RSA + RSW
63+ 2740 RETURN
64+
65+ 2800 LET DTTN = SCAN RSA,RSW
66+ 2810 LET DIF = DTTN + (DTTN - SDTT)
67+ 2820 CANNON RSA, DIF
68+ 2830 RETURN
Original file line number Diff line number Diff line change 667 LET DY = 0
778 LET D = 0
889 LET DA = 0
9+ 10 LET RSA = 0 : REM Rolling scan angle
10+ 11 LET RWD = 3 : REM Rolling scan width
911
1012200 T = RND 2
1113205 IF T = 0 THEN GOSUB 220
1214206 IF T = 1 THEN GOSUB 320
1315210 GOSUB 9000
1416250 GOTO 200
1517
16-
18+ 219 REM move in the X plane
1719220 LET DX = (RND 800 ) + 100
1820221 LET LX = LOCX
1921222 LET LY = LOCY
2224226 DRIVE DA,100
2325230 GOSUB 8000
2426235 IF D < 20 THEN GOTO 250
27+ 237 GOSUB 7000 : REM rolling scan and shoot
2528240 GOTO 221
2629250 DRIVE DA, 0
2730260 RETURN
2831
32+ 319 REM move in the Y plane
2933320 LET DY = (RND 800 ) + 100
3034321 LET LX = LOCX
3135322 LET LY = LOCY
3438326 DRIVE DA,100
3539330 GOSUB 8000
3640335 IF D < 20 THEN GOTO 350
41+ 337 GOSUB 7000 : REM rolling scan and shoot
3742340 GOTO 322
3843350 DRIVE DA, 0
3944360 RETURN
4045
4146
47+ 7000 REM scan and shoot while moving to target
48+ 7010 LET RR = SCAN RSA, RWD
49+ 7020 if RR > 0 AND RR < 700 THEN GOTO 7100
50+ 7030 LET RSA = RSA + RWD
51+ 7035 IF RSA > 360 THEN LET RSA = RDA - 360
52+ 7040 RETURN
53+ 7100 CANNON RSA, RR
54+ 7110 RETURN
4255
4356
4457
45- 8000 REM
58+ 8000 REM calculate distance to target
46598010 LET TX = DX - LX
47608015 LET TY = DY - LY
48618020 LET D = SQR (TX* TX)+ (TY* TY)
49628025 RETURN
5063
5164
52- 9000 REM
65+ 9000 REM scan and shoot
53669010 LET SD = 0
54679011 LET SW = 5
55689020 LET R = SCAN SD,SW
Original file line number Diff line number Diff line change 1+ 1 REM rook.bas
2+ 2 REM only move in the X or Y at a time.
3+
4+ 5 LET T = 0
5+ 6 LET DX = 0
6+ 7 LET DY = 0
7+ 8 LET D = 0
8+ 9 LET DA = 0
9+
10+ 200 T = RND 2
11+ 205 IF T = 0 THEN GOSUB 220
12+ 206 IF T = 1 THEN GOSUB 320
13+ 210 GOSUB 9000
14+ 250 GOTO 200
15+
16+
17+ 220 LET DX = (RND 800 ) + 100
18+ 221 LET LX = LOCX
19+ 222 LET LY = LOCY
20+ 223 LET DY = LY
21+ 225 IF LX > DX THEN LET DA = 180 ELSE LET DA = 0
22+ 226 DRIVE DA,100
23+ 230 GOSUB 8000
24+ 235 IF D < 20 THEN GOTO 250
25+ 240 GOTO 221
26+ 250 DRIVE DA, 0
27+ 260 RETURN
28+
29+ 320 LET DY = (RND 800 ) + 100
30+ 321 LET LX = LOCX
31+ 322 LET LY = LOCY
32+ 323 LET DX = LX
33+ 325 IF LY > DY THEN LET DA = 270 ELSE LET DA = 90
34+ 326 DRIVE DA,100
35+ 330 GOSUB 8000
36+ 335 IF D < 20 THEN GOTO 350
37+ 340 GOTO 322
38+ 350 DRIVE DA, 0
39+ 360 RETURN
40+
41+
42+
43+
44+
45+ 8000 REM
46+ 8010 LET TX = DX - LX
47+ 8015 LET TY = DY - LY
48+ 8020 LET D = SQR (TX* TX)+ (TY* TY)
49+ 8025 RETURN
50+
51+
52+ 9000 REM
53+ 9010 LET SD = 0
54+ 9011 LET SW = 5
55+ 9020 LET R = SCAN SD,SW
56+ 9030 IF R = 0 THEN GOTO 9060
57+ 9040 IF R > 700 THEN GOTO 9060
58+ 9050 CANNON SD,R
59+ 9051 LET SW = SW - 1
60+ 9052 IF SW = 1 THEN LET SW = 5
61+ 9055 GOTO 9020
62+ 9060 LET SD = SD + 5
63+ 9065 IF SD > 360 THEN RETURN
64+ 9070 GOTO 9020
You can’t perform that action at this time.
0 commit comments