10 INK 0,9:INK 1,26:INK 2,23:INK 3,25:INK 4,1:INK 5,4:INK 6,2:INK 7,13:INK 8,3:INK 9,5:INK 10,0:INK 11,6:INK 12,7
20 DIM R(14),C(14)
30 SYMBOL AFTER 240
40 SYMBOL 240,0,0,0,0,7,7,31,31
50 SYMBOL 241,0,0,36,60,255,255,255,255
60 SYMBOL 242,0,0,0,0,224,224,248,248
70 SYMBOL 243,31,31,7,7,7,7,63,63
80 SYMBOL 244,248,248,224,224,224,224,252,252
90 SYMBOL 245,63,63,127,127,127,35,35,19
100 SYMBOL 246,255,255,255,255,255,60,24,0
110 SYMBOL 247,252,252,254,254,254,196,196,200
120 SYMBOL 248,19,11,11,7,7,3,15,255
130 SYMBOL 249,0,0,60,60,60,60,0,0
140 SYMBOL 250,200,208,208,224,224,192,240,255
150 SYMBOL 251,24,24,129,90,24,24,36,36
160 SYMBOL 253,126,189,219,231,231,219,189,126
170 SYMBOL 254,255,0,0,0,0,0,0,0
180 BORDER 0
190 MODE 1:GOSUB 210:IF DEMO=1 THEN SK=2:GOSUB 380
200 MODE 0:GOSUB 410:GOSUB 700:GOSUB 970:GOTO 190
210 DEMO=0:PAPER 0:PEN 3
220 LOCATE 16,2:PRINT "DEFUSE"
230 LOCATE 5,6:PRINT "PRESS I FOR INSTRUCTIONS"
240 LOCATE 5,9:PRINT "PRESS D FOR A DEMONSTRATION"
250 LOCATE 5,12:PRINT "PRESS S TO START GAME"
260 IF INKEY(35)=0 THEN CLS:GOSUB 1010:CLS:GOTO 220
270 IF INKEY(61)=0 THEN DEMO=1:RETURN
280 IF INKEY(60)=0 THEN SK=0:GOSUB 300:RETURN
290 GOTO 260
300 CLS:LOCATE 1,2:PRINT "INPUT SKILL LEVEL (1-EASY TO 5-HARD)";
310 IF INKEY(64)=0 THEN SK=2
320 IF INKEY(65)=0 THEN SK=3
330 IF INKEY(57)=0 THEN SK=4
340 IF INKEY(56)=0 THEN SK=5
350 IF INKEY(49)=0 THEN SK=6
360 IF SK=0 THEN GOTO 310
370 GOSUB 380:RETURN
380 SYMBOL 249,0,0,60,60,60,60,0,0
390 IF SK=2 OR SK=3 OR SK=4 THEN SYMBOL 249,0,126,126,126,126,126,126,0
400 RETURN
410 N=0:D=1:A=1:FIN=0:RE=0
420 xco=20:yco=20:x=0:y=2
430 RESTORE 440:FOR G=1 TO 14:READ C(G),R(G):NEXT
440 DATA 13,9,2,15,6,4,14,20,4,20,3,9,15,5,16,15,2,3,7,15,11,4,9,21,8,10,12,14
450 CLS:PEN 10:LOCATE 1,2:PRINT STRING$(20,CHR$(254));
460 G=INT(RND*(14-SK)):IF DEMO=1 THEN G=1
470 FOR REA=1 TO SK
480 RE=RE+1:G=G+1:PEN 4
490 LOCATE C(G),R(G):PRINT CHR$(249)
500 LOCATE C(G)+1,R(G):PRINT CHR$(241)
510 LOCATE C(G)+2,R(G):PRINT CHR$(242)
520 LOCATE C(G),R(G)+1:PRINT CHR$(243)
530 LOCATE C(G)+2,R(G)+1:PRINT CHR$(244)
540 LOCATE C(G),R(G)+2:PRINT CHR$(245)
550 LOCATE C(G)+1,R(G)+2:PRINT CHR$(246)
560 LOCATE C(G)+2,R(G)+2:PRINT CHR$(247)
570 LOCATE C(G),R(G)+3:PRINT CHR$(248)
580 LOCATE C(G)+2,R(G)+3:PRINT CHR$(250)
590 IF RE=1 THEN K=3
600 IF RE=2 THEN K=5
610 IF RE=3 THEN K=6
620 IF RE=4 THEN K=8
630 IF RE=5 THEN K=9
640 IF RE=6 THEN K=12
650 PEN K:LOCATE C(G)+1,R(G)+3:PRINT CHR$(249)
660 PEN 8:PAPER 3:CH=48+REA:LOCATE C(G)+1,R(G)+1:PRINT CHR$(CH):PAPER 0
670 NEXT REA
680 PEN 10:LOCATE 2,1:PRINT "DEFUSE"
690 FOR F=1 TO SK:LOCATE 6+(2*F),1:PRINT F:NEXT F:RETURN
700 TI=TIME
710 IF DEMO=1 THEN GOSUB 1370:GOTO 760
720 IF INKEY(28)=0 THEN x=0:y=2:GOTO 760
730 IF INKEY(63)=0 THEN x=4:y=0:GOTO 760
740 IF INKEY(71)=0 THEN x=-4:y=0:GOTO 760
750 IF INKEY(30)=0 THEN x=0:y=-2:GOTO 760
760 xco=xco+x:yco=yco+y
770 IF xco<0 OR xco>639 OR yco<0 OR yc0>380 THEN GOSUB 960:GOTO 900
780 P%=TEST(xco,yco)
790 IF A=1 AND P%=3 THEN GOSUB 1240:GOTO 900
800 IF (A=1 OR A=2) AND P%=5 THEN GOSUB 1260:GOTO 900
810 IF (A>0 AND A<4) AND P%=6 THEN GOSUB 1280:GOTO 900
820 IF (A>0 AND A<5) AND P%=8 THEN GOSUB 1300:GOTO 900
830 IF (A>0 AND A<6) AND P%=9 THEN GOSUB 1320:GOTO 910
840 IF (A>0 AND A<7) AND P%=12 THEN GOSUB 1340:GOTO 900
850 IF P%=1 THEN GOSUB 950:GOTO 900
860 IF P%=4 THEN GOSUB 1230:GOTO 900
870 PLOT xco,yco
880 SOUND 1,xco/4,3,7
890 SOUND 2,yco/4,3,7
900 IF FIN=1 THEN GOSUB 1000:GOTO 940
910 IF D=SK+1 THEN SK=SK+1:GOSUB 410:TI=TIME-80
920 IF N=1 THEN RETURN
930 IF DEMO=1 THEN 710 ELSE GOTO 720
940 RETURN
950 GOSUB 1210:LOCATE 12,8:PRINT "YOU RAN INTO YOUR":LOCATE 13,10:PRINT "OWN RADIOACTIVE":LOCATE 13,12:PRINT "TRAIL AND DIED":RETURN
960 GOSUB 1210:LOCATE 14,8:PRINT "YOU RAN INTO":LOCATE 13,10:PRINT "THE ELECTRIFIED":LOCATE 13,12:PRINT "FENCE AND DIED":RETURN
970 PRINT:PRINT:PRINT:PRINT:PRINT
980 LOCATE 11,18:PRINT "PRESS THE SPACE BAR"
990 IF INKEY(47)=0 THEN RETURN ELSE GOTO 990
1000 MODE 1:LOCATE 15,9:PRINT "WELL DONE!":LOCATE 13,11 PRINT "YOU JUST SAVED":LOCATE 15,13:PRINT "THE NATION":RETURN
1010 CLS:LOCATE 16,1:PRINT "DEFUSE"
1020 PRINT:PRINT " YOUR TASK AS CHIEF BOMB DISPOSER"
1030 PRINT " IS TO DEFUSE ALL THE BOMBS PLACED"
1040 PRINT " UNDER EACH OF THE NUCLEAR REACTORS."
1050 PRINT:PRINT " YOU DO THIS BY DIRECTING YOUR MAN"
1060 PRINT " (SHOWN AS A WHITE LINE) IN AN 'n'"
1070 PRINT " SHAPE THROUGH EACH OF THE BOMBS."
1080 PRINT:PRINT " DO NOT DEFUSE THE BOMBS IN THE WRONG"
1090 PRINT " ORDER, HIT ANY OF THE REACTORS OR RUN"
1100 PRINT " INTO YOUR OWN RADIOACTIVE TRAIL."
1110 PRINT:PRINT " YOU CAN START WITH ANY NUMBER OF"
1120 PRINT " BOMBS UP TO A MAXIMUM OF SIX. EACH"
1130 PRINT " TIME YOU CLEAR A SCREEN THE NUMBER."
1140 PRINT " OF BOMBS INCREASES."
1150 PRINT:PRINT " YOUR CONTROLS ARE:"
1160 PRINT:PRINT "       Z = LEFT    X = RIGHT"
1170 PRINT "       ; = UP      / = DOWN"
1180 LOCATE 9,25:PRINT "PRESS THE SPACE BAR";
1190 IF INKEY(47)<>0 THEN 1190
1200 RETURN
1210 MODE 1:SOUND 3,500,20,7,0,0,3
1220 FOR J%=1 TO 10:X=INT(RND*7):PAPER X:CLS:NEXT J%:N=1:PAPER 0:PEN 3:CLS:RETURN
1230 GOSUB 1210:CLS:LOCATE 12,8:PRINT "YOU RAN INTO ONE":LOCATE 11,10:PRINT "OF THE REACTORS AND":LOCATE 12,12:PRINT "SET THE BOMBS OFF":RETURN
1240 IF D<>1 THEN GOSUB 1210:GOSUB 1360:RETURN
1250 LOCATE 9,1:PRINT " ":D=D+1:A=2:RETURN
1260 IF D<>2 THEN GOSUB 1210:GOSUB 1360:RETURN
1270 LOCATE 11,1:PRINT " ":D=D+1:A=3:RETURN
1280 IF D<>3 THEN GOSUB 1210:GOSUB 1360:RETURN
1290 LOCATE 13,1:PRINT " ":D=D+1:A=4:RETURN
1300 IF D<>4 THEN GOSUB 1210:GOSUB 1360:RETURN
1310 LOCATE 15,1:PRINT " ":D=D+1:A=5:RETURN
1320 IF D<>5 THEN GOSUB 1210:GOSUB 1360:RETURN
1330 LOCATE 17,1:PRINT " ":D=D+1:A=6:RETURN
1340 IF D<>6 THEN GOSUB 1210:GOSUB 1360:RETURN
1350 LOCATE 19,1:PRINT " ":FIN=1:RETURN
1360 LOCATE 3,6:PRINT "YOU SET OFF THE":LOCATE 3,8:PRINT "BOMBS BY TRYING":LOCATE 2,10:PRINT "TO DEFUSE THEM IN":LOCATE 3,12:PRINT "THE WRONG ORDER":RETURN
1370 IF TIME>TI+1150 THEN x=4:y=0
1380 IF TIME>TI+1520 THEN x=0:y=2
1390 IF TIME>TI+1750 THEN x=4:y=0
1400 IF TIME>TI+1840 THEN x=0:y=-2
1410 IF TIME>TI+2100 THEN x=4:y=0
1420 IF TIME>TI+2900 THEN x=0:y=2
1430 RETURN