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

User Tag List

Страница 7 из 54 ПерваяПервая ... 34567891011 ... ПоследняяПоследняя
Показано с 61 по 70 из 531

Тема: ZX Like Pascal

  1. #61
    Veteran
    Регистрация
    29.12.2010
    Адрес
    Москва
    Сообщений
    1,858
    Спасибо Благодарностей отдано 
    131
    Спасибо Благодарностей получено 
    104
    Поблагодарили
    62 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от denpopov Посмотреть сообщение
    осталось сообразить, как на Паскале реализовать я просто зеркалирование байтов видел в одной деме.
    В моем формате надо пробежаться вначале по всем координатам, найти максимальную по X (если отзеркаливание по X), по Y (если отзеркаливание по Y) или по обоим сразу. Затем для каждого знакоместа сначала вычитать координату из найденной максимальной, а потом само изображение зеркалить по таблице. Собстно, из-за первого этапа будет вывод медленнее, но сделаю.

    ---------- Post added at 21:32 ---------- Previous post was at 21:26 ----------

    Цитата Сообщение от krt17 Посмотреть сообщение
    По хорошему конечно нужны структуры, многомерные массивы и указатели, хоть как то сгладит отсутствие ООП.
    для чего?

  2. #61
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #62
    Veteran
    Регистрация
    29.12.2010
    Адрес
    Москва
    Сообщений
    1,858
    Спасибо Благодарностей отдано 
    131
    Спасибо Благодарностей получено 
    104
    Поблагодарили
    62 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Обновил версию до 0.902, в первом посте, качайте заново
    Добавил операторы:
    WindowGet - запоминание изображения окна в памяти;
    WindowPut - вывод изображения окна из памяти;
    SpritePutXor - вывод спрайта по методу XOR.

    WindowGet и WindowPut хорошо использовать для передвижения спрайтов, не перерисовывая весь экран, а только нужное окно. См. демо в файле demo_move_sprite_get_put.prg

  4. #63
    Veteran
    Регистрация
    29.12.2010
    Адрес
    Москва
    Сообщений
    1,858
    Спасибо Благодарностей отдано 
    131
    Спасибо Благодарностей получено 
    104
    Поблагодарили
    62 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Я подумал, пописАл, и решил всё-таки не делать вывод зеркальных спрайтов. Процедура получается очень огромная, более 600 байт (вместе с таблицей зеркальных байтов), универсальная и медленнее в 2 с лишним раза, чем обычный вывод спрайта. Универсальная - потому что, если не делать универсальной, нужна куча операторов Паскаля со всяческими комбинациями - отражение по X, Y, XY; принцип наложения clear, and, or, xor.
    Проще сразу сделать зеркальные спрайты, какие надо, и выводить обычной процедурой вывода спрайта. Это и быстрее, и если немного спрайтов, то меньше места займут.

  5. #64
    Guru Аватар для ALKO
    Регистрация
    25.09.2009
    Адрес
    Одесса
    Сообщений
    2,258
    Спасибо Благодарностей отдано 
    76
    Спасибо Благодарностей получено 
    183
    Поблагодарили
    86 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Andrew771 Посмотреть сообщение
    . Это и быстрее, и если немного спрайтов, то меньше места займут.
    ну да. Попсовые спрайты размером 16*16 с двумя кадрами анимации не много места займут.

    А если спрайты 48*48 и их штук 30-40 ? Оптимально ли их хранить в памяти сразу в зеркальном виде

  6. #65
    Veteran
    Регистрация
    29.12.2010
    Адрес
    Москва
    Сообщений
    1,858
    Спасибо Благодарностей отдано 
    131
    Спасибо Благодарностей получено 
    104
    Поблагодарили
    62 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ALKO Посмотреть сообщение
    А если спрайты 48*48 и их штук 30-40 ? Оптимально ли их хранить в памяти сразу в зеркальном виде
    Блин, уломал. Ну тогда придумай, как не увеличивая до бесконечности операторы, сделать не совсем универсальной. Универсальность тоже не айс.

  7. #66
    Banned
    Регистрация
    12.02.2014
    Адрес
    г. Арзамас
    Сообщений
    6,123
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Странно, что компилятор подавился на:
    Код:
    var k,d,m:integer;       << Error: TYPE expected >>

  8. #67
    Veteran
    Регистрация
    29.12.2010
    Адрес
    Москва
    Сообщений
    1,858
    Спасибо Благодарностей отдано 
    131
    Спасибо Благодарностей получено 
    104
    Поблагодарили
    62 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Он не поддерживает тип integer, а только byte, word и string[N]

    ---------- Post added at 12:39 ---------- Previous post was at 12:34 ----------

    Byte - Целые числа от 0 до 255.

    Word - Целые числа от 0 до 65535.

    String[n] - Символьные строки. n – максимальная длина строки от 1 до 255.

    ArrayByte[n1]
    ArrayByte[n1,n2] - Одномерные и двумерные массивы целых чисел от 0 до 255.
    n1,n2 – максимальные индексы от 1 до 65535.

    ArrayWord[n1]
    ArrayWord[n1,n2] - Одномерные и двумерные массивы целых чисел от 0 до 65535.
    n1,n2 – максимальные индексы от 1 до 65535.

    ArrayString[n1,n2] - Одномерные массивы символьных строк.
    n1 – максимальный индекс от 1 до 65535, n2 – максимальная длина строк от 1 до 255.

  9. #68
    Banned
    Регистрация
    12.02.2014
    Адрес
    г. Арзамас
    Сообщений
    6,123
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Andrew771 Посмотреть сообщение
    Он не поддерживает тип integer, а только byte, word и string[N]
    да, я прочитал документцию

    когда заработают процедуры с передачей параметров? а то выходит натуральная оберонщина.

  10. #69
    Veteran
    Регистрация
    29.12.2010
    Адрес
    Москва
    Сообщений
    1,858
    Спасибо Благодарностей отдано 
    131
    Спасибо Благодарностей получено 
    104
    Поблагодарили
    62 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от denpopov Посмотреть сообщение
    когда заработают процедуры с передачей параметров? а то выходит натуральная оберонщина.
    Сейчас бьюсь над зеркальным выводом спрайтов, уже заканчиваю, чтобы ALKO нормально игру свою писал.
    После этого тогда займусь, по срокам не знаю как...
    Кстати, меня самого начинает бесить, что нет записей. Из-за этого многие мои исходники на Паскале пока лежат без дела - долго переписывать под Недопаскаль.
    После этого уже можно сунуть исходник компилятора самому компилятору.

  11. #70
    Veteran
    Регистрация
    29.12.2010
    Адрес
    Москва
    Сообщений
    1,858
    Спасибо Благодарностей отдано 
    131
    Спасибо Благодарностей получено 
    104
    Поблагодарили
    62 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Обновил сегодня до версии 0903, в первом посте.

    Добавил:

    - операторы зеркального вывода спрайтов относительно вертикальной оси с разными методами наложения изображения на экран: SpritePutMirrorClear, SpritePutMirrorAnd, SpritePutMirrorOr, SpritePutMirrorXor.
    - оптимизировал процедуры вывода на виртуальный экран, чуть быстрее стали работать.

Страница 7 из 54 ПерваяПервая ... 34567891011 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. PASCAL + MACRO11 (УКНЦ-ДВК).
    от hobot в разделе ДВК, УКНЦ
    Ответов: 341
    Последнее: 15.01.2022, 17:30
  2. Turbo Pascal для msx/msx2
    от Оззя в разделе MSX
    Ответов: 4
    Последнее: 23.02.2020, 23:59
  3. в розыске дисковая версия Pascal.
    от goblinish в разделе Программирование
    Ответов: 18
    Последнее: 16.08.2011, 16:30
  4. Pascal
    от Andrew771 в разделе Программирование
    Ответов: 22
    Последнее: 24.05.2011, 21:20
  5. Скопировать/вставить из/в HiSoft Pascal в эмуляторе
    от kit в разделе Программирование
    Ответов: 1
    Последнее: 05.02.2010, 15:35

Ваши права

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