User Tag List

Страница 24 из 40 ПерваяПервая ... 202122232425262728 ... ПоследняяПоследняя
Показано с 231 по 240 из 398

Тема: Игра "Зона" на ДВК

  1. #231

    Регистрация
    07.10.2007
    Адрес
    п.Пудость Гатчинского р-на Лен.обл.
    Сообщений
    3,250
    Спасибо Благодарностей отдано 
    360
    Спасибо Благодарностей получено 
    639
    Поблагодарили
    415 сообщений
    Mentioned
    46 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Hunta Посмотреть сообщение
    Предположим, рюкзак полон и тут мы встречаем призрака... Пипец рюкзаку...
    Попробовал на старой STALK.SAV, походил около призрака, он заполнил свободные места рюкзака. Никакого вылета не было.

    - - - Добавлено - - -

    А так по тексту на Макро-11 выход за границу массива не проверяется, потому будет запорчена следующая переменная.

  2. #232

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,512
    Спасибо Благодарностей отдано 
    344
    Спасибо Благодарностей получено 
    714
    Поблагодарили
    596 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alex_K Посмотреть сообщение
    А так по тексту на Макро-11 выход за границу массива не проверяется
    Зато на Шарпе отлично проверяется

  3. #233

    Регистрация
    20.01.2010
    Адрес
    г. Зеленоград
    Сообщений
    600
    Спасибо Благодарностей отдано 
    28
    Спасибо Благодарностей получено 
    231
    Поблагодарили
    123 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от nzeemin Посмотреть сообщение
    А, ещё такой момент мог повлиять, что этот Паскаль не имеет втроенного типа под байт.
    Символьный тип же есть. И да, код очень неэффективен и вызывает сильно желание переписать по-нормальному

  4. #234

    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,308
    Спасибо Благодарностей отдано 
    1,033
    Спасибо Благодарностей получено 
    819
    Поблагодарили
    490 сообщений
    Mentioned
    26 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Sandro Посмотреть сообщение
    Символьный тип же есть. И да, код очень неэффективен и вызывает сильно желание переписать по-нормальному
    Ну да, и основной массив символьный, так что автор про него знал. Но если символьный требует написания все время CHR() и ORD() для битовых операций, например, то понятно почему могло захотеться просто махнуть рукой и взять 16-битный целый. Тем более, что влезло.

    - - - Добавлено - - -

    Кольцо безусловно становится проклятым после снятия. Наверное и так нет смысла его снимать, но странно.
    Больше игр нет

  5. #235

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,512
    Спасибо Благодарностей отдано 
    344
    Спасибо Благодарностей получено 
    714
    Поблагодарили
    596 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Код:
    'U':	begin { вызвать джинна }
    		if (not VAR46) <> false then begin
    			WRITE('Что, влип? ладно, попробую тебя  перенести отсюда. только дороговато это встанет... Ты готов? ');
    			READCHAR(VAR53);
    			if VAR53 <> 'N' then begin
    				for VAR16:=1 to 5 do begin
    					IND[VAR16]:=IND[VAR16]-RANDOM(0,15);
    				end;
    				for VAR16:=1 to 6 do begin {L34504}
    					RUKSAK[VAR16]:='.';
    				end;
    				VAR12:=RANDOM(2,15);
    				VAR14:=RANDOM(2,31);
    VAR22 - типа новый этаж
    Код:
    				VAR22:=RANDOM(0,8);
    Но указатели ставим по старому (VAR4) этажу
    Код:
    				V11070:=@F[VAR4,VAR12,VAR14];
    				V33074:=@F2[VAR4,VAR12,VAR14];
    И только сейчас начинаем разбираться с новым?? Если что, то L03362 выставляет указатели только при перемещении между этажами
    И кстати, наверное можно было сделать и так - VAR22:=RANDOM(0,VAR4);
    Код:
    				if VAR22 > VAR4 then
    					VAR22:=VAR4;
    				VAR4:=VAR22;
    				L03362('J'); { Обновить экран }
    			end;
    		end else
    			WRITELN('Джинн в отгуле');
    	end;

  6. #236

    Регистрация
    20.01.2010
    Адрес
    г. Зеленоград
    Сообщений
    600
    Спасибо Благодарностей отдано 
    28
    Спасибо Благодарностей получено 
    231
    Поблагодарили
    123 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Hunta Посмотреть сообщение
    Но указатели ставим по старому (VAR4) этажу
    И только сейчас начинаем разбираться с новым??
    Да, это очевидная ошибка. Но она ни на что не влияет -- новые указатели никак не используются и будут прописаны правильными значениями в начале следующей итерации игрового цикла.

    Цитата Сообщение от Hunta Посмотреть сообщение
    [code]
    И кстати, наверное можно было сделать и так - VAR22:=RANDOM(0,VAR4);
    Можно. И это лучше соответствует идее. Но оригиналный код будет чаще телепортировать на текущий уровень подземелья, т.е. это изменяет игровую механику.

  7. #237

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,512
    Спасибо Благодарностей отдано 
    344
    Спасибо Благодарностей получено 
    714
    Поблагодарили
    596 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Sandro Посмотреть сообщение
    Но оригиналный код будет чаще телепортировать на текущий уровень подземелья
    Всё зависит от RANDOM

    - - - Добавлено - - -

    Код:
    for VAR16:=1 to 4 do begin {L36262}
    	if V33122[VAR16] <> ' ' then begin {L36322}
    		if (V33136[VAR16] <> VAR12) or (V33146[VAR16] <> VAR14) then begin {L36344}
    VAR22 у нас не меняет только ленивый и в момент разборки с перемещающимся зверем оно вполне может быть 0 или 1. Как и VAR24. Так же вполне может оказаться, что Y или X координаты зверя совпадают с Y или X координатой игрока. И тогда в VAR22 или в VAR24 останутся старые 0 или 1.
    Код:
    			if VAR12 > V33136[VAR16] then {L36434}
    				VAR22:=V33136[VAR16]+1 {L36460}
    			else if VAR12 < V33136[VAR16] then {L36506}
    				VAR22:=V33136[VAR16]-1; {L36532}
    			if VAR14 > V33146[VAR16] then {L36554}
    				VAR24:=V33146[VAR16]+1 {L36600}
    			else if VAR14 < V33146[VAR16] then {L36626}
    				VAR24:=V33146[VAR16]-1; {L36652}
    			if (F[VAR4,VAR22,VAR24] in ['!','-']) and ((V33126[VAR16] and 6) = 4) then {L36674}
    				V33122[VAR16]:=' '
    			else begin
    				F[VAR4,V33136[VAR16],V33146[VAR16]]:='.';
    				CURSORTO(V33136[VAR16],V33146[VAR16]);
    				WRITE('.');
    				F[VAR4,VAR22,VAR24]:=V33122[VAR16];
    				CURSORTO(VAr22,VAR24);
    				WRITE(V33122[VAR16]);
    				F2[VAR4,VAR22,VAR24]:=V33126[VAR16];
    И вот тут мы сажаем зверя по возможной координате с 0 или 1 - если сильно повезёт.
    Код:
    				V33136[VAR16]:=VAR22;
    				V33146[VAR16]:=VAR24;
    				CURSORTO(18,0);
    				WRITE(CHR(33B),CHR(113B))
    			end;
    		end;
    	end;
    end;
    После чего на следующем цикле перемещения он вполне может снести нам краевое ограждение. И у нас образуется дырка в стене за пределы игрового мира. Хороших блужданий в реальном мире

    - - - Добавлено - - -

    Код:
    				end else if (PROBE_FLAG_PTR^ and 6) = 2 then begin
    					{ Недостижимый код, см. выше }
    					{ Попытка переставить игрока на случайную соседнюю ячейку ??? }
    					TMP_Y:=RANDOM(1,3)-2+MAP_Y;
    					TMP_X:=RANDOM(1,3)-2+MAP_X;
    Вполне себе достижимый. И переставить не игрока, а убегающего зверя.

    А теперь вопрос знатокам - убегающий зверь виден на карте? После того как он сбежал из точки, куда встал игрок? Перерисовки зверя на новом положении я не вижу, но если сделать общую перерисовку, то он появляется...

    - - - Добавлено - - -

    В общем, от значительной части глобальных переменных избавился и основные косяки вроде вычистил
    Код:
            Подземелье 1
      0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Рейтинг    0
      ! @ . . . . . . . . .   . . . . .   . . . . . . . . . . . . . !Энергия   25
      !   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . !Оружие     0
      ! . . . . . . . . . . . . . . . . . . . . . . . . . .   . . . !Защита     0
      ! . . . .   . . . . . . .   . . . . . . . . . . . . . . . . . !В банке    0
      ! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . !
      ! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . !Вредность  1
      ! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . !
      ! . . . . . . . . . . . . . .   . . . . . . . . . . . . .   . ! Рюкзак:
      ! . . . . . . . . . .   . . . . . . . . . . . . . . . . . . . !  ] ( < . . .
      ! . . . . . . . . . . . . . . . . . . . . . . . . .   . . . . !
      ! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . !
      ! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . !
      ! . . . . . .   . . . . . . . . . . . . . . . . . . . . . . . !
      ! . . . . . . . . . . . . . . . . . . . . . . . . . . . .   . !
      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Прогнивший пол провалился...З в е р ь !
    http://www.KpXX.Ru/Soft/Games/Stalker

  8. #238

    Регистрация
    30.08.2011
    Адрес
    Зеленоград
    Сообщений
    7,161
    Спасибо Благодарностей отдано 
    2,979
    Спасибо Благодарностей получено 
    374
    Поблагодарили
    311 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Hunta Посмотреть сообщение
    А теперь вопрос знатокам - убегающий зверь виден на карте?
    да, иначе как его догонять? но - он замирает однажды и / или его надо подловить на диагоналях...

    а если ты на него встал как он может быть виден? его жарить надо тогды "Ы"

    то что зверь стены крушит - это не баг, а ФИЧА )))

    Глобальные переменные зло!!! )))

    - - - Добавлено - - -

    Цитата Сообщение от Hunta Посмотреть сообщение
    В общем, от значительной части глобальных переменных избавился и основные косяки вроде вычистил
    будет Сталкер под RSX ? Надо бы тогда там правильные надписи вернуть - убрать трупы девушек и снусмумриков со спектрумами и в хэлпе опечатку поправить !!!
    Архив программ для УК-НЦ, ДВК и БК.

    Ищу игру "СТРАНА МОНСТРОВ" [monstr.sav] для ДВК.

  9. #239

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,512
    Спасибо Благодарностей отдано 
    344
    Спасибо Благодарностей получено 
    714
    Поблагодарили
    596 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от hobot Посмотреть сообщение
    да, иначе как его догонять?
    Посмотрю ещё раз по исходнику на Паскале

    Цитата Сообщение от hobot Посмотреть сообщение
    то что зверь стены крушит - это не баг, а ФИЧА )))
    Я про внешние, а не про внутренние

  10. #240

    Регистрация
    30.08.2011
    Адрес
    Зеленоград
    Сообщений
    7,161
    Спасибо Благодарностей отдано 
    2,979
    Спасибо Благодарностей получено 
    374
    Поблагодарили
    311 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Hunta Посмотреть сообщение
    Я про внешние,
    насколько я помню зверь ломает всё, но при попытке выйти туда игроком там будет стена всё равно,
    выглядело вроде бы так (кирку / золотой шар не найдёшь, не проверишь)
    -----
    ----ю---

    - - - Добавлено - - -

    Цитата Сообщение от Hunta Посмотреть сообщение
    Я про внешние, а не про внутренние
    бегающий зверь вообще всё ЕМНИП стирает - любые предметы под собой!!!
    Архив программ для УК-НЦ, ДВК и БК.

    Ищу игру "СТРАНА МОНСТРОВ" [monstr.sav] для ДВК.

Страница 24 из 40 ПерваяПервая ... 202122232425262728 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Ответов: 17
    Последнее: 26.12.2015, 23:22
  2. Ответов: 31
    Последнее: 15.04.2012, 19:24
  3. [аукцион] "корзины" от ДВК, Э-60
    от Agat в разделе Барахолка (архив)
    Ответов: 8
    Последнее: 08.11.2011, 14:22
  4. Ответов: 0
    Последнее: 15.08.2010, 14:38

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •