Сапер по имени Борис пытается разминировать минное поле. Беда
только в том, что мины периодически активизируются - запускается
счетчик времени и если Борис не успеет подбежать к активизированной
мине и обезвредить ее, пока счетчик не доведет свой счет до нуля,
то она взрывается, а за ней от детонации взрываются и все остальные
мины. Как Вы понимаете, Борис на этом свою деятельность сапера за-
канчивает. Во время перебежки к активизированной мине Борис должен
старательно обходить другие мины, иначе - жизнь долой, а счетчик
активизированной мины - продолжает считать!
Мииное поле устроено таким образом, что Борис по одному и тому
же месту может пройти только один раз. Это надо учитывать при прок-
ладке маршрута к активизированной мине: если получится так, что хо-
тя бы одна иэ неактивизированных мин окажется отрезанной и недос-
тупной, можете распрощаться с Борисом он ведь уже никак не сможет
к ней подойти.
1 GO TO 10
2 CLEAR 64599: LOAD "chr"CODE
64600
4 GO SUB 800: RUN
5 SAVE "BOMBER" LINE 2: STOP
8 POKE 23606,88: POKE 23607,2
51: RETURN
9 POKE 23606,0: POKE 23607,60
RETURN
19 GO SUB 8: GO SUB 900
20 LET Ц$д"ABCDEFGHIД": LET TS
-"PKLMNO": LET HI-0
22 LET SC=0: LET L-2
25 LET D-ll: LET A-16: LET Dl-
D: LET Al-A
30 DIM R(8): DIM С(8)
100 BORDER 0: PAPER 1: INK 3: С
LS
110 FOR 1-2 TO 20: PRINT INK 5
;AT I.1:"SSSSSSSSSSSSSSSSSSSSSSS
SSSSSSS";: NEXT I
120 LET C-60
130 PRINT PAPER 0;AT 0,0; INK
3;"
";AT 0,0;" R £ E"; INK 6;"
СЧЕТ:О РЕКОРД:":HI
180 FOR 1-1 TO 8: LET R(I)-INT
(RND*19)+2: LET C(I)-INT (RND*30
)+l
190 PRINT INK 6;AT R(I),C(I);"
T" : NEXT I
195 LET B-l
196 PRINT AT 0.0; PAPER 0,(" "
AND L-2 ) ; ( " " AND L-l);("
" AND L-0)
200 PRINT AT D, A; INK 3; "Q"
210 LET D1»D+(INKEYS»"6")-(INKE
YS="7")
215 LET A1=A+(INKEY$="8")-(INKE
Y$-"5")
220 LET AT-ATTR (D1,A1)
225 IF AT—79 THEN LET B-B+l: L
ET SC-SC+C: LET C-60: IF B-9 THE
N GO TO 700
230 IF AT-14 THEN GO TO 400
232 IF AT-13 THEN LET SC-SC+1
235 IF AT=11 THEN LET A1=A: LE
T D1=D
237 BEEP .01,5
240 PRINT AT D,A; INK 3;" " ;AT
D1,A1;"R"
250 LET A=A1: LET D-Dl
270 GO SUB 600
275 IF C=0 THEN GO TO 350
280 PRINT AT 0,15; INK 6; PAPER
0;SC
290 BEEP .01,-10
300 GO TO 200
350 REM ОКОНЧАНИЕ ВРЕМЕНИ
360 FOR I-B TO 8: PRINT AT R(I)
,C(I); FLASH 1; PAPER 8; INK 2;"
T": NEXT I
370 LET L-0
400 REM ВЗРЫВ
410 PRINT AT D,A; INK 3;" 11;AT
D1,A1: INK 2; FLASH 1;"£"
420 BEEP 2,-25
430 PRINT AT D1.A1-; INK 3;" " ;A
T 0,0;
450 RESTORE 460: FOR 1-1 TO 11:
READ Z,X" BEEP Z,X: NEXT I
460 DATA .6,0,.4,0,.2,0,.6,0,.4
,3,-2,2,.4,2,.2,0,.4,0,.2,-1,-6,
0
470 PRINT PAPER 0;AT 0,0;("
" AND L»2);(" " AND L-l)
475 LET Dl—INT (RND*19)+2: LET
A1=INT (RND*30)+1
480 LET D=D1: LET A=A1. LET L=L
-1
485 FOR I=B TO 8: PRINT AT R(I)
,C(I);.INK 6;"T": NEXT I
490 IF L>=0 THEN GO TO 200
500 REM КОНЕЦ ИГРЫ
505 PRINT AT 0,0; INK 6; PAPER
0;" СЧЕТ:";SC
510 FOR 1=30 TO -30 STEP -1: BE
EP .01,1: NEXT I
520 PRINT AT 10,11; PAPER 0; IN
К 6; FLASH 1;"КОНЕЦ ИГРЫ"
560 IF SC>HI THEN LET HI=SC: P
RINT AT 0,27; INK 6; PAPER 0; FL
ASH 1,HI
580 PRINT AT 12,8; PAPER 0; INK
6; FLASH 1;"НАЖМИТЕ КЛАВИШУ"
590 IF INKEY$="" THEN GO TO 59
0
595 GO TO 22
600 REM УМЕНЬШЕНИЕ СЧЕТЧИКА
610 LET C=C-1
620 LET T=INT (C/10): LET U=C-1
0*INT (C/10)
630 PRINT AT R(B),C(B); INK 7;
BRIGHT 1;T$(T+l); OVER 1;AT R(B)
,C(B);U$(U+l)
640 RETURN
700 REM ВСЕ МИНЫ ОБЕЗВРЕЖЕНЫ
710 PRINT AT 11,12; PAPER 0; IN
К 6; FLASH 1;"ПРИЗ: 500"
720 FOR 1=1 TO 2: PAUSE 5: BEEP
-1,11: BEEP .1,11: BEEP .8,16:
BEEP .05,11: BEEP .05,16: BEEP .
05,11: BEEP .05,16: BEEP .8,20:
NEXT I
730 FOR K=.l TO 0 STEP -.01: BE
EP K,28: NEXT К
740 LET SC=SC+500
750 GO TO 24
800 REM ЗАДАНИЕ UDG-ГРАФИКИ
802 RESTORE 810: POKE 23675,88:
POKE 23676,255: FOR 1=0 TO 159:
READ A: POKE (USR "A" + I),A: NEX
T I
805 RETURN
810 DATA 14,10,10,10,10,10,10,1
4,4,4,4,4,4,4,4,4,14,2,2,2,14,8,
8,14,14,2,2,2,14,2,2,14
820 DATA 8,8,8,10,10,14,2,2,14,
8,8,8,14,2,2,14,14,8,8,8,14,10,1
0,14,14,2,2,2,2,2,2,2
830 DATA 14,10,10,10,14,10,10,1
4,14,10,10,10,14,2,2,14,64,64,64
,64,64,64,64,64,224,32,32,32,2 24
,128,128,224
840 DATA 224,32,32,32,224,32,32
,224,128,128,128,160,160,224,32,
32,224,128,128,128,224,32,32,224
,224,160,160,160,160,160,160,224
850 DATA 126,219,255,102,60,60,
39,224,126,219,255.102,60,60,228
,7,0,60,126,126,126,126,60,0,0,6
0,66,90,90,66,60,0
900 REM инструкция
905 PAPER 0: INK 5: CLS
915 PRINT INK 7;AT 0,9;"""МИНЕ
P БОРИС......
920 PRINT 1" МИНЕР БОРИС ДОЛЖЕ
H ОБЕЗВРЕДИТЬВСЕ МИНЫ НА МИННОМ
ПОЛЕ, ПРЕЖДЕ,ЧЕМ ОНИ ВЗОРВУТСЯ.
УПРАВЛЯЯ КУРСОРНЫ
МИ КЛАВИШАМИ,ПРОВЕДИТЕ БОРИСА ";
INK 3; "fi"; INK 5;" К АКТИВИЗИРО
-ВАННОЙ МИНЕ: "; INK 7; OVER 1;"
О";CHR$ В;"A"
930 PRINT " НАДО УСПЕТЬ, ПОКА
СЧЕТЧИК НЕ ОБНУЛИТСЯ. ИНАЧЕ ВСЕ
МИНЫ ВЗОР- ВУТСЯ И ИГРА ЗАКОНЧИ
ТСЯ. ЕСЛИ БОРИС НАСТУПИ
Т НА НЕАКТИ-ВИЗИРОВАННУЮ МИНУ ";
INK 6;"Т"; INK 5;" ТО ОН ПОТЕ-
РЯЕТ ЖИЗНЬ."
940 PRINT " ПРОКЛАДЫВАЯ МАРШРУ
Т БОРИСА, УЧТИТЕ, ЧТО ОН НЕ МО
ЖЕТ ПЕРЕМЕ- ЩАТЬСЯ ПО ТЕМ КЛЕТКА
М, ПО КОТО- РЫМ УЖЕ ОДИН РАЗ ПРО
ШЕЛ. НЕ ДО- ПУСКАЙТЕ СИТУАЦИИ, К
ОГДА НЕАКТИ-ВИЗИРОВАННЫЕ МИНЫ ОК
АЖУТСЯ ОТРЕ ЗАННЫМИ И НЕДОСТУПНЫ
МИ."
945 PRINT #0; INK 7;" НАЖМИТ
Е ЛЮБУЮ КЛАВИШУ..."
950 IF INKEY$="" THEN GO TO 950
960 RETURN