ZX-Ревю 1995 №2 1994 г.

Читатель-читателю - "ПЯТНАДЦАТЬ".

```          "ПЯТНАДЦАТЬ"
--------------------------------
(C) Юрий Бабенко,
г.Кролевец, 1995.
---------------------------------

Посылаю Вам мою  первую  прог-
рамму.  Это  компьютерная  версия
широко известной игры "15".

5 BORDER 7: PAPER 7: INK 0: C
LS
10 PRINT #1;"PROGRAMMING BY BA
BENKO U.V."
20 FOR Z=1 TO 2: READ A\$
22 FOR X=0 TO 7: READ Y
24 POKE USR A\$+X,Y
25 NEXT X: NEXT Z
28 DATA "A",1,3,7,15,31,63,127
,255,"B",255,254,252,248,240,224
,192,128
30 DATA "3","9","14","5","8","
12","1","7","10","13","2","6","1
5","4","11"
35 DIM L(16): DIM M(16): DIM N
(16): DIM B\$(16,2)
36 FOR Z=1 TO 15: LET L(Z)=2:
LET M(Z)=6: READ G\$: LET B\$(Z)=G
\$: NEXT Z
37 LET L(16)=7: LET M(16)=7: L
ET N(15)=1: LET P=23: LET H=18
40 LET K=0
41 FOR B=1 TO 16 STEP 5: FOR A
=7 TO 22 STEP 5: LET K=K+1: PRIN
T AT B,A; INK L(K);"AЫЫЫ";AT B+1
,A; PAPER M(K); BRIGHT N(K);"
"; BRIGHT 0;"Ы";AT B+2,A;" "; FL
ASH N(K);B\$(K); FLASH 0;"Ы";AT B
+3,A; BRIGHT N(K);"   "; BRIGHT
0; PAPER 7;"B": NEXT A: NEXT B
43 LET K=0
44 FOR Z=1 TO 15
46 IF B\$(Z)=STR\$ Z OR B\$(Z)=ST
R\$ Z+" " THEN  LET K=K+1
47 NEXT Z
48 IF K=15 THEN  GO TO 135
50 IF INKEY\$="1" THEN  BEEP .0
5,7: GO TO 60
51 IF INKEY\$="0" THEN  BEEP .0
5,0: GO TO 110
52 GO TO 50
60 IF P=8 THEN  GO TO 63
61 IF ATTR (H,P-5)=178 THEN  G
O TO 80
63 IF H=3 THEN  GO TO 67
64 IF ATTR (H-5,P)=178 THEN  G
O TO 83
67 IF P=23 THEN  GO TO 75
68 IF ATTR (H,P+5)=178 THEN  G
O TO 87
75 IF P=8 THEN  GO TO 80
76 LET A=P-5: LET B=H: GO TO 9
0
80 IF H=3 THEN  GO TO 83
81 LET B=H-5: LET A=P: GO TO 9
0
83 IF P=23 THEN  GO TO 87
84 LET A=P+5: LET B=H: GO TO 9
0
87 IF H=18 THEN  GO TO 75
88 LET B=H+5: LET A=P
90 LET Z=0
92 FOR X=3 TO 18 STEP 5: FOR Y
=8 TO 23 STEP 5: LET Z=Z+1
95 IF X=B AND Y=A THEN  LET N(
Z)=1: GO TO 100
96 LET N(Z)=0
100 NEXT Y: NEXT X
105 GO TO 40
110 LET K=0
111 LET Z=0
120 FOR X=3 TO 18 STEP 5: FOR Y
=8 TO 23 STEP 5: LET Z=Z+1
122 IF ATTR (X,Y)=178 AND K=0 T
HEN  LET L(Z)=7: LET M(Z)=7: LET
N(Z)=0: LET G\$=B\$(Z): LET H=X:
LET P=Y
125 IF ATTR (X,Y)=63 AND K=1 TH
EN  LET M(Z)=6: LET L(Z)=2: LET
N(Z)=1: LET B\$(Z)=G\$
127 NEXT Y: NEXT X
129 LET K=K+1: IF K=1 THEN  GO
TO 111
130 GO TO 40
135 PRINT AT 21,12; FLASH 1; BR
IGHT 1;"GAME "; INVERSE 1;"OVER"

Управление игрой осуществляет-
ся двумя клавишами:  "1" - управ-
ление курсором и "0" -  перемеще-
ние кубика.
В строке 41 используются  сим-
волы блочной графики и UDG-графи-
ки, формирование последних проис-
ходит в строках 20-25.  В строках
36 и 37 происходит первоначальная
установка массивов,  цвета рамки,
курсора и чисел.  Строки 40 и  41
служат для рисования игрового по-
ля. В строках 43-48 осуществляет-
ся проверка правильности сложения
кубиков. Строки 50-52 служат  для
опроса клавиатуры.  Строки 60-105
- управление   курсором.   Строки
110-130 - управление перемещением
кубиков.

1

Можно порекомендовать откомпи-
лировать  программу  компилятором
TOBOS FP,  после чего ее  быстро-
действие  станет  вполне приемле-
мым.
Следует также заметить, что мы
рекомендуем использовать  предло-
женную программу в качестве рабо-
чего макета, который послужит за-
готовкой   или  идеей  для  более
изощренной программы,  аналогично
тому,  как  это было предложено в
ZX-РЕВЮ-94, N4, стр.83.
```

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

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

Похожие статьи:

В этот день...   29 ноября