Аналог логической настольной игры. Игровое поле представляет
собой прямоугольник 6 на 9 клеток. Играющие по очереди ставят фишки
на произвольные клетки поля, не занятые фишками противника На одну
клетку можно ставить до 4-х фишек. Когда число фишек на клетке ста-
новится равно 4, то клетка "взрывается" - 4 фишки рассыпаются на 4
клетки, прилегающие вплотную к "взорвавшейся" клетке. Если на при-
легающих клетках были фишки противника, то все они "обращаются в
другую веру" - переходят к другому игроку. Цель игры заключается в
получении преимущества над всей территорией поля. Игра очень дина-
мична и характерна крайней неустойчивостью временного преимущества.
Например, если на прилегающих к "взорвавшейся" клетке были уже по 3
фишки, то после "взрыва" на них окажется по 4 фишки, которые, в
свою очередь, тоже "взорвутся". Так один взрыв может вызвать цепную
реакцию и в один миг изменить всю ситуацию на игровом поле.
1 GO ТО 10
2 CLEAR 64599: LOAD "Chr"CODE
64600
3 GO SUB 7000: REM UDG
4 RUN
5 SAVE "OVERLOAD" LINE 2: SAV
E "chr"C0DE 64600,768: STOP
8 POKE 23606,88" POKE 23607,2
51: RETURN : REM RUS
9 POKE 23606,0: POKE 23607,60
: RETURN : REM LAT ,
10 REM ================== ИГРА
15 BORDER 0: PAPER 0: INK 7: С
LS : GO SUB 8: POKE 23658,0
20 DIM AS(2,7): DIM A(6,9): DI
M 8(6,9)
30 GO SUB 7500: REM ИНСТРУКЦИЯ
40 GO SUB 8000. REM ==== ЭКРАН
50 GO SUB 8500: REM ==========
=================== ХОДЫ ИГРОКОВ
60 GO SUB 9000: REM ==== ВЗРЫВ
70 GO TO 50
7000 REM ФОРМИРОВАНИЕ СИМВОЛОВ
UDG-ГРАФИКИ ====================
7005 POKE 23675,88: POKE 23676,2
55
7010 LET X=255: LET Y=128
7020 FOR F=144 TO 151. FOR N=0 T
О 7: READ A: POKE USR (CHR$ F)+N
, A
7030 NEXT N: NEXT F
7040 DATA X,Y,Y,Y,Y,Y,Y,Y
7050 DATA X,0,0,0,0,0,0,0,
7060 DATA X.1,1,If 1,1,1,1
7070 DATA Y,Y,Y,f,Y,Y,Y,Y
7080 DATA 1,1,1,1,1,1,1,1
7090 DATA Y,Y,Y,Y,Y,Y,Y,X
7100 DATA 0,0,0,0,0,0,0,X
7105 DATA 1,1,1,1,1,1,1,X
7110 RETURN
7500 REM ИНСТРУКЦИЯ ============
7501 CLS
7510 LET IS= "
OVERLOAD!
ЦЕЛЬ ЭТОЙ ИГРЫ СОСТОИТ В ПОЛУ-
ЧЕНИИ ПРЕИМУЩЕСТВА НАД ВСЕМ ПО-
ЛЕМ ДОСКИ ПРИ ЗАХВАТЕ ОПРЕДЕЛЕН-
НЫХ СЕКТОРОВ."
7520 GO SUB 7750
7530 LET I$=
ПОЛОЖЕНИЕ СТОРОН ОЧЕНЬ ИЗМЕН-
ЧИВО. ЕСЛИ 4 ИЛИ БОЛЕЕ ФИШЕК
ОКАЗЫВАЮТСЯ В ОДНОМ СЕКТОРЕ, ТО
ОН ""ВЗРЫВАЕТСЯ"", РАССЫПАЯ ФИШ
КИНА ПРИЛЕГАЮЩИЕ СЕКТОРА."
7540 GO SUB 7750
7550 LET I$=
ИГРОК МОЖЕТ СТАВИТЬ ФИШКИ НА
ПУСТОЙ СЕКТОР ИЛИ НА СЕКТОР, С
ФИШКАМИ СВОЕГО ЦВЕТА.": GO SUB 7
750
7560 PRINT . LET I$= "
ПЕРВЫЙ ИГРОК - КРАСНЫЕ,
ВТОРОЙ ИГРОК - ЗЕЛЕНЫЕ.": GO S
UB 7750
7570 FOR N=l-TO 2: PRINT
7580 LET 1$="ИГРОК ": LET I$=I$+
STRS N LET IS=IS+", ВВЕДИТЕ CBO
E ИМЯ."
7590 GO SUB 7750 .
7600 INPUT AS(N)
7610 NEXT N
77 40 RETURN
7750 FOR F=1 TO LEN 1$
7760 PRINT INK 6;IS(F);: BEEP
002,10
7770 NEXT F
7780 PRINT : RETURN
8000 REM ИГРОВОЙ ЭКРАН =========
8010 CLS : PRINT INK 5;" 1 2
3456789 "
8020 FOR F=1 TO 6: PRINT INK 7;
" ABCBBCBBCBBCBBCBBCBBCBBCBBC '
' INK 5;F; INK 7;" DOE OE OE OE
OE OE OE OE OE"
8030 PRINT INK 7;" D E E E
E E E E E E"
8040 NEXT F
8050 PRINT INK 7;" BBBBBBBBBBB
BBBBBBBBBBBBBBBB"
8060 INK 7: LET P=1
8070 PRINT BRIGHT 1;AT 2,3. PAP
ER 2;"1";AT 17,27; PAPER 4;"1"
8080 LET A(1,1)=1: LET A(6,9)=l.
LET B(l,l)=2: LET B(6,9)=4
8090 RETURN
8500 REM ХОДЫ ИГРОКОВ ==========
8510 PRINT INK 6;AT 21,0;A$(P);
" Х-КООРД.(ПО-ГОРИЗОНТАЛИ)"
8520 INPUT О
8530 IF 0<=0 OR 0>=10 OR OoINT
О THEN BEEP .1,0: GO TO 8520
8540 PRINT INK 6;AT 21.0;A$(P);
" Y-КООРД.(ПО-ВЕРТИКАЛИ) "
8550 INPUT D
8560 IF D<=0 OR D>=7 OR DOINT D
THEN BEEP .1,0: GO TO 8550
8570 IF B(D,0)<>P*2 AND B(D,0)<>
0 THEN PRINT #0;"НЕЛЬЗЯ !" BEE
P 1,0: GO TO 8510
8580 LET B(D,O)=P*2: LET A(D,0)=
A(D,0)+1
8590 PRINT BRIGHT 1;AT (D*3)-l,
(0*3); PAPER B(D,0):A(D,0)
8595 PRINT AT 21,0;"
II
8600 IF P=1 THEN LET P=2: RETUR
N
8610 LET P=1: RETURN
9000 REM ПРОВЕРКА НА "ВЗРЫВ" ===
9010 LET N=1: LET F=1
9020 IF A(N,F)<4 THEN GO TO 920
1
9030 PRINT AT (N*3)-l,F*3; FLASH
1;"*"
9040 IF N=1 THEN GO TO 9080
9050 LET A((N-l),F)=A((N-l), F) +1
: LET A(N,F)=A(N,F)-1 BEEP .05,
6
9060 LET B((N-l),F)=B(N,F)" PRIN
T AT ((N-l)*3)-1,F*3; PAPER B((N
-1),F);A((N-1),F)
9065 PRINT AT (N*3)-l,(F*3); PAP
ER B(N,F);A(N,F)
9070 IF A(N,F)=0 THEN LET B(NrP
)=0: PRINT AT (N*3)-1,F*3; PAPER
0, INK 7; " 0" : GO TO 9010
9080 IF N=6 THEN GO TO 9120
9090 LET A((N+l),F)=A((N+1),F)+1
: LET A(N,F)=A(N,F)-1 BEEP .05,
6
9100 LET B((N+l),F)=B(N,F): PRIN
T AT ((N+l)*3)-1,F*3; PAPER B((N
+1),F);A((N+l),F)
9105 PRINT AT (N*3)-1,(F*3); PAP
ER B(N,F);A(N,F) I
9110 IF A(N,F)=0 THEN LET B(N,F
)=0: PRINT AT (N*3)-1,F*3; PAPER
0, INK 7;"0": GO TO 9010
9120 IF F=1 THEN GO TO 9160
9130 LET A(N,(F-1))=A(N,(F-1))+1
: LET A(N,F)=A(N,F)-1: BEEP .05,
6
9140 LET B(N,(F-l))=B(N,F). PRIN
T AT (N*3)-1,(F-l)*3; PAPER B(N,
(F-1));A(N,(F-1))
9145 PRINT AT (N*3)-1,(F*3); PAP
ER B(N,F);A(N,F)
9150 IF A(N.F)=0 THEN LET B(N,F
)=0: PRINT AT (N*3)-1,F*3; PAPER
0; INK 7;"0": GO TO 9010
9160 IF F=9 THEN GO TO 9190
9170 LET A(N,(F+l))=A(N,(F+l))+1
: LET A(N,F)=A(N,F)-1: BEEP .05,
6
9180 LET В(N,(F+l))=B(N,F): PRIN
T AT (N*3)-l,(F+l)*3; PAPER B(N,
(F+l)):A(N,(F+l))
9185 PRINT AT (N*3)-1,(F*3); PAP
ER B(N,F);A(N,F)
9190 IF A(N,F)=0 THEN LET B(N.F
)=0: PRINT AT (N*3)-1,F*3; PAPER
0; INK 7 ; "0" GO TO 9010
9195 GO TO 9040
9200 PRINT AT (N*3)-1,(F*3); PAP
ER B(N,F);A(N,F)
9201 LET F=F+1
'9210 IF F>9 THEN LET N=N+1: LET
F=1
9220 IF N>6 THEN GO TO 9240
9230 GO TO 9020
9240 REM ПРОВЕРКА НА ПОБЕДУ ==--
9250 LET T=0: LET U=0
9260 FOR F=1 TO 6: FOR N-l TO 9
9270 IF B(F,N)=2 THEN LET T=T+1
9280 IF B(F,N)=4 THEN LET U=U+1
9290 NEXT N: NEXT F
9300 IF T=0 THEN PRINT AT 21.5,
INK 7; PAPER 2; FLASH 1; BRIGHT
1," ";AS(2);" ПОБЕДИЛ ! ":
FOR F=1 TO 10: BEEP .1,RND*20: N
EXT F: PAUSE 400: GO TO 9900
9310 IF U=0 THEN PRINT AT 21,5,
INK 7; PAPER 2; FLASH 1; BRIGHT
1;" ";AS(1);" ПОБЕДИЛ ! *":
FOR F=1 TO 10: BEEP .1,RND*20: N
EXT F: PAUSE 400: GO TO 9900
9320 RETURN
9900 REM ПОВТОРЕНИЕ ИГРЫ =======
9910 PRINT AT 21,0; INK 7;"ХОТИТ
E СЫГРАТЬ ЕЩЕ РАЗ? (У/N)"
9920 POKE 23658,8: INPUT Q$
9930 IF Q$«"N" AND QSo'Tl" THEN
RUN
9999 BORDER 7: PAPER 7: INK 0: В
RIGHT 0
Автостарт происходит со строки 2, где выполняется загрузка
русско-латинского символьного набора После его загрузки, при помо-
щи подпрограммы GO SUB 7 000, происходит формирование символов
UDG-графики. С их помощью происходит прорисовка игрового поля, сос-
тоящего из квадратных секторов.
После этого происходит переход на начало программы- При оста-
новке программы при отладке, запустить ее можно, подав команду RUN.
Игра рассчитана на двух игроков, а не на игру с компьютером.
Основной игровой цикл охватывает строки с 10 по 70. Сначала
происходит вывод инструкции при помощи подпрограммы GO SUB 7500,
затем прорисовка игрового поля (GO SUB 8000), затем - ходы игроков
(GO SUB 8500). После проверки на "взрыв" (GO SUB 9000) программа
зацикливается в строке 70 на ход следующего игрока (на строку 50).
Проверка на взрыв. Если на какой-то клетке оказывается 4 или
большее число фишек, то оиа "взрывается", и фишки, расположенные на
ней, разбрасываются на соседние сектора: вверху, внизу, слева и
справа от "взорвавшегося" сектора, а в самом этом секторе не оста-
ется ни одной фишки. Если в соседних секторах находились фишки про-
тивника, то они попадают под "удар" и погибают.
При проверке на "взрыв" производится также проверка на условия
достижения победы - преимущество фишек одного из игроков по всему
полю. В случае победы одного из игроков, программа переходит на
строку 9900, где Вам будет предложено повторить игру.