Одна из классических компьютерных игр Двигаясь по полю с пре-
пятствиями, Ваша змейка поедает плоды с поля, превращаясь при этом
из маленькой верткой змейки в длинного-предлинного неповоротливого
гиганта. Сумеет ли этот гигант справиться со всеми плодами на поле
да и с собственным телом, не наткнувшись на препятствия или на свой
хвост! Дополнительные очки Вам дадут призы в виде пары ягодок, по-
являющиеся в центре экрана.
1 GO ТО 10
2 CLEAR 64599: LOAD "chr"CODE
64600
4 GO SUB 9000: RUN
5 SAVE "SNAKMAN" LINE 2: STOP
8 POKE 23606,88: POKE 23607,2
51: RETURN
9 POKE 23606,0: POKE 23607,60
: RETURN
10 GO SUB 8: LET H$="SNAKMAN":
LET I$="SNAKMAN": LET 3$="SNAKM
AN": LET HI=300: LET H2=200: LET
H3=100
11 BORDER 7. PAPER 7: CLS : IN
К 0: GO SUB 4000
12 LET N0=0: LET LIVES=3: LET
S=0: LET D=0
16 INK 2: GO SUB 1000. INK 1
18 PRINT AT 0,12;"СЧЕТ";AT 0,2
2 ;"ЖИЗНИ" ;AT 0,0;H$
20 LET Y$=CHR$ 10+CHRS 10
21 LET X$=CHR$ 15+CHRS 16
40 LET А$="С"
45 FOR Z=1 TO LIVES: PRINT AT
0,(27+Z);"A": NEXT Z
60 LET L=2
70 LET D=0
200 LET X=CODE X$
205 IF D>=376 THEN GO TO 10
210 IF INKEY$="8" THEN LET X=X
+1: LET A$="E"
212 IF INKEY$="5" THEN LET X=X
-1: LET A$="C"
220 LET Y=CODE Y$
230 IF INKEY$="7" THEN LET Y=Y
-1: LET A$="D"
232 IF INKEY$="6" THEN LET Y=Y
+1: LET A$="F"
240 IF INKEYSo" " THEN BEEP .1
,-10: BEEP .1,-20: BEEP .2,-30
250 IF X=CODE X$ AND Y=CODE Y$
THEN LET X=X+X CODE X$(2). LET
Y=Y+Y-C0DE Y$(2)
260 IF ATTR ( Y , X)=5B OR ATTR (Y
,X)=41 THEN GO SUB 3500
262 IF ATTR (Y,X)=34 THEN LET
S=S+1: LET D=D+1 LET L=L+0.25:
BEEP 0.01,1
264 IF ATTR (Y,X)=43 THEN PRIN
T AT 0,0; FLASH 1;"ПРИЭ: 20"; FL
ASH 0: GO SUB 6110: LET S=S+20:
LET N0=150: PRINT AT 0,0;"
" ;AT 0,0; H$
290 PRINT AT 0,17;S
295 PRINT PAPER 5;AT CODE Y$(1
),CODE X$(1);"A"
300 PRINT PAPER 5;AT Y,X;A$
400 PRINT PAPER 5; INK 5;AT CO
DE Y$(L),CODE X$(L);" "
500 LET X$=CHR$ X+X$( TO L)
510 LET Y$=CHR$ Y+Y$( TO L)
600 LET NO=NO+l
610 IF N0>100 THEN PRINT INK
3; PAPER 5;AT 10,15;"GG"
620 IF N0>150 THEN PRINT INK
5; PAPER 5;AT 10,15;" ": LET NO
=0
999 PAUSE 5: GO TO 200
1000 FOR N=0 TO 20: NEXT N
1010 FOR N=2 TO 20: PRINT PAPER
4;AT N.1:"BBBBBBBBBBBBBBBBBBBBB
BBBBBBBBB": BEEP .02,N: NEXT N
1015 FOR N=7 TO 12: PRINT PAPER
5;AT N,6;"
: BEEP .02,N: NEXT N
1020 FOR N=20 TO 1 STEP -1: PRIN
T AT N. 0; "iq6" ; AT N.31;"iq8":
BEEP .01,N: NEXT N
1025 PRINT AT 1.0:"32*iaB":AT 21
,0;"32*ia8"
1030 PRINT AT 4,3;"9*228";AT 4,1
4 ; "4*1(76" ; AT 4.20;' 9*iqS"
1040 PRINT AT 7,3;"228";AT 7,6;
"9*iq8";AT 7,17;"9*228";AT 7,28;
" igfi"
1050 PRINT AT 8,3;"228";AT 8,6;
"228";AT 8,25;"i28",AT 8,28;
"228"
1060 PRINT AT 11,3;"228";AT 11,6
;"ig8";AT 11,25;"228";AT 11,28;
"iqB"
1070 PRINT AT 12,3;"228";AT 12,6
:"9*iq8";AT 12.17:"9*jqe";AT 12,
28;"228"
1080 PRINT AT 15.3:"J2*iqa":AT 1
5.17:"i2*ia8"
1090 PRINT AT 18,3;"2*228";AT 18
.7;"8*iq6";AT 18.17:"8*iq6":AT 1
8,27;"2*228"
1999 RETURN
3000 PRINT AT 10,11; FLASH 1; BR
IGHT 1;"КОНЕЦ ИГРЫ"
3005 PRINT AT 0,27;"
3010 PAUSE 100
3050 IF S>H3 THEN GO SUB 5000
3100 GO TO 5611
3500 LET LIVES=LIVES-1
3510 FOR N=40 TO 10 STEP -3: BEE
P -2,N: NEXT N
3515 IF LIVES=0 THEN GO TO 3000
3520 INK 2: GO SUB 1000: INK 1
3530 PRINT AT 0,28;" ": GO TO
18
4000 CLS : PRINT AT 10,7;"* S N
А К M A N *" ;AT 12,11; "CAAAAAAAA
n
4005 RESTORE 4100
4010 FOR N=1 TO 13: READ A,B: BE
EP A,B: NEXT N
4050 PAUSE 50: RETURN
4100 DATA .3,1,.1,1,.3,1,.1,1,.1
,1, 2,3,.4,2,.2,1,.1,1,.1,1,.1,1
,.2,2,.3,3
5000 BORDER 3: PAPER 5: INK 0: L
ET Y=6: LET X=0: CLS : PRINT AT
12,12;"РЕКОРД";AT 14,13; FLASH 1
;HI; FLASH 0
5001 PRINT AT 5,0;"A Б В Г Д Е Ж
ЗИЙКЛМНО П";АТ 7,0;"Р С
ТУФХЦЧШЩЪЫЬЭЮ Я";АТ
9.0;"* ! # = + -/ ?$<>@
КОНЕЦ"
5002 LET N$=""
5003 LET R$=" "
5005 PRINT AT 18,0; "
ПЕРЕМЕЩЕНИЕ: 5-8, ВЫБОР: 6-7."
5010 PRINT AT Y,X;"D"
5015 LET A=Y: LET B=X
5020 LET X=X+2*(INKEY$="8")-2*(I
NKEY$="5")
5021 IF X=0 AND Y=6 THEN LET X=
0
5022 IF X>30 AND Y=6 THEN LET X
=0: LET Y=Y+2
5023 IF X>30 AND Y=8 THEN LET X
=0: LET Y=Y+2
5025 IF X<0 AND Y=8 THEN LET X=
30: LET Y=Y-2
5026 IF X<0 AND Y=10 THEN LET X
=30: LET Y=Y-2
5028 IF Y=10 AND X>27 THEN GO T
О 5201
5030 IF (INKEY$="6" OR INKEY$="7
") AND LEN N$<10 THEN LET AS-SC
REENS (Y-l,X): LET N$=N$+A$: FOR
N=30 TO 0 STEP -3: BEEP .01,N:
NEXT N
5040 PRINT AT 0,10;N$
5050 PAUSE 5
5190 PRINT AT A,В;" "
5200 GO TO 5010
5300 IF S>HI THEN LET H3=H2: LE
T H2=HI: LET HI=S: LET 3$=I$: LE
T I$=H$: LET H$=N$: GO TO 5400
5310 IF S>H2 THEN LET H3=H2: LE
T H2=S: LET 3$=I$: LET I$=N$: GO
TO 5400
5320 IF S>H3 THEN LET H3=S: LET
3$=N$: GO TO 5400
5500 CLS : PRINT INK 2;AT 10,0;
" 1 ";HI;AT 10,15;H$
5505 PRINT INK 1;AT 12,0;" 2
";H2;AT 12,15;I$
5510 PRINT INK 1;AT 14,0," 3
";H3;AT 14,15;3$
5520 PAPER 5: PRINT INK 0;AT 5,
7;"ТАБЛИЦА РЕКОРДОВ";AT 7,0;"MEC
TO";AT 7,6;"СЧЕТ";AT 7,16;"ИМЯ"
5550 REM FOR N=0 TO 100: NEXT N
5600 GO SUB 6000: PRINT AT 21,5;
"НАЖМИТЕ ЛЮБУЮ КЛАВИШУ"
5605 FOR N=0 TO 200: NEXT N: PAU
SE О: GO ТО 10
5611 GO SUB 6000: PAUSE 50: GO Т
О 10
6010 RESTORE 6050
6020 FOR N=1 TO 20
6030 READ A,B: BEEP A,B: NEXT N
6050 DATA .2, 0,-1, 5,. 1,5, .2,0, .2
,5
6055 DATA .2,1,.1,6,.1,6,.2,1,.2
,6
6060 DATA .2,0,-1,5,.1,5,.2,0,.2
,5
6065 DATA .1,1,.1,2,.1,3,.1,4,.1
,5
6100 RETURN
6110 RESTORE 6150: FOR N=1 TO 12
6120 READ A: BEEP .2,A: NEXT N
6130 RETURN
6150 DATA 0,0,4,12,11,9,-1,-1,2,
11,9,7
9000 RESTORE 9500: FOR Z=1 TO 7
9005 READ Z$
9010 FOR N=0 TO 7: READ A: POKE
USR Z$+N,A: NEXT N
9020 NEXT Z
9100 RETURN
6500 DATA "A",60,126,255,255,255
,255,126,60
9510 DATA "B",0,24,60,60,60,60,2
4,0
9520 DATA "E",14,55,248,240,248,
254,126,28
9530 DATA "C",112,236,31,15,31,2
55,124,56
9540 DATA "F",24,60.126,255,245,
227,98,34
9550 DATA "D",68,70,199,175,255,
126,60,24
9560 DATA "G",0,4,8,60,126,126,6
0,24