Важная информация

User Tag List

Страница 9 из 9 ПерваяПервая ... 56789
Показано с 81 по 90 из 90

Тема: Перевод гайда How to Write ZX Spectrum Games

  1. #81
    Guru
    Регистрация
    27.02.2005
    Адрес
    москва
    Сообщений
    13,754
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    141
    Спасибо Благодарностей получено 
    1,172
    Поблагодарили
    769 сообщений
    Mentioned
    18 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию


  2. #82
    Guru
    Регистрация
    27.02.2005
    Адрес
    москва
    Сообщений
    13,754
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    141
    Спасибо Благодарностей получено 
    1,172
    Поблагодарили
    769 сообщений
    Mentioned
    18 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от krt17 Посмотреть сообщение
    Всегда вычислял след образом
    xli=max(xl1,xl2)
    xri=min(xr1,xr2)
    возможно я объяснил косноязычно, но что у тебя вычисляется в скобках мне тоже непонятно.

  3. #83
    Guru
    Регистрация
    27.02.2005
    Адрес
    москва
    Сообщений
    13,754
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    141
    Спасибо Благодарностей получено 
    1,172
    Поблагодарили
    769 сообщений
    Mentioned
    18 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    для простых объектов (допустим кубики 16х16) рассчёт столкновения (как у Джонатана) на-бейсике выглядит так

    IF ABS (x1-x2) < l then collision

  4. #84
    Member Аватар для helcril
    Регистрация
    15.12.2009
    Адрес
    Angarsk
    Сообщений
    191
    Спасибо Благодарностей отдано 
    76
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А к чему эта картинка? В примере программы из гайда же маска не используется.
    =======================================
    Мой профиль на Pixeljoint: http://pixeljoint.com/p/35576.htm
    =======================================
    Мой профиль на ZXArt.ee: http://zxart.ee/rus/avtory/h/helcril/
    =======================================
    ZX Spectrum +2, ZX Evolution Rev. C

  5. #85
    Guru
    Регистрация
    27.02.2005
    Адрес
    москва
    Сообщений
    13,754
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    141
    Спасибо Благодарностей получено 
    1,172
    Поблагодарили
    769 сообщений
    Mentioned
    18 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от helcril Посмотреть сообщение
    А к чему эта картинка? В примере программы из гайда же маска не используется.
    как пример для алгоритмов Джонатана.

  6. #86
    Member Аватар для helcril
    Регистрация
    15.12.2009
    Адрес
    Angarsk
    Сообщений
    191
    Спасибо Благодарностей отдано 
    76
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от goodboy Посмотреть сообщение
    как пример для алгоритмов Джонатана.
    Видимо, какое-то недопонимание происходит. Как выглядит столкновение не квадратных спрайтов мне понятно.
    Непонятно как работает вот это:
    Код:
    ; Check (l, h) for collision with (c, b), cutting corners.
    
    colc16 ld a,l              ; x coord.
           sub c               ; subtract x.
           jr nc,colc1a        ; result is positive.
           neg                 ; make negative positive.
    colc1a cp 16               ; within x range?
           ret nc              ; no - they've missed.
           ld e,a              ; store difference.
    
           ld a,h              ; y coord.
           sub b               ; subtract y.
           jr nc,colc1b        ; result is positive.
           neg                 ; make negative positive.
    colc1b cp 16               ; within y range?
           ret nc              ; no - they've missed.
    
           add a,e             ; add x difference.
           cp 26               ; only 5 corner pixels touching?
           ret                 ; carry set if there's a collision.
    Т.е. формула в конце алгоритма такая:
    |(x1-x2)+(y1-y2)|<=25 то столкновение считается, если больше, то нет.
    Мне не код непонятен, а именно геометрический (?) принцип лежащий в основе него. Я так понимаю, что манипулируя вот этим числом (в данном случае 25) можно изменять размер отсекаемых углов. Поправьте меня, если я что-то не так понял.
    =======================================
    Мой профиль на Pixeljoint: http://pixeljoint.com/p/35576.htm
    =======================================
    Мой профиль на ZXArt.ee: http://zxart.ee/rus/avtory/h/helcril/
    =======================================
    ZX Spectrum +2, ZX Evolution Rev. C

  7. #87
    Guru
    Регистрация
    27.02.2005
    Адрес
    москва
    Сообщений
    13,754
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    141
    Спасибо Благодарностей получено 
    1,172
    Поблагодарили
    769 сообщений
    Mentioned
    18 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    как в анекдоте "1/2+0.5=? нутром чую что литр, а доказать немогу"
    специально по-пути домой купил тетрадку в-клеточку.
    формула работает, осталось доказать зависимость суммы разницы координат

  8. #88
    Member Аватар для helcril
    Регистрация
    15.12.2009
    Адрес
    Angarsk
    Сообщений
    191
    Спасибо Благодарностей отдано 
    76
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от goodboy Посмотреть сообщение
    как в анекдоте "1/2+0.5=? нутром чую что литр, а доказать немогу"
    специально по-пути домой купил тетрадку в-клеточку.
    формула работает, осталось доказать зависимость суммы разницы координат
    Примерно мои мысли и действия описаны
    =======================================
    Мой профиль на Pixeljoint: http://pixeljoint.com/p/35576.htm
    =======================================
    Мой профиль на ZXArt.ee: http://zxart.ee/rus/avtory/h/helcril/
    =======================================
    ZX Spectrum +2, ZX Evolution Rev. C

  9. #89
    Member
    Регистрация
    01.03.2016
    Адрес
    г. Санкт-Петербург
    Сообщений
    75
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Только сейчас вспомнил, что давеча скачивал эту книгу - было переведено 4 главы - до "Случайных чисел" включительно. С английским оригиналом точность не сравнивал - каюсь, слабо и долго читаю английский текст, сноровка не велика - но ваша версия читается и воспринимается прекрасно. Спасибо.

  10. #90
    Veteran
    Регистрация
    26.11.2013
    Адрес
    г. Новосибирск
    Сообщений
    1,041
    Спасибо Благодарностей отдано 
    931
    Спасибо Благодарностей получено 
    224
    Поблагодарили
    121 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от helcril Посмотреть сообщение
    Т.е. формула в конце алгоритма такая:
    |(x1-x2)+(y1-y2)|<=25 то столкновение считается, если больше, то нет.
    Не модуль суммы, а сумма двух модулей.
    |(x1-x2)|+|(y1-y2)|<=25
    Для координат x1 и y1 эта область - ромб, с диагоналями параллельными осям, центром в точке (x2,y2) и длиной полудиагонали 25.

Страница 9 из 9 ПерваяПервая ... 56789

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

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

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

Похожие темы

  1. Games Compo "From the Arcade to the Spectrum"
    от Rindex в разделе Игры
    Ответов: 5
    Последнее: 28.10.2014, 11:07
  2. 30 ZX Spectrum Games - угадываем названия игр
    от Sabrewulf в разделе Игры
    Ответов: 156
    Последнее: 17.06.2009, 12:41
  3. The Spectrum Games Bible
    от ant222 в разделе Игры
    Ответов: 1
    Последнее: 26.07.2008, 18:35
  4. Read-write vTR-DOS
    от Sonic в разделе Оси
    Ответов: 3
    Последнее: 23.04.2007, 15:34
  5. ZX Spectrum games after 1993
    от alone в разделе Игры
    Ответов: 4
    Последнее: 01.03.2007, 20:42

Ваши права

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