:: Главная bs0dd.net :: Новости :: Гостевая книга ::
:: FAN-сайт Nokia Phones :: Архив Nokia 92xx :: Kannel для Windows ::

DOOM

< Игры Главная



DOOM img1 DOOM img2
DOOM img3 DOOM img4

DOOM (или же подобного типа игру) сейчас запускают даже на чайниках! Ну а МК-85 чем хуже? Правильно, ничем! Данную игру, конечно, стоило бы отнести к Wolfenstein-подобным, но если автор замахнулся прямо и четко назвать ее DOOM, я возражать не буду...
Написано Den-ом (dsden@yandex.ru).


Как играть:

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

Управление:
  • DEL - ВЫХОД
  • 5 - ВЫСТРЕЛ
  • 8 - ВПЕРЕД
  • 2 - НАЗАД
  • 4 - ВЛЕВО
  • 6 - ВПРАВО
Нов. игра - Р1
Прод. старой - Р0

Игровой код (TXT файл):

Ввести  DEFM 27 

Набрать следующие регистры (ВНИМАТЕЛЬНО, НЕ ПУТАТЬ 0 И O):


Z$(7)="000V"
Z$(8)="0006E"
Z$(9)="00VEE"
Z$(10)="0LEL"
Z$(11)="0LAL"
Z$(12)="03O3O3"
Z$(13)="006EPV"
Z$(14)="0ERLHE"
Z$(15)="0LEVEL"
Z$(16)="0LALAL"
Z$(17)="0O3O3O"
Z$(18)="0FG3P34"
Z$(19)="0R0VLHE"
Z$(20)="EHHRLAE"
Z$(21)="3O3O3O3"
Z$(22)="O3O3O3O"
Z$(23)="OO33OO3"
Z$(24)="0C8F8IK"
Z$(25)="1ITD521"
Z$(26)="0G973A5"
Z$(27)="G9NMK8G"



Для ускорения ввода можно использовать вспомогательную программу:


10 DEFM 27:FOR I=7 TO 27:PRINT "Z";I;:INPUT Z$(I):NEXT I



После ввода данных программу нужно стереть (если МК-85 без М) иначе игра не влезет в память (занимает 1216 из 1221).

При набивании листинга проги использованы сокращения (ввиду их отсутствия на станд. клаве компа):
  • <= в МК85 это один символ
  • >= в МК85 это один символ
  • != не равно (один символ)

Строки, обозначенные жирным шрифтом, надо вводить без пробелов между операторами, иначе не влезут.
Подчеркнутые символы в строках объяснены ниже

Файл Р0


3 M=SIN O:N=COS O
4 CSR 7:PRINT CHR 1;
5 I=N*3:J=M*3:F=K+I-J:G=L+J+I:FOR H=0 TO 4:GOSUB 95:A(H)=P:NEXT H
6 I=I-N:J=J-M:F=K+I-J:G=L+J+I:FOR H=0 TO 2:GOSUB 95:IF P!=0;A(H*2)=P+5
7 NEXT H:IF A>=8;B=10
8 IF E>=8;D=5
9 IF C>=8;B=C:D=C
10 F=K+N-J:G=L+M+I:FOR H=0 TO 2:GOSUB 95:IF P!=0;A(H*2)=P+10
11 NEXT H:IF A>=13;A=15
12 IF E=13;E=14
13 IF A>=11;IF A<=12;A=8+A
14 IF E>=11;IF E<=12;E=6+E
16 IF C=14;C=16
17 IF C>=13;A=C:B=16:D=B:E=C
19 IF C>=11;IF C<=12;B=6+C:D=8+C
20 CSR 0:PRINT "█";:FOR H=0 TO 4:LETC Z$(7+A(H)):PRINT CHR 96;:NEXT H
22 PRINT "█";INT Q;"%";:$=KEY:IF $="6";O=O-90:GOTO 3
24 IF $="4";O=O+90:GOTO 3
26 IF $="8";IF C<=11;K=K+N:L=L+M:GOTO 4
27 IF $="2";F=K-N:G=L-M:GOSUB 96:IF P<=2;K=F:L=G:GOTO 4
30 IF $!="5" THEN 40:IF C=13 THEN #1:CSR 2:PRINT"███";
32 IF FRAC ((C+3)/5)!=0 THEN 20:T=T-1
34 IF T<=0;$=U$(R):U$(R)=MID(1,S-1)+"1"+MID(S+1,7-S):GOTO 50
40 IF T<=0 THEN 50:IF ABS(R-K)<=1;IF ABS(S-L)<=1;Q=Q-1:IF Q<=0;END
43 IF $=CHR 8;END
45 IF RAN# <= .8 THEN 20:F=R+SGN(K-R):G=S+SGN(L-S):GOSUB 96
46 IF K=F;IF L=G THEN 20
48 IF P<=2;R=F:S=G:GOTO 5
49 GOTO 20
50 F=INT(RAN# *9):G=INT(RAN# *7)+1:GOSUB 96:IF P>=3 THEN 50
52 T=2:R=F:S=G:GOTO 5
95 F=F+M:G=G-N
96 IF F<=11;IF F>=0;IF G>=1;IF G<=7 THEN 98
97 P=4:RETURN
98 IF R=F;IF S=G;P=2:RETURN
99 P=VAL GETC(U$(F),G):RETURN



Файл Р1


3 DEFM 6:VAC:DEFM 27:U$="0000000":FOR F=1 TO 11:$=""
5 FOR G=1 TO 7:P=INT(RAN# *5):CSR 3:PRINT CHR G;:IF P<=2;P=0
7 $=$+CHR(P+48):U$(F)=$:NEXT G:NEXT F:Q=99:L=1:N=1:GOTO#0,50



Файл Р1 - это стряпальщик уровней по RND может быть и другой или составляйте их сами:
Формат уровня : это комната 7 на 12 окруженная стеной

U$(0) ... U$(11)
     0  1  2  3  4  5  6  7  8  91011
  7
  6
  5
  4
  3
  2
  1

Т.е. уровень задается переменными U$(0)..U$(11), где:
  • 0 - пусто
  • 1 - мертвец
  • 2 - ----
  • 3 - выход
  • 4 - стена

Теперь подчеркнутые символы в программе:
  • строка 4 - символ обозначающий движение
  • строка 45 - скорость головы (чем меньше - тем скорость больше) от 0 до 1
  • строка 52 - кол-во выстрелов для убийства головы

Видео:




English
Powered by COMPPAG 0.50
2022-2024 © Compys S&N Systems