ZX-Ревю 1994 №4 1993 г.

Сделай сам - игра "Сапёр".


САПЕР

© Вадим Пыльцов, г. Надым, 1994.

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

Программа русифицирована при помощи догружаемого символьного набора, хотя для макета, может быть, это и излишняя роскошь.

1 GO TO 10

2 BORDER 0: PAPER 0: INK 7: CLEAR 645 99

3 RANDOMIZE USR 15619: REM : LOAD "chr"CODE 64600

4 POKE 23675,88: POKE 23676,255: GO SUB 600: RUN

5 GO TO 9900

8 POKE 23606,88: POKE 23607,251: RETURN : REM RUS

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

10 POKE 23658,8: GO SUB 8

20 INPUT "ВВЕДИТЕ УРОВЕНВ ИГРЫ (1-5): ";A 30 INPUT "ПОKAЗAТB СЛЕДЫ (Y/N) ";LINE A$ 40 PRINT AT 1,9;"УРОВЕНЬ ";A;AT 1,21;"НАДЫМ'1992";AT 2,21;"ПЫЛЬЦОВ B.";AT

14,6;"ВОКРУГ ВАС МИН" 50 LET K=88: PLOT 68,155: DRAW K,0: DRAW 0,-K: DRAW -K,0: DRAW 0,K: PLOT 164,171:

DRAW K,0: DRAW 0,-2 4: DRAW -K,0: DRAW 0,2 4 55 DIM M(10,10): FOR I=1 TO A*7: LET M(INT (RND*10)+1,INT (RND*10)+1)=1: NEXT I: LET

M(1,10)=0 : LET X=18: LET Y=3: PRINT AT Y,X;"A";AT 12,9;"B": GO SUB 500 60 LET I$=INKEY$: IF I$="" THEN GO TO 60 70 IF A$="Y" THEN PRINT AT Y,X;"C" 75 IF A$<>"Y" THEN PRINT AT Y,X; " "

80 LET X=X-(1 AND I$="O" AND X>=10)+(1 AND I$="P" AND X<=17) 90 LET Y=Y-(1 AND I$="Q" AND Y>=4)+(1 AND I$="A" AND Y<=11)

100 BEEP .01,-15: IF X=9 AND Y=12 THEN PRINT AT 7,21; FLASH 1;" БАНЗАЙ! ": FOR I=1 TO 300: NEXT I: RUN

110 IF M(Y-2,X-8)=1 THEN PRINT AT Y,X;"D";AT 7,20; FLASH 1;" ВЫ ПОГИБЛИ ": FOR I=1 TO

300: NEXT I: PAUSE 0: RUN 120 PRINT AT Y,X;"A": GO SUB 500: GO TO 60

500 LET K=0: FOR I=X-9 TO X-7: IF I<1 OR I>10 THEN GO TO 540 510 FOR J=Y-3 TO Y-1: IF J<1 OR J>10 THEN GO TO 530 520 IF M(J,I)=1 THEN LET K=K+1 530 NEXT J

540 NEXT I: PRINT AT 14,17;K: RETURN

БЫ ПОБЕДИЛИ

ЖИЗНИ □

F —ВНИЗ

0 -ВЛЕВО Р -ВПРНВО

1 -ФЛНМОК

SPRCE --ОТКРЫТЬ

600 RESTORE 600: FOR I=USR "A" TO USR "A"+31

610 READ K: POKE I,K: NEXT I: RETURN

620 DATA 16,56,56,16,124,16,40,68

630 DATA 16,40,68,130,186,186,130,254

640 DATA 0,18,36,72,18,36,72,0

650 DATA 16,146,84,9,52,238,60,24

9900 RANDOMIZE USR 15619: REM : ERASE "SAPER"

9910 RANDOMIZE USR 15619: REM : SAVE "SAPER"LINE 2

* * *




СОДЕРЖАНИЕ:


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

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



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

Похожие статьи:
Hot News - горячие новости с Амижного фронта.
Обратная связь - контакты редакции.
Tвoя Игpa - обзор игр конкурса: Куpьеp 2. Пoтеpянный миp, Mенеджеp, The Dome, Abe`s Mission, Шaхтa, Super Mario Bros.
Железо - Устройства ввода-вывода: Клавиатура.
Программистам - Сборник кодов: зашифровка файла, Эффект точечной сетки, работа с диском при включенных прерываниях, программирование кэша.

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