--- title: "Nuclear Attack" id: 71646 type: "computer_media" slug: "nuclear-attack" url: "http://localhost/computer_media/nuclear-attack/" markdown_url: "http://localhost/computer_media/nuclear-attack.md" published_at: "2026-09-26T13:37:52+00:00" modified_at: "2026-09-26T13:37:53+00:00" author: "David Anderson" featured_image: url: "http://localhost/wp-content/uploads/2026/09/nuclear-attack.png" excerpt: "Defend six cities from incoming nuclear missiles with a movable crosshair sight, intercept missiles mid-flight, and earn bonus cities in this arcade shooter with a live high-score table." category: - name: "Archived Media" slug: "archived-media" taxonomy: "category" url: "http://localhost/category/archived-media/" post_tag: - name: "Downloadable" slug: "downloadable" taxonomy: "post_tag" url: "http://localhost/tag/downloadable/" - name: "TS 2068" slug: "ts2068" taxonomy: "post_tag" url: "http://localhost/tag/ts2068/" model: - name: "Timex/Sinclair 2068" slug: "ts-2068" taxonomy: "model" url: "http://localhost/model/ts-2068/" genre: - name: "Arcade" slug: "arcade" taxonomy: "genre" url: "http://localhost/type/arcade/" media_type: "Program" download_url: "https://archive.org/download/timex-sinclair-software-archive/Nuclear%20Attack%20(198x)(-)(TS2068)(US)(Program).zip" mediadate: "198x" images: - url: "http://localhost/wp-content/uploads/2026/09/nuclear-attack.png" media_type_tags: "Arcade" --- # Nuclear Attack Nuclear Attack is a Missile Command–style arcade game in which the player defends six cities and a missile launch site from incoming nuclear missiles. The player moves a crosshair “X” cursor in eight directions using keyboard rows and fires surface-to-air missiles toward the cursor position; each intercepted enemy missile scores 1,000 points, with bonus points for surviving cities and unused missiles awarded between waves. User-defined graphics (UDGs) are loaded at startup via a DATA block POKEd into the UDG area, providing city sprites, missile shapes, and explosion frames. The game tracks a three-entry high-score table stored in string and numeric arrays, with the player prompted for a name if their score qualifies. The screen color scheme cycles between PAPER 4, 5, and 6 across successive waves, and a bonus city is awarded upon reaching 50,000 and 100,000 points. ### Program Structure The program is organized into several broad functional regions: - **Lines 2–4:** Variable initialization, color setup, and array allocation for the current wave. - **Line 10 / Lines 4000–4130:** UDG loader — reads 152 bytes from DATA statements and POKEs them into the UDG area starting at `USR "\\a"`, then jumps to the title/intro sequence. - **Lines 11, 6050–6199:** Title screen, instructions, and briefing pages. - **Lines 6080–6105:** Elaborate title screen drawn entirely with PLOT/DRAW commands and block graphics, including two symmetrical rocket silhouettes. - **Lines 20–995:** Main game loop — spawns missiles, moves them, handles player input, and triggers sub-routines for firing and city destruction. - **Lines 1000–2060:** Player cursor movement and missile firing dispatcher. - **Lines 2100–2500:** Wave-end logic, game-over sequence, high-score entry, and between-wave bonus scoring screen. - **Lines 3000–3170:** Enemy bomber/plane sub-routine that scrolls across the screen dropping additional missiles. - **Lines 5000–5200:** Explosion animation sub-routine using PLOT/DRAW bursts with INVERSE toggling. - **Lines 6000–6049:** Player missile trajectory calculation and drawing using OVER 1 to erase previous position. - **Lines 6213–6900:** Missile rack display and POKE-based attribute manipulation for the launch-site representation. - **Lines 7000–7150:** Player missile rendering loop with multi-frame animation using UDG characters. - **Lines 7200–7999:** City destruction sequence — an extensive series of PLOT/DRAW commands builds an expanding explosion bloom pixel by pixel around the city coordinate `uu`. - **Lines 8000–8200:** Hit detection confirmation, score update, and enemy missile removal from the active array. ### UDG Usage Nineteen UDGs (`\\a` through `\\s`, characters 144–162) are defined by the DATA block at lines 4040–4130. The 152 bytes cover sprites used for city buildings (three-character wide UDGs `\\a\\b\\c`), player missile trail frames (`\\l`, `\\m`), explosion fragments (`\\f\\g\\h`, `\\i\\j\\k`), and the bomber sprite (`\\q\\r\\s`, `\\n\\o`, `\\p`). The loader at lines 4000–4030 uses `USR "\\a"` as the base address and steps through all 152 bytes in a FOR loop with `POKE USR "\\a"+a,b`. ### Enemy Missile Mechanics Up to ten simultaneous enemy missiles are tracked in parallel arrays: `d()` for X pixel position, `e()` for Y pixel position, `f()` for horizontal drift, and `i(,)` for the launch origin. Counter `b` tracks how many are active; `mm` tracks surviving cities. Each missile is drawn with `PLOT`/`DRAW` using `f(a)` as the horizontal component of a 4-pixel downward step. When a missile reaches Y < 5 (line 115), city-destruction logic is triggered at line 7200. The variable `ii` governs spawn probability — it starts at 0 and rises to 0.8 (line 2100) or 1 (line 65/3100) as the wave progresses. ### Player Input and Missile Firing Keyboard scanning uses direct `IN` port reads rather than `INKEY$`: ports 64510 (Q/E row), 57342 (Y–P row), and 49150 (H–NL row) move the cursor; port 65278 (Z–V row) fires. The cursor “X” is drawn with OVER 1 to XOR it on and off without disturbing the background. The firing subroutine at line 6000 calculates the trajectory offset from the fixed launch point (`oo`,`qq`) to the cursor (`x`,`y`) and draws the missile path with OVER 1, then erases it on the next pass. ### Hit Detection Enemy missile hits on cities are detected at line 132 using `POINT` to check whether a pixel is set at the missile’s projected next position, combined with `ATTR` to verify the cell’s attribute matches `pp` (the current PAPER color attribute value, e.g., 42 for PAPER 5). Player missile hits on enemy missiles are detected by checking `ATTR` at the bomber’s column against `pp` (line 3020). Direct interception of an enemy missile by the explosion is handled at line 8000 via a flag set from line 132. ### Score and High-Score Table The three-entry high-score table uses `c(1)`–`c(3)` for numeric scores and `c$(1,14)`–`c$(3,14)` for 14-character names, all held in RAM between games. At game-over (line 2290 onward), the table is displayed using `TAB 14-LEN STR$ c(n)` to right-justify scores. If the player’s score qualifies, the program inserts it into the correct rank by shuffling lower entries down (lines 2320–2332), then prompts for a name via `INPUT`. The `COPY` command at line 2438 allows printing the scoreboard. ### Between-Wave Bonus Screen Lines 2500–2760 handle inter-wave scoring. Surviving cities award 2,000 points each; surviving player missiles (up to 30 total, tracked by `t`) award 500 each. Remaining missiles are drawn as pixel-art rockets using a sequence of PLOT/DRAW commands split across two rows of 15. The wave color cycles: PAPER 5 → PAPER 4 → PAPER 6 → back to 5, controlled by `xx` and `pp` (lines 2704–2720). Difficulty increases each wave via `jj` (max simultaneous missiles) and `ab` (barrage length threshold). ### Bomber Sub-Routine A bonus enemy type — a bomber — appears randomly (line 150 triggers at RND > 0.9). It scrolls left to right across row 11 using UDGs `\\q\\r\\s`, erasing its trail with `\\n\\o`. At each column it probabilistically checks whether it is aligned above a city (`ae` vs `g(af)`), and if so spawns a downward missile (lines 3100–3165). Hitting the bomber with an explosion scores 3,000 points (line 5003). ### Memory and Display Techniques - OVER 1 (XOR mode) is used extensively for flicker-free movement of the cursor, enemy missiles, and player missiles without saving/restoring background. - Direct `POKE`s to the attribute file area (lines 6222–6225, addresses 23276–23282) manipulate the launch-site rack display at the character-cell level. - The city explosion at lines 7240–7540 is drawn entirely with PLOT/DRAW, building an expanding circular blast shape over ~60 individual drawing commands — one of the most elaborate pixel-art sequences in the program. - `VAL` is not used for line-number optimization here; `GO TO` targets are literal integers throughout. ### Bugs and Anomalies - Line 7345 contains `PLOT uu=5,17` — the `=` operator assigns 5 to `uu` mid-expression rather than using `-`, corrupting the city coordinate used for subsequent explosion PLOTs. This is almost certainly a typo for `uu-5`. - Variable `ww` is used at line 2650 (`LET g(mm)=ww`) to restore a destroyed city’s X position, but `ww` is only set at line 7989 if a non-launch-site city was destroyed. If a bonus city is awarded after the launch site was hit first, `ww` may hold a stale value. - Line 6199 sets `LET SS=-1` (uppercase) which is a different variable from `ss` (lowercase) used everywhere else; the check at line 6290 (`IF ss=-1`) therefore uses lowercase `ss` and will never be true via this path, making the `GO TO 20` at 6290 unreachable from this route. - Lines 6120 contains `RUN` inside a FOR loop used as part of the title-screen music wait; if INKEY$ is non-empty, `RUN` restarts the entire program, which is the intended “press any key to start” mechanism but is an unconventional approach. ## Source Code ``` 2 LET xx=5:LET ss=0:LET pp=42:INK 0:PAPER 5:BORDER 5:BRIGHT 0:OVER 0:INVERSE 0:FLASH 0:CLS :BEEP .5,30 3 DIM g(7):LET mm=7:LET vv=0:LET g(1)=28:LET g(2)=60:LET g(3)=92:LET g(4)=128:LET g(5)=164:LET g(6)=196:LET g(7)=228 4 LET ab=28:LET ss=0:DIM c$(4,14):DIM c(3):LET c(1)=0:LET c(2)=0:LET c(3)=0:GO TO 6050 10 GO TO 4000 11 OVER 0:INK 7:PAPER 0:BORDER 0:INVERSE 0:FLASH 0:BRIGHT 1:CLS :GO TO 6080 28 IF ss<0 THEN LET ss=0 29 BEEP .5,30 30 DIM z(30):DIM m(30):DIM q(30):DIM i(11,2):DIM a(11):DIM d(11):DIM e(11):DIM f(11) 34 LET ad=0:LET yy=0:LET t=0:LET rr=0:LET kk=9:LET ll=12:LET nn=0:LET oo=125:LET qq=14 35 LET aj=0:LET jj=6:LET ii=0:LET aa=1:LET cc=1:LET dd=0:LET ee=1:LET ff=1:LET gg=1:LET hh=1:LET bb=0:LET s=0:LET b=0:LET p=0 37 PRINT AT 0,10;" "; OVER 1; INK 9; AT 0,10;"SCORE ";ss 40 RANDOMIZE 50 PLOT 127,0 60 LET x=16:LET y=10 61 LET c=20:LET n=20 62 PRINT OVER 1; AT y,x;"X" 65 IF yy >=ab THEN LET ii=1 66 IF b>jj THEN GO TO 2100 67 LET b=b+1 68 IF b>10 THEN LET b=b-1 69 IF b>10 THEN RETURN 70 LET yy=yy+1 71 LET f(b)= INT (RND*10)-4 73 LET d(b)=g((INT (RND*mm))+1)-175*(f(b)/5) 75 LET e(b)=175 82 LET i(b,1)=d(b):LET i(b,2)=e(b) 90 IF d(b)<0 OR d(b)>255 THEN GO TO 71 95 IF b>1 THEN RETURN 100 OVER 0 101 IF b=0 OR mm=0 THEN GO TO 2200 102 IF RND>ii THEN GO SUB 65 110 FOR a=1 TO b 115 IF e(a)<5 THEN GO TO 7200 120 PLOT d(a),e(a):DRAW f(a),-4 130 LET e(a)=e(a)-5:LET d(a)=d(a)+f(a) 131 IF ad=1 THEN GO TO 3060 132 LET k=1:IF POINT (d(a),e(a)-1)=1 AND ATTR ((175-e(a))/8,d(a)/8)=pp THEN GO TO 8000 135 IF IN 65278+ IN 64510+ IN 57342+ IN 49150<124 THEN GO SUB 1000 140 NEXT a 150 IF RND>.9 THEN GO TO 3000 990 IF IN 65278+ IN 64510+ IN 57342+ IN 49150<124 THEN GO SUB 1000 992 IF bb=1 THEN RETURN 995 GO TO 100 1000 LET c=x:LET n=y 1010 LET x=x+(IN 64510=27 AND x<30)-(IN 64510=30 AND x>0) 1020 LET y=y-(IN 57342<31 AND y>0)+(IN 49150<31 AND y<19) 2000 IF x<0 THEN LET x=0 2020 IF y<0 THEN LET y=0 2030 IF y>20 THEN LET y=20 2040 IF x>31 THEN LET x=31 2045 IF c=x AND n=y THEN GO TO 2050 2046 OVER 1:PRINT AT y,x;"X" 2049 OVER 1:INVERSE 0:PRINT AT n,c;"X":INVERSE 0:OVER 0 2050 IF IN 65278<31 THEN GO SUB 6000 2060 RETURN 2100 LET ii=.8 2190 GO TO 67 2200 IF mm <=0 THEN GO TO 2210 2202 IF yy <=ab THEN GO TO 65 2209 GO TO 2500 2210 FLASH 1:PAPER 2:PRINT \{20}\{1}\{20}\{0}"\{20}\{1} GAME OVER @#*! ":PAUSE 400:FLASH 0 2270 FOR a=40 TO 0 STEP -1:BEEP a*.002,a:NEXT a:FOR a=30 TO 69:BEEP .0015,a:NEXT a:PAUSE 100 2280 PAPER 1:BORDER 1:INK 7:BRIGHT 1:OVER 0:INVERSE 0:CLS 2282 LET w=0 2290 PRINT AT 0,11;"SCOREBOARD" 2292 PRINT AT 3,0;" SCORE NAME"''" 1 "; TAB 14- LEN STR$ c(1);c(1)," ";c$(1) 2293 PRINT AT 7,0;" 2 "; TAB 14- LEN STR$ c(2);c(2)," ";c\{20}\{1}\{20}\{0}$(2)''" 3 "; TAB 14- LEN STR$ c(3);c(3)," ";c$(3) 2294 PLOT 7,154:DRAW 240,0:DRAW 0,-64:DRAW -240,0:DRAW 0,64:PLOT 7,142:DRAW 240,0 2295 PLOT 32,154:DRAW 0,-64:PLOT 127,154:DRAW 0,-64 2300 PRINT AT 12,6;"YOUR SCORE.. "; AT 12,18;"........"; AT 12,(26- LEN STR$ ss);ss 2305 IF w>0 THEN GO TO 2370 2310 FOR a=1 TO 3:IF ss>c(a) THEN GO TO 2316 2315 NEXT a:GO TO 2370 2316 PRINT AT 16,2;"You have the Number ";a;" score." 2317 INPUT "Please ENTER your name (14 letter max)....";c\{20}\{1}\{20}\{0}$(4) 2320 FOR w=2 TO a STEP -1 2325 LET c$(w+1)=c$(w) 2330 LET c(w+1)=c(w) 2332 NEXT w 2335 LET w=2 2340 LET c(a)=ss 2350 LET c$(a)=c$(4) 2355 PRINT AT 16,2;" " 2360 GO TO 2285 2370 PRINT AT 18,6;"C=Copy of Scoreboard" 2380 PRINT AT 16,4;"Please make a choice...." 2385 PRINT ''" E=End the Program " 2390 PRINT " S=Start another game " 2400 LET a$= INKEY$:IF a$="" THEN GO TO 2400 2409 IF a$="e" OR a$="E" THEN CLS 2410 IF a$="e" OR a$="E" THEN STOP 2420 IF a$="s" OR a$="S" THEN GO TO 2422 2421 GO TO 2430 2422 LET xx=5:LET pp=42:INK 0:PAPER 5:BORDER 5:BRIGHT 0:OVER 0:INVERSE 0:FLASH 0:CLS :BEEP .5,30 2423 DIM g(7):LET mm=7:LET vv=0:LET g(1)=28:LET g(2)=60:LET g(3)=92:LET g(4)=128:LET g(5)=164:LET g(6)=196:LET g(7)=228 2424 LET ab=28:GO TO 6050 2430 IF a$="c" OR a$="C" THEN GO TO 2438 2431 GO TO 2370 2438 COPY :BEEP .5,30:PRINT AT 18,6;" ":GO TO 2380 2500 BORDER 0:PAPER 0:BRIGHT 1:INK 4:INVERSE 0:FLASH 0:OVER 0:CLS 2501 LET y=0:LET n=0 2502 PRINT AT 17,2;"CITY POINTS.................."; AT 19,2;"MISSILE POINTS..............." 2510 PRINT AT 0,10;"BONUS POINTS" 2511 FOR a=1 TO mm:IF g(a)=128 THEN GO TO 2513 2512 NEXT a:GO TO 2520 2513 FOR w=a TO mm-1:LET g(w)=g(w+1):NEXT w:LET mm=mm-1 2520 PRINT AT 3,5;"CITIES REMAINING" 2525 PRINT AT 5,7;"NONE" 2530 FOR a=1 TO mm 2540 PRINT AT 5,4*a-1;"\a\b\c " 2542 LET y=y+2000:PRINT AT 17,30- LEN STR$ y;y:BEEP .025,30 2550 NEXT a 2560 PRINT AT 8,5;"MISSILES REMAINING" 2562 IF t >=30 THEN PRINT AT 10,7;"NONE" 2565 LET c=0:LET w=100 2570 FOR a=1 TO (30-t) 2580 PLOT a*15+10-c,w:DRAW -1,-1:DRAW -1,-2:DRAW 0,-5:DRAW -2,-2:DRAW 2,-4:DRAW 0,-5:DRAW -2,-2:DRAW 0,-3:DRAW 6,-2:DRAW 0,1 2586 LET n=n+500:PRINT AT 19,30- LEN STR$ n;n:BEEP .025,35 2588 IF a=15 THEN LET w=70 2589 IF a=15 THEN LET c=225 2590 NEXT a 2600 LET ss=ss+n+y:PRINT AT 21,2;"NEW SCORE...................."; AT 21,30- LEN STR$ ss;ss 2605 IF vv=2 THEN GO TO 2700 2610 IF ss >=100000 THEN GO TO 2640 2620 IF ss >=50000 THEN GO TO 2640 2630 GO TO 2700 2640 IF vv=1 AND ss<100000 THEN GO TO 2700 2642 LET vv=vv+1:IF mm >=6 THEN GO TO 2700 2645 LET mm=mm+1 2650 LET g(mm)=ww 2660 PRINT FLASH 1; INK 6; AT 1,9;"BONUS CITY \a\b\c" 2700 FOR a=1 TO 50:NEXT a:INPUT "Press ENTER to continue....";a$ 2704 IF xx=6 THEN GO TO 2717 2705 IF xx=4 THEN GO TO 2715 2710 LET XX=4:LET PP=34:INK 0:PAPER 4:BORDER 4:OVER 0:INVERSE 0:BRIGHT 0:FLASH 0:CLS 2711 GO TO 2720 2715 LET XX=6:LET PP=50:INK 0:PAPER 6:BORDER 6:OVER 0:INVERSE 0:BRIGHT 0:FLASH 0:CLS 2716 GO TO 2720 2717 LET xx=5:LET pp=42:INK 0:PAPER 5:BORDER 5:OVER 0:INVERSE 0:BRIGHT 0:FLASH 0:CLS 2720 FOR a=1 TO mm:LET tt=(g(a)+3)/8-2 2730 LET jj=jj+2:LET ab=ab+1:PRINT AT 21,tt;"\a\b\c":NEXT a 2735 LET mm=mm+1:LET g(mm)=128 2740 PLOT 0,0:DRAW 255,0 2750 GO SUB 6213 2760 GO TO 20 3000 IF ad=1 THEN GO TO 160 3001 LET ad=1:INK 8 3005 LET ac=0 3006 GO TO 132 3010 LET ac=ac+1 3011 PRINT AT 11,ac;"\q\r\s" 3020 IF ATTR (11,ac+2)=pp THEN GO TO 5000 3025 IF RND>.3 THEN GO TO 3050 3030 IF ac>27 THEN GO TO 3050 3035 LET ae=16+ac*8:LET af=(ac+2)/4 3040 IF ae>g(af)-6 AND ae=ab THEN LET ii=1 3105 LET b=b+1 3110 IF b>10 THEN LET b=b-1 3120 IF b>10 THEN GO TO 3050 3130 LET yy=yy+1 3140 LET f(b)=1 3150 LET d(b)=g(af)-15.4 3160 LET e(b)=75:LET i(b,1)=d(b):LET i(b,2)=80 3165 PLOT d(b)-1,80:DRAW 1,-5 3170 GO TO 3050 4000 FOR a=0 TO 151 4010 READ b 4020 POKE USR "\a"+a,b 4030 NEXT a 4035 GO TO 11 4040 DATA 6,6,22,30,95,95,127,255,28,28,92,92,125,125,253,255 4050 DATA 0,0,64,96,104,232,250,255,7,7,15,15,15,15,7,7 4060 DATA 224,224,240,240,240,240,224,224,0,0,0,0,0,0,1,3 4070 DATA 0,0,0,0,60,255,255,255,0,0,0,0,0,0,128,192 4080 DATA 3,1,0,0,0,0,0,0,255,255,255,60,0,0,0,0 4090 DATA 192,128,0,0,0,0,0,0,60,126,255,255,255,255,126,60 4100 DATA 0,0,24,60,60,24,0,0,192,244,127,63,127,195,7,14 4110 DATA 192,224,240,252,255,240,192,0,60,126,90,126,60,219,60,195 4120 DATA 12,14,7,3,7,12,0,0,12,14,255,255,255,63,124,224 4130 DATA 0,0,0,192,240,0,0,0 5000 LET ai=83:LET ah=ac*8+20 5001 PRINT AT 11,0;" "; AT y,x;"X" 5002 LET aj=1 5003 LET ss=ss+3000:PRINT AT 0,10;" "; OVER 1; INK 9; AT 0,10;"SCORE ";ss 5004 GO TO 5010 5005 LET ah=d(a):LET ai=e(a) 5010 IF ai-10>174 OR ah-10<0 OR ah+10>255 THEN GO TO 5013 5011 GO TO 5014 5013 BEEP .025,20:GO TO 5190 5014 LET ak=0 5015 LET ak=ak+1 5016 FOR w=1 TO 5 STEP 2 5020 PLOT ah-w,ai-w:DRAW 1,0 5025 PLOT ah-w*2,ai:DRAW 1,0 5030 PLOT ah+w,ai-w:DRAW 1,0 5035 PLOT ah+w*2,ai:DRAW 1,0 5040 PLOT ah+w,ai+w:DRAW 1,0 5045 PLOT ah,ai+w*2:DRAW 1,0 5050 PLOT ah-w,ai+w:DRAW 1,0 5055 PLOT ah,ai-w*2:DRAW 1,0 5180 NEXT w 5182 IF ak=1 THEN INVERSE 1 5183 IF ak=1 THEN BEEP .025,20 5184 IF ak=1 THEN GO TO 5015 5185 INVERSE 0 5190 IF aj=1 THEN LET ad=0 5192 IF aj <>1 THEN GO TO 8002 5195 LET aj=0 5200 GO TO 100 6000 IF t >=30 THEN GO TO 7069 6001 OVER 1 6002 LET o=x*8-112-kk:LET r=170-y*8-ll 6003 PLOT oo,qq:DRAW o,r 6004 PLOT oo,qq:DRAW o,r 6008 OVER 0 6010 INVERSE 1:PLOT oo-1,qq:DRAW 2,0:PLOT oo,qq:DRAW 0,5 6015 IF nn=0 THEN LET ll=ll-4 6018 IF nn=0 THEN LET kk=kk+21-ll*1.5 6020 IF nn=0 THEN LET nn=24-ll*1.5 6025 LET kk=kk-6 6030 LET nn=nn-6 6040 LET oo=kk+116:LET qq=ll+2 6045 IF t<19 AND ll<0 AND kk=21 THEN GO SUB 6214 6049 INVERSE 0:GO TO 7000 6050 INK 0:PAPER 5:BORDER 5:BRIGHT 0:OVER 0:INVERSE 0:CLS :PRINT AT 10,4;"Do you want instructions? or " 6051 PAUSE 0:IF INKEY$="y" OR INKEY$="Y" THEN GO TO 6054 6052 IF INKEY$="" THEN GO TO 6052 6053 GO TO 6198 6054 CLS :PRINT AT 0,9;"YOUR BRIEFING" 6055 PRINT '"You are in charge of a surface- to-air Guided Missile Base at the outbreak of Nuclear War..." 6056 PRINT '"Your job is to defend 6 Cities and your own missile Launching site from the nuclear missles.." 6057 PRINT '"You have THIRTY Surface to air missiles, up to 10 of these willbe at the Launching site at any time, if the site is hit, all missiles present, will be destroyed." 6058 PRINT '" Be Careful, you are the last line of defence, the longer you can hold off the attack the morepeople can be evacuated." 6059 PRINT #1; AT 1,2;"PRESS ANY KEY TO CONTINUE...":PAUSE 0 6060 CLS :PRINT AT 0,0;"TECHNICAL BRIEF" 6061 PRINT '"THE SURFACE TO AIR MISSILES ARE GUIDED BY MOVING THE ""X"" TO THE POINT THAT THE MISSILE IS TO EXPLODE... TO DESTROY A NUCLEAR MISSILE OR PLANE, YOU CAN MOVE THE ""X"" IN 8 DIRECTIONS.":FLASH 1:PRINT INK 0; PAPER 6;"REMEMBER: Q=LEFT,E= RIGHT, Y-P= UP, H-NL =DOWN, Z-V =FIRE ":FLASH 0 6073 PRINT #1; AT 1,2;"PRESS ANY KEY TO CONTINUE...":PAUSE 0 6074 PAPER 5:CLS :PRINT AT 0,12;"SCORING" 6075 PRINT '"For each missile shot down you get 1000 points. For each city and each Surface-to-Air Missile remaining intact at the end of a barage you receive bonus points, after 50,000 & 100,000 you receive a bonus city..." 6076 PRINT '"You can shoot missiles down while moving your sight ""X"" in any of 8 directions. Experience will show you that it is best to fire your missiles into the path of your target." 6077 PRINT ''"Good Luck. You'll need it." 6078 PRINT #1, AT 1,2;"PRESS ANY KEY TO CONTINUE...":PAUSE 0:GO TO 6198 6080 PRINT AT 3,14;"\..\::\.."; AT 4,12;"\..\::\::\::\::\::\.."; AT 5,11;"\ :\::\::\::\::\::\::\::\: " 6081 PRINT AT 6,11;"\::\::\::\::\::\::\::\::\::"; AT 7,10;"\ :\::\::\::\::\::\::\::\::\::\: "; AT 8,11;"\::\::\::\::\::\::\::\::\::" 6082 PRINT AT 9,11;"\ :\::\::\::\::\::\::\::\: "; AT 10,12;"\''\::\::\::\::\::\''"; AT 11,14;"\::\::\::" 6083 PRINT AT 12,13;"\ .\::\::\::\. "; AT 13,11;"\ .\'.\'.\::\::\::\.'\.'\. "; AT 14,12;"\' \' \::\::\::\ '\ '" 6084 PRINT AT 15,13;"\ .\::\::\::\. "; AT 16,12;"\ .\.:\::\::\::\:.\. "; AT 17,8;"\ .\..\.:\::\::\::\::\::\::\::\::\::\..\.." 6085 PRINT AT 18,7;"\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''" 6086 PLOT 0,0:DRAW 255,0:DRAW 0,175:DRAW -255,0:DRAW 0,-175: 6087 PLOT 4,4:DRAW 247,0:DRAW 0,167:DRAW -247,0:DRAW 0,-167 6088 PLOT 8,8:DRAW 239,0:DRAW 0,159:DRAW -239,0:DRAW 0,-159 6089 PRINT FLASH 1; INK 2; AT 19,9;"STOP THE TAPE" 6090 PRINT INK 4; INVERSE 1; AT 6,12;"NUCLEAR"; AT 7,12;"ATTACK." 6091 FOR a=44 TO 208 STEP 159 6092 PLOT a,150:DRAW -5,-9, PI/2:DRAW 0,-40:DRAW -10,-10:DRAW 5,-5:DRAW 5,-10:DRAW 0,-20:DRAW -10,-10:DRAW 0,-10:DRAW 10,-5 6093 PLOT a,150:DRAW 5,-9, PI/2:DRAW 0,-40:DRAW 10,-10:DRAW -5,-5:DRAW -5,-10:DRAW 0,-20:DRAW 10,-10:DRAW 0,-10:DRAW -10,-5:DRAW 0,2:DRAW -10,0:DRAW 0,-2 6094 PLOT a,101:DRAW 0,-25:PLOT a,56:DRAW 0,-25 6095 PRINT FLASH 1; INK 3; AT 18, INT (a/8);"\.'"; AT 19, INT (a/8);"\'." 6096 INK 5:PLOT a-2,137:DRAW 0,-3:DRAW 1,0:DRAW 1,1:DRAW 0,2:DRAW -1,1:DRAW -1,0:PLOT a-2,128:DRAW 0,3:DRAW 1,1:DRAW 1,-1:DRAW 0,-3:DRAW 0,2:DRAW -1,0 6097 PLOT a-2,122:DRAW 0,4:DRAW 2,-4:DRAW 0,4:PLOT a,120:DRAW -1,0:DRAW -1,-1:DRAW 0,-2:DRAW 1,-1:DRAW 1,0:DRAW 0,2 6098 PLOT a,114:DRAW -2,0:DRAW 0,-2:DRAW 2,0:DRAW -2,0:DRAW 0,-2:DRAW 2,0:PLOT a-2,104:DRAW 0,4:DRAW 1,0:DRAW 1,-1:DRAW -1,-1:DRAW 1,-1:DRAW 0,-1 6099 INK 7:PLOT a-4,144:DRAW 8,0:PLOT a-4,142:DRAW 8,0 6100 PRINT AT 13, INT (a/8);"\p" 6101 PLOT a-4,61:DRAW 1,0:DRAW 1,-1:DRAW 1,0:DRAW 1,1:DRAW 1,0:DRAW 1,-1:DRAW 1,0:DRAW 1,1:DRAW 1,0 6102 PLOT a-4,59:DRAW 1,0:DRAW 1,-1:DRAW 1,0:DRAW 1,1:DRAW 1,0:DRAW 1,-1:DRAW 1,0:DRAW 1,1:DRAW 1,0 6105 NEXT a 6108 PRINT #1; AT 1,3;"PRESS ANY KEY TO BEGIN...." 6110 FOR w=50 TO 35 STEP -1:IF INKEY$="" THEN GO TO 6130 6120 FOR w=1 TO 10:RUN 6130 BEEP .015,w:BEEP .025, RND*100-35:BEEP .025, RND*50-25:BEEP .025, RND*20-10:NEXT w 6140 FOR w=1 TO 10:NEXT w:PAUSE 0:RUN 6198 LET ak=1:CLS :PRINT AT 10,8;"""NUCLEAR ATTACK""" 6199 LET SS=-1:PRINT TAB 5;"Press any key to Start":FOR w=-1 TO 12:BEEP .025, RND*100-40:BEEP .025,w*5:NEXT w:PAUSE 0:CLS 6200 FOR z=2 TO 12 STEP 4 6210 PRINT AT 21,z;"\a\b\c" 6211 PRINT AT 21,z+17;"\a\b\c" 6212 NEXT z 6213 LET ak=1:GO TO 6320 6214 INVERSE 0:LET wwww=0 6215 FOR a=0 TO 3 6216 FOR z=a+wwww TO wwww 6217 OVER 1:PLOT 115+(z*6),2+(a*4):DRAW 2,0:PLOT 116+(z*6),2+(a*4):DRAW 0,5 6218 NEXT z 6219 LET wwww=wwww-.5 6220 NEXT a:OVER 0 6221 IF ak=1 THEN GO TO 6229 6222 IF t >=19 THEN GO TO 6225 6223 POKE 23280,63:POKE 23281,63:POKE 23282,63 6224 GO TO 6229 6225 POKE 23276,63:POKE 23277,63:POKE 23278,63 6229 LET ak=0 6230 PLOT 0,0:DRAW 255,0 6240 LET kk=9:LET ll=12:LET nn=0:LET oo=125:LET qq=14 6290 IF ss=-1 THEN GO TO 20 6300 RETURN 6310 GO TO 7000 6330 RESTORE 6430 6340 PLOT 0,0:DRAW 255,0 6350 FOR a=20687 TO 22223 STEP 256 6360 POKE a,60 6370 NEXT a 6380 POKE 22479,126 6390 FOR a=20719 TO 22299 STEP 256 6400 READ b 6410 POKE a,b 6420 NEXT a 6430 DATA 255,231,231,231,231,195,129 6440 FOR a=20716 TO 22296 STEP 256 6450 READ b,c,d 6460 POKE a,b:POKE a+1,c:POKE a+2,d:POKE a+4,b:POKE a+5,c:POKE a+6,d 6470 NEXT a 6480 DATA 132,33,8,115,156,231,132,33,8 6490 DATA 0,0,0,132,33,8,114,156,231,132,33,8 6500 POKE 23247,8*xx+7 6510 POKE 23279,8*xx+7 6515 FOR a=0 TO 6 6520 POKE 23276+a,56 6530 IF a=2 THEN LET a=3 6540 NEXT a 6900 GO TO 6214 7000 IF t >=30 THEN GO TO 7069 7001 LET s=s+1:LET t=t+1:LET m(s)=y:LET q(s)=x 7005 LET bb=1 7010 INK 2:OVER 1 7022 FOR w=aa TO s 7025 PRINT AT m(w),q(w);"\m" 7030 NEXT w 7031 LET aa=aa+(w-aa) 7032 BEEP .01,35 7035 FOR w=cc TO s 7038 PRINT AT m(w),q(w);"\m" 7040 PRINT AT m(w),q(w);"\l" 7045 NEXT w 7050 BEEP .01,35 7058 LET cc=cc+(w-cc) 7060 FOR w=ee TO s 7062 PRINT AT m(w),q(w);"\l" 7065 PRINT AT m(w),q(w)-1;" \::\:: "; AT m(w)-1,q(w)-1;"\f\g\h"; AT m(w)+1,q(w)-1;"\i\j\k" 7066 NEXT w 7067 BEEP .01,35 7068 LET ee=ee+(w-ee) 7069 INK 8:OVER 0:GO SUB 100 7070 INK 2:OVER 1 7071 FOR w=ff TO s 7072 PRINT AT m(w),q(w);"\l" 7075 PRINT AT m(w),q(w)-1;" \::\:: "; AT m(w)-1,q(w)-1;"\f\g\h"; AT m(w)+1,q(w)-1;"\i\j\k" 7080 NEXT w 7081 LET ff=ff+(w-ff) 7082 IF s=30 THEN GO TO 7084 7083 INK 8:OVER 0:GO SUB 100 7084 INK 2:OVER 1 7085 FOR w=gg TO s 7088 PRINT AT m(w),q(w);"\l" 7090 PRINT AT m(w),q(w);"\m" 7095 NEXT w 7096 LET gg=gg+(w-gg) 7097 IF s=30 THEN GO TO 7099 7098 INK 8:OVER 0:GO SUB 100 7099 INK 0:OVER 0 7100 FOR w=hh TO s 7105 PRINT AT m(w),q(w)-1;" "; AT m(w)-1,q(w)-1;" " 7106 IF m(w) >=20 THEN GO TO 7108 7107 PRINT AT m(w)+1,q(w)-1;" ":GO TO 7110 7109 PRINT OVER 1; AT m(w)+1,q(w)-1;" " 7110 NEXT w 7120 LET hh=hh+(w-hh) 7130 PRINT INK 0; OVER 0; AT y,x;"X" 7135 PRINT AT 0,10;" "; OVER 1; INK 9; AT 0,10;"SCORE ";SS 7140 LET BB=0 7150 INK 0:INVERSE 0:OVER 0:GO TO 100 7200 LET dd=1:OVER 0 7210 FOR w=1 TO mm 7220 IF d(a)g(w)-8 THEN GO TO 7231 7230 NEXT w:GO TO 7996 7235 LET zz=w 7240 LET tt=(d(a)+3)/8-2 7250 PRINT AT 19,tt+1;" "; AT 20,tt;" "; AT 21,tt;" " 7260 LET uu=g(w) 7268 PLOT 0,0:DRAW 255,0 7270 PLOT uu-4,1:DRAW 7,0:PLOT uu-2,2:DRAW 3,0 7275 PLOT uu-5,2:DRAW 9,0:PLOT uu-7,1:DRAW 13,0:PLOT uu-7,1:DRAW 13,0:PLOT uu-2,3:DRAW 3,0 7280 PLOT uu-4,3:DRAW 7,0:PLOT uu-6,2:DRAW 11,0:PLOT uu-2,4:DRAW 3,0:PLOT uu-9,1:DRAW 17,0:PLOT uu-1,5:PLOT uu,5 7285 PLOT uu-5,4:DRAW 9,0:PLOT uu-6,3:DRAW 11,0:PLOT uu-4,5:DRAW 7,0:PLOT uu-8,2:DRAW 15,0:PLOT uu-3,6:DRAW 5,0:PLOT uu-11,1:DRAW 21,0:PLOT uu-1,7:PLOT uu,7 7286 OVER 1:INK 8:PAPER 7:BRIGHT 1:PRINT AT 21,tt-1;" " 7287 PRINT AT 20,tt-2;" "; AT 19,tt-1;" "; AT 18,tt;" "; AT 17,tt+1;" " 7288 BRIGHT 0:OVER 1:INK 8:PAPER xx:PRINT AT 21,tt-1;" " 7290 PRINT AT 20,tt-2;" "; AT 19,tt-1;" "; AT 18,tt;" "; AT 17,tt+1;" " 7292 OVER 0 7294 PLOT uu-7,5:DRAW 13,0:PLOT uu-7,6:DRAW 13,0:PLOT uu-8,4:DRAW 15,0:PLOT uu-6,7:DRAW 11,0:PLOT uu-8,3:DRAW 15,0 7295 PLOT uu-5,8:DRAW 9,0:PLOT uu-9,2:DRAW 17,0:PLOT uu-3,9:DRAW 5,0:PLOT uu-13,1:DRAW 25,0:PLOT uu-1,10:PLOT uu,10 7300 PLOT uu-8,7:DRAW 1,0:PLOT uu+6,7:DRAW 1,0:PLOT uu-9,6:DRAW 1,0:PLOT uu+7,6:DRAW 1,0:PLOT uu-8,8:DRAW 2,0:PLOT uu+5,8:DRAW 2,0 7305 PLOT uu-9,5:DRAW 1,0:PLOT uu+7,5:DRAW 1,0:PLOT uu-7,9:DRAW 13,0:PLOT uu-7,10:DRAW 13,0:PLOT uu-6,11:DRAW 11,0:PLOT uu-11,2:DRAW 1,0 7310 PLOT uu+8,2:DRAW 1,0:PLOT uu-4,12:DRAW 7,0:PLOT uu-15,1:DRAW 1,0:PLOT uu+13,1:DRAW 1,0:PLOT uu-2,13:DRAW 3,0 7315 PLOT uu-10,8:DRAW 1,0:PLOT uu+8,8:DRAW 1,0:PLOT uu-9,9:DRAW 1,0:PLOT uu+7,9:DRAW 1,0:PLOT uu-10,7:DRAW 1,0:PLOT uu+8,7:DRAW 1,0:PLOT uu-9,10:DRAW 1,0:PLOT uu+7,10:DRAW 1,0: 7320 PLOT uu-8,11:DRAW 1,0:PLOT uu+6,11:DRAW 1,0:PLOT uu-8,12:DRAW 15,0:PLOT uu-7,13:DRAW 13,0 7325 PLOT uu-10,3:DRAW 1,0:PLOT uu+7,3:DRAW 1,0:PLOT uu-5,14:DRAW 9,0:PLOT uu-14,2:DRAW 2,0:PLOT uu+10,2:DRAW 2,0 7330 PLOT uu-3,15:DRAW 5,0:PLOT uu-1,16:PLOT uu,16:PLOT uu-17,1:DRAW 1,0:PLOT uu+14,1:DRAW 1,0 7335 INVERSE 1:PLOT uu-10,8:DRAW 0,-1:DRAW 1,0:DRAW 0,-2:DRAW 1,0:DRAW 0,-1:DRAW 2,0:PLOT uu+9,8:DRAW 0,-1:DRAW -1,0:DRAW 0,-2:DRAW -1,0:DRAW 0,-1:DRAW -2,0 7340 INVERSE 0:PLOT uu-10,10:DRAW 0,1:DRAW 1,0:DRAW 0,2:DRAW 1,0:DRAW 0,1:DRAW 2,0:PLOT uu+9,10:DRAW 0,1:DRAW -1,0:DRAW 0,2:DRAW -1,0:DRAW 0,1:DRAW -2,0 7345 PLOT uu-8,15:DRAW 15,0:PLOT uu-7,16:DRAW 13,0:PLOT uu=5,17:DRAW 9,0:PLOT uu-3,18:DRAW 5,0:PLOT uu-1,19:PLOT uu,19 7350 INVERSE 1:PLOT uu-10,11:DRAW 0,-1:DRAW 1,0:DRAW 0,-2:DRAW 1,0:DRAW 0,-1:DRAW 2,0:PLOT uu+9,11:DRAW 0,-1:DRAW -1,0:DRAW 0,-2:DRAW -1,0:DRAW 0,-1:DRAW -2,0 7352 PLOT uu-8,6:DRAW 2,0:PLOT uu+4,6:DRAW 3,0 7355 INVERSE 0:PLOT uu-10,13:DRAW 0,1:DRAW 1,0:DRAW 0,2:DRAW 1,0:DRAW 0,1:DRAW 2,0:PLOT uu+9,13:DRAW 0,1:DRAW -1,0:DRAW 0,2:DRAW -1,0:DRAW 0,1:DRAW -2,0 7360 PLOT uu-8,18:DRAW 15,0:PLOT uu-7,19:DRAW 13,0 7365 PLOT uu-5,20:DRAW 9,0:PLOT uu-3,21:DRAW 5,0:PLOT uu-1,22:PLOT uu,22:PLOT uu-6,4:PLOT uu+5,4 7370 INVERSE 1:PLOT uu-10,14:DRAW 0,-1:DRAW 1,0:DRAW 0,-2:DRAW 1,0:DRAW 0,-1:DRAW 2,0:PLOT uu+9,14:DRAW 0,-1:DRAW -1,0:DRAW 0,-2:DRAW -1,0:DRAW 0,-1:DRAW -2,0 7375 INVERSE 0:PLOT uu-10,16:DRAW 0,1:DRAW 1,0:DRAW 0,2:DRAW 1,0:DRAW 0,1:DRAW 2,0:PLOT uu+9,16:DRAW 0,1:DRAW -1,0:DRAW 0,2:DRAW -1,0:DRAW 0,1:DRAW -2,0 7380 PLOT uu-8,21:DRAW 15,0:PLOT uu-7,22:DRAW 13,0 7385 PLOT uu-5,23:DRAW 9,0:PLOT uu-3,24:DRAW 5,0:PLOT uu-1,25:PLOT uu,25:PLOT uu-6,6:DRAW 0,-1:PLOT uu+5,6:DRAW -1,0 7390 INVERSE 1:PLOT uu-10,17:DRAW 0,-1:DRAW 1,0:DRAW 0,-2:DRAW 1,0:DRAW 0,-1:DRAW 2,0:PLOT uu+9,17:DRAW 0,-1:DRAW -1,0:DRAW 0,-2:DRAW -1,0:DRAW 0,-1:DRAW -2,0 7392 PLOT uu-8,12:DRAW 3,0:PLOT uu+4,12:DRAW 3,0 7395 INVERSE 0:PLOT uu-10,19:DRAW 0,1:DRAW 0,2:DRAW 1,0:DRAW 0,1:DRAW 2,0:PLOT uu+9,19:DRAW 0,1:DRAW -1,0:DRAW 0,2:DRAW -1,0:DRAW 0,1:DRAW -2,0 7400 PLOT uu-8,24:DRAW 15,0:PLOT uu-7,25:DRAW 13,0 7402 PLOT uu-8,10:DRAW 3,0:PLOT uu+4,10:DRAW 4,0 7405 PLOT uu-5,26:DRAW 9,0:PLOT uu-3,27:DRAW 5,0:PLOT uu-1,28:PLOT uu,28:INVERSE 1:PLOT uu-7,5:DRAW 1,0:DRAW 0,1:PLOT uu+6,5:DRAW -1,0:DRAW 0,1 7410 PLOT uu-5,7:DRAW 0,-2:PLOT uu+4,7:DRAW 0,-2 7415 PLOT uu-10,20:DRAW 0,-1:DRAW 1,0:DRAW 0,-2:DRAW 1,0:DRAW 0,-1:DRAW 2,0:PLOT uu+9,20:DRAW 0,-1:DRAW -1,0:DRAW 0,-2:DRAW -1,0:DRAW 0,-1:DRAW -2,0 7420 INVERSE 0:PLOT uu-10,22:DRAW 0,1:DRAW 1,0:DRAW 0,2:DRAW 1,0:DRAW 0,1:DRAW 2,0:PLOT uu+9,22:DRAW 0,1:DRAW -1,0:DRAW 0,2:DRAW -1,0:DRAW 0,1:DRAW -2,0 7425 PLOT uu-8,27:DRAW 15,0:PLOT uu-7,28:DRAW 13,0 7430 PLOT uu-5,29:DRAW 9,0:PLOT uu-3,30:DRAW 5,0:PLOT uu-1,28:PLOT uu,31:INVERSE 1:PLOT uu-8,15:DRAW 4,0:PLOT uu+3,15:DRAW 4,0:PLOT uu-7,14:DRAW 3,0:PLOT uu+3,14:DRAW 3,0 7435 PLOT uu+8,10:PLOT uu-4,7:DRAW 0,1:DRAW -3,0:DRAW -1,1:DRAW 1,1:DRAW 1,-1:DRAW 1,1:DRAW 1,-1:PLOT uu+3,7:DRAW 0,1:DRAW 3,0:DRAW 1,1:DRAW -1,1:DRAW -1,-1:DRAW -1,1:DRAW -1,-1:PLOT uu-6,11:DRAW 2,2:PLOT uu+5,11:DRAW -2,2 7440 PLOT uu-4,11:PLOT uu+3,11 7450 INVERSE 1:PLOT uu-3,13:DRAW 0,1:DRAW 1,0:DRAW 1,-1:DRAW -2,-2:PLOT uu,13:DRAW 1,1:DRAW 1,0:DRAW -5,-5 7460 PLOT uu-4,6:DRAW 6,6:PLOT uu-4,4:DRAW 6,6:PLOT uu-2,4:DRAW 4,4:PLOT uu,4:DRAW 2,2 7470 PLOT uu+2,4:DRAW 1,1:PLOT uu+4,4:DRAW 1,0:PLOT uu-6,4:PLOT uu-10,3:DRAW 19,0 7480 FOR w=0 TO 3 7490 IF w=1 THEN GO TO 7550 7500 PLOT uu-10,26-w:DRAW 9,9:DRAW 10,-10:PLOT uu-10,22-w:DRAW 9,9:DRAW 10,-10:DRAW -4,-4:PLOT uu-8,20-w:DRAW 7,7:DRAW 8,-8 7510 PLOT uu-7,17-w:DRAW 6,6:DRAW 5,-5:PLOT uu-4,16-w:DRAW 3,3:DRAW 3,-3:PLOT uu-8,22-w:DRAW 7,-7:DRAW 9,9 7520 PLOT uu-8,26-w:DRAW 7,-7:DRAW 7,7:PLOT uu-6,28-w:DRAW 5,-5:DRAW 5,5:PLOT uu-4,30-w:DRAW 3,-3:DRAW 3,3 7530 NEXT w 7540 INVERSE 0:GO TO 7980 7550 PLOT uu-14,2:DRAW 27,0 7560 PLOT uu-2,13:DRAW 4,0:PLOT uu-3,8:DRAW 4,0:DRAW 1,-1:DRAW -4,0:DRAW -1,-1:DRAW 6,0:DRAW -1,-1:DRAW -6,0:DRAW -1,-1:DRAW 8,0 7600 PLOT uu-17,1:DRAW 33,0 7610 PLOT uu-5,13:DRAW 1,-1:DRAW 7,0:DRAW 1,1:PLOT uu-7,11:DRAW 13,0:DRAW 1,-1:DRAW -15,0:DRAW 1,-1:DRAW 13,0 7620 GO TO 7500 7985 IF g(zz)=128 THEN LET t=30-(INT (2.9-t/10))*10 7986 IF g(zz)=128 AND t<30 THEN LET rr=1 7987 IF g(zz)=128 AND t<30 THEN GO TO 8002 7989 IF g(zz) <>128 THEN LET ww=g(w) 7990 FOR w=zz TO mm-1:LET g(w)=g(w+1):NEXT w:LET mm=mm-1 7996 PLOT 0,0:DRAW 255,0 7999 GO TO 8002 8000 LET ss=ss+1000 8001 GO TO 5005 8002 OVER 0:INVERSE 1:PLOT i(a,1),i(a,2):DRAW d(a)-i(a,1),e(a)-i(a,2) 8010 PLOT i(a,1)+(i(a,1)<255),i(a,2)-(i(a,1)=255):DRAW d(a)-i(a,1),e(a)-i(a,2) 8020 PLOT i(a,1)-(i(a,1)>0),i(a,2)-(i(a,1)=0):DRAW d(a)-i(a,1),e(a)-i(a,2):INVERSE 0 8030 PRINT AT 0,10;" "; OVER 1; INK 9; AT 0,10;"SCORE ";ss 8035 IF dd=1 THEN PRINT AT y,x;"X" 8038 LET dd=0 8040 FOR w=a TO b 8045 LET h=w+1 8050 LET e(w)=e(h) 8053 LET d(w)=d(h) 8056 LET f(w)=f(h) 8058 LET i(w,1)=i(h,1) 8059 LET i(w,2)=i(h,2) 8060 NEXT w 8070 LET b=b-1 8080 IF rr=1 THEN GO SUB 6214 8090 LET rr=0 8200 GO TO 100 9000 STOP 9996 RESTORE :CLEAR 9997 REM CLEAR :RANDOMIZE USR 100:SAVE "MISILE.B1" LINE 1 9998 REM CLEAR :RANDOMIZE USR 100:LOAD "L.B1" ```