Игры на Бейсике своими руками 1996 г.

Игры - текст игры "Q*BERT".


Ваша задача - побывать на каждом блоке пирамиды, о чем свиде-
тельствует изменение цвета блока с желтого на зеленый. Выполнить
задание Вам мешают змея и мячик. Мячик может скатываться только
сверху вниз (упав вниз, он тут же окажется на вершине пирамиды), а
змея может перемещаться в любом направлении.

Задачу Вам несколько облегчают два белых диска, расположенные
слева и справа от пирамиды - это лифты. Запрыгните на один из них,
и он отвезет Вас на вершину пирамиды. К сожалению, действие лифтов
однократное: после подъема они исчезают.

Начиная со второго поля по каждому блоку пирамиды надо прой-
тись дважды (об этом сигнализируют два цветных ромба в левой части
экрана). При первом проходе цвет блока изменяется с желтого на го-
лубой, а при следующем - с голубого на зеленый.

Начиная с третьего поля, мячик может перемещаться как вниз,
так и вверх, что усложняет Вам и без того нелегкую задачу.

1 GO ТО 7

2 BORDER 0: PAPER 0: INK 7: С
LEAR 64599

3 LOAD "chr"CODE 64600

4 POKE 23606,88: POKE 23607,2
51: GO SUB 9900: RUN

5 SAVE "Q*BERT" LINE 2: STOP

7 PRINT AT 7,12; INK 6:"ig4.
6*43,47";AT 8.12:"iq5": INK 2; "Q
*BERT" ; INK 6 ; "g5" ;AT 9.12:" ial,
6*ia3.ia2"

8 POKE 23658,8: LET HI=0: PRI
NT AT 11,2;"ВАМ НУЖНА ИНСТРУКЦИЯ

(Y/N)?": POKE 23658,8: INPUT L
INE A$: IF A$="Y" THEN GO SUB 3
000

9 RANDOMIZE

10 OVER 1: BORDER 0: PAPER 0:
INK 7: BRIGHT 1: CLS

15 LET SC=0: LET LIV=3: LET SH

= 1

20 PRINT AT 0,0;"СЧЕТ:000000";
AT 0,20;"MAKC.:000000";AT 1,0:"П
ОЛЕ:1";AT 1,20;"ЖИЗНИ:3"

22 PRINT AT 3,0; INK 4;"AB";AT
4,0;"BA"

23 IF SH>1 THEN PRINT AT 3,0;
OVER 0; INK 5;" AB";AT 4,0;"BA";

AT 5,0; INK 4 ;"AB" ;AT 6,0;"BA"

30 OVER 1: PRINT AT 0,32-LEN S
TR$ HI; OVER 0;HI; AT 0,11-LEN S
TR$ SC; OVER 0;SC; AT 1,26;LIV;
AT 1,0;"ПОЛЕ:";SH

35 LET X=-2: LET Y=15: LET C=1
: LET L=-2: LET M=15: GO TO 50

40 INK 6: PRINT AT X+2,Y+1;"AB
";AT X+3,Y;"A"; PAPER 6;" "; PA
PER 0;"B";AT X+4,Y;"B"; PAPER 6;
" "; PAPER 0;"A";AT X+4,Y; INVE
RSE 1;"С";AT X+4,Y+3;"D";AT X+5,
Y+1;"BA";AT X+6,Y+l; INVERSE 0;"
D": INK 7: RETURN
50 LET T=7: LET C=1
55 GO SUB 40: LET X=X+3: LET Y
=Y-2: LET C=C+1: IF C<T THEN GO
TO 55

60 LET L=L+3: LET M=M+2: LET T
=T-l: LET C=l: LET X=L: LET Y=M:

IF T>1 THEN GO TO" 55

61 INK 6: PLOT 40,32: FOR F=1
TO 6: DRAW OVER 0;16,-16: DRAW

OVER 0;16,16: NEXT F: INK 7

70 PRINT AT 8,8; BRIGHT 0:"IJ"
;AT 9,8;MKL";AT 8.24:"IJ";AT 9,2
4; "KL"

100 OVER 0: LET A=7: LET B=12:
LET FI=0

101 LET Bl=l: LET B2=16

102 LET Sl=7: LET S2=20

120 PRINT AT A,B; PAPER 8; INK
8;" ";AT A+1,B;" "

130 LET A$=INKEY$: IF A$<>"A" A
ND A$<>"Z" AND A$o"K" AND A$<>"
M" THEN GO TO 191

140 IF A$="Z" THEN LET A=A+3:
LET B=B+2

150 IF A$="M" THEN LET A=A+3:
LET B=B-2

160 IF A$="A" THEN LET A=A-3:
LET B=B-2

165 IF A$="K" THEN LET A=A-3:
LET B=B+2

170 IF ATTR (A+2,B)=7 THEN GO
TO 2000

171 IF ATTR (A+2,B)=71 THEN OV
ER 1: FOR F=A TO 20 STEP 3: FOR
G=1 TO 2: PRINT AT F,B; PAPER 8;

INK 8;"EF";AT F+l ,B; "(Щ" : NEXT
G: BEEP .01,20-F: NEXT F: OVER 0
: GO TO 410

172 IF ATTR (A+2,B)=68 THEN GO
TO 181

173 LET IK=4: IF SH>1 AND ATTR
(A+2 ,B) =70 THEN LET IK=5

174 IF SH>1 AND ATTR (A+2,B)=69
THEN LET IK=4
180 IF ATTR (А+2 , В) <>71 THEN PR
INT AT A-1,B; INK IK; "AB" ; AT А,В
-1;"A"; PAPER IK;" "; PAPER 0;"
B";AT A+l.B-l;"B"; PAPER IK;" "
; PAPER 0;"A" ; INVERSE 1;AT A+2,
B;"BA": OVER 1: PRINT INVERSE 1;
AT A+l.B-l; INK 8; PAPER 8,"C D
": OVER 0: LET FI=FI+(1 AND IK=4
): LET SC=SC+1: PRINT AT 0,11-LE
N STR$ SC; OVER 0;SC
185 IF FI=21 THEN GO TO 1000

190 BEEP .01,-20

191 IF A=S1 AND B=S2 OR A=Bl AN
D B=B2 THEN GO TO 400

200 PRINT AT A,B; PAPER 8; INK
1;" EF";AT A+l.B;"GH"

220 PRINT AT B1,B2; PAPER 8;"
";AT Bl+1,B2;" ": LET Bl=Bl+3:
LET D=INT (RND*2)+1: LET B2=B2+2
*(D=1)-2*(D=2): IF SH>2 AND RND>
.5 AND Bl>4 AND ATTR (B1-6,B2)<>
71 THEN LET Bl=Bl-6
231 IF Bl=19 THEN LET C=0: LET
Bl=l: LET B2=16

240 PRINT AT B1,B2; INK 2; PAPE
R 8;"13";AT Bl+1,B2;"KL"
260 LET D=INT (RND*4)+1
270 PRINT AT S1,S2; PAPER 8;"
";AT Sl+1,S2;" "

280 IF D=1 AND ATTR (S1-3.S2-2)
<>71 AND Sl>3 THEN LET Sl=Sl-3:
LET S2=S2-2

290 IF D=2 AND ATTR (Sl-3,S2+2)
<>71 AND Sl>3 THEN LET Sl=Sl-3:
LET 52=S2+2

300 IF D=3 AND ATTR (S1+3.S2+2)
<>71 THEN LET Sl=Sl+3: LET S2=S
2+2

310 IF D=4 AND ATTR (S1+3.S2-2)
<>71 THEN LET Sl=Sl+3: LET S2=S
2-2

320 IF S1=A AND S2=B THEN GO T
О 4O0

321 IF SKI THEN LET Sl=l
330 PRINT AT S1.S2; PAPER 8; IN
К 3;"Щ";АТ Sl+1 ,S2 ; "OP"

340 IF ATTR (A,B)=114 OR ATTR (
A,B)=115 THEN GO TO 400
390 GO TO 120

400 PRINT AT A.B; INK 1; PAPER
8;"EF";AT A+l,B;"GH";AT A-l.B+l;

FLASH 1; INK 6; "ЕКЛМН!11: FOR F=
1 TO 15: BEEP .01,F: BEEP .01.7:
BEEP .01,15-F: NEXT F
410 LET LIV=LIV-1: PRINT AT 1,2
0; OVER 0;"ЖИЗНИ:";LIV: FOR F«1
TO 150: NEXT F: IF LIV>0 THEN С
LS : GO TO 20

420 FOR F=1 TO 50: BEEP .Ol.RND
•50-20: NEXT F: PRINT AT 21,6;"H
АЖМИТЕ ЛЮБУЮ КЛАВИШУ."
430 IF INKEYS-"" THEN GO TO 43

0

435 IF SC>HI THEN LET HI=SC
440 GO TO 9
1000 LET SH=SH+1: IF SH/6=INT (S
H/6) THEN LET LIV=LIV+1
1010 LET SC=SC+100: FOR F=1 TO 4
0: BEEP .01,F: NEXT F: CLS : GO
TO 20

2000 PRINT AT A.B;" " ;AT A+l.B;

" ";AT A+2.B;.....LET B=B-4*(B

<16)+4*(B>16)

2005 LET A=A-1: LET B=B+(B<16)-(
B>16): BEEP .01,A: PRINT AT A.B-
1; INK 1;" EE ";AT A+l.B-l;" GH
" ;AT A+2,B-1; INK 7; " Kb ";AT A+
3.B-1;"

2010 IF A>0 THEN GO TO 2005
2015 PRINT AT A,В;" ";AT A+l.B;
" ";AT A+2.B;" ": LET A«l: LET
B=16

2025 PRINT AT 0,0;"СЧЕТ:000000";
AT 0,20;"MAKC.:000000";AT 1,0;"П
ОЛЕ:1";AT 1,20;"ЖИЗНИ:3"

2026 PRINT AT 0,32-LEN STR$ HI;

OVER 0;HI;АТ 0,11-LEN STR$ SC; О
VER 0;SC;AT 1,26;LIV;AT 1,0;"ПОЛ
E:":SH

2030 GO TO 200
2050 STOP

3000 CLS : PRINT AT 0,13; "Q*BERT
11; AT 1,13; INK 3 :"6*g3"
3010 PRINT ' "■ УПРАВЛЕНИЕ:-"
3020 PRINT AT 3,15;"A K";AT 4,1
6;"/";AT 5,16;"/";AT 6,15;"M
Z"

3030 PRINT '■ "

ПЕРЕДВИГАЯСЬ ПО БЛОКАМ, ИЗМЕ-
НЯЙТЕ ИХ ЦВЕТ. УВЕРТЫВАЙТЕСЬ ОТ
ЗМЕИ И ПРЫГАЮЩЕГО МЯЧА. НА ПО-
СЛЕДУЮЩИХ ЭКРАНАХ ПО ОДНОМУ БЛО-
КУ НАДО ПРОЙТИ ДВАЖДЫ. ПРЫГАЙТЕ
НА БЕЛЫЕ ДИСКИ. ЧТОБЫ ПОПАСТЬ НА
ВЕРШИНУ ПИРАМИДЫ. НА ТРЕТЬЕМ ЭК-
РАНЕ ПРЫГАЮЩИЙ МЯЧ МОЖЕТ ТАКЖЕ
ПОДСКАКИВАТЬ ВВЕРХ."
3040 PRINT INK 2;AT 20,5;"НАЖМИ
ТЕ ЛЮБУЮ КЛАВИШУ."
3050 IF INKEY$ = "" THEN ВЕЕР .01
,RND*50-20: GO TO 3050
3060 CLS : RETURN

9900 DATA 1,3,7,15,31,63,127,255
,128,192,224,240,248,252,254,255

9901 DATA 128,128,128,128,128,12
8,128,128

9902 DATA 1,1,1,1,1,1,1,1

9903 DATA 7,15,27,17,49,49,59,62
,192,224,176,24,24,24,184,248,60
,24,25,15,7,4,4,29,112,240,224,1
92,192,64,64,192

9907 DATA 0,7,31,63,63,127,127,1
27,0,224,248,252,252,254,254,254

9908 DATA 127,127,127,63,63,31,7
,0,254,254,254,252,252,248,224,0

9909 DATA 0,0,60,78,126,60,12,6

9910 DATA 0,0,0,0,24,102,102,198

9911 DATA 6,6,1,0,0,0,0,0

9912 DATA 195,195,195,0,0,0,0,0

9915 DATA 1,3,7,15,15,7,3,1

9916 DATA 128,192,224,240,240,22
4,192,128

9990 PRINT AT 10,4; FLASH 1;"ПОД
ОЖДИТЕ, ПОЖАЛУЙСТА...": RESTORE
9900: POKE 23675,88: POKE 23676,
255: FOR F=USR "A" TO USR "P"+7:

READ A: POKE' F,A: NEXT F
9992 RETURN

Игра достаточно сложна для прохождения, так как Ваши враги
двигаются и тогда, когда Вы стоите на месте. Поэтому можем посове-
товать небольшое усовершенствование. В конце строки 200 подставьте:

: PAUSE 0

При этом враги делают по одному ходу только после Вашего хода.

1 GO TO 100

2 CLEAR 64599: LOAD "chr"CODE
64600

4 RUN

5 SAVE "PHONE" LINE 2: STOP

8 POKE 23606,88: POKE 23607,2
51: RETURN

9 POKE 23606,0: POKE 23607,60
: RETURN

20 POKE 23675,88' POKE 23676,2

55

21 POKE USR "T"+0, BIN 01111110

22 POKE USR "T"+l,BIN 10011001

23 ГОКЕ USR "T"+2,BIN 10111101

24 POKE USR "T" +3,BIN 00111100

25 POKE USR "T"+4,BIN 01100110

26 POKE USR "T"+5,BIN 01100110

27 POKE USR "T"+6,255

28 POKE USR 'Vr" + 7 ,255

30 POKE USR "A"+0,BIN 00001000

31 POKE USR 'Аи+1,BIN 00011000

32 POKE USR "A"+2,BIN 00001000

33 POKE USR "A"+3.BIN 00011100

34 POKE USR "A"+4,BIN 00101010

35 POKE USR "A"+5,BIN 01001001

36 POKE USR "A"+6,BIN 00011100

37 POKE USR "A"+7,BIN 00100010

40 POKE USR "B"+0,BIN 00001000

41 POKE USR 'B"+1,BIN 00011000

42 POKE USR "B"+2,BIN 00001000

43 POKE USR "B"+3,BIN 00011100

44 POKE USR ,,B" + 4, BIN 00011100

45 POKE USR "B"+5,BIN 000.01000

46 POKE USR "B-'+e.BIN 00010100




СОДЕРЖАНИЕ:


  Оставте Ваш отзыв:

  НИК/ИМЯ
  ПОЧТА (шифруется)
  КОД



Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Обзор - Обзор новых программ : Dragonia, Dinamite Dux, Guella War, Ring Wars, Spike Harold, Stryker in the Crypt of Trogan, 1999.
Версии - 2 версии игры: MOVING TARGET.
Игры - Описание игры Seymour Take One.
Амига - О возможностях AMIGA 600 в сравнении с IBM PC 386.
Интервью - Интервью с CC'000. MADCAT/THE MAD MAILMEN LEAGUE.

В этот день...   19 апреля