User Tag List

Показано с 1 по 10 из 697

Тема: Бейсики для Вектора-06Ц и клонов

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    02.02.2005
    Адрес
    Saint-Petersburg
    Сообщений
    240
    Спасибо Благодарностей отдано 
    148
    Спасибо Благодарностей получено 
    54
    Поблагодарили
    34 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    Команда SCREEN0,0,L,P присвоит математическим/логическим цветам 0 и 1 физические цвета L и P
    Да, но я имел ввиду другой контекст.
    Код:
    10 FOR L=0 TO 15
    20 P=INT(RND(1)*255)+1)
    30 SCREEN 0,L,P
    40 NEXT L
    И вот здесь берём мою формулировку: Команда SCREEN 0,L,P в строке 30 служит для присвоения логическому цвету L (0-15, из 16 возможных) случайного физического цвета P из палитры 255 цветов.

    Цитата Сообщение от ivagor Посмотреть сообщение
    Цвет бордюра зависит не только от SCREEN (физический) но и от третьего аргумента COLOR (математический/логический, по умолчанию в 2.5=1, но так не во всех его клонах).
    Проблемы терминологические. Я считаю так:

    • Логический цвет - это то чем оперирует программист на своём уровне логики работы программы, это абстракция. В 06Ц Бейсик программист может оперировать 16 цветами, потому что больше Вектор на экране формально показать не может.
    • Физический цвет - это цвет который присвоен логическому цвету физически, по факту. Какие для этого отображения потребовалось затронуть плоскости, программисту на уровне Бейсика, в принципе безразлично. Он про них наверное и знать не обязан.

    То что я хочу сказать:

    • Физический цвет фона зависит от установленного логического цвета 0
    • Физический цвет бордюра зависит от установленного логического цвета 1
    • Физический цвет тона зависит от установленного логического цвета 15.

    Вместо тысячи слов. Вот программа на Acorn BASIC:
    Код:
       10 REM Draw to the screen
       20 MODE 2
       30 D=1280/16
       40 X=0
       50 MOVE X,0  
       60 MOVE X,1024   
       70 FOR I=0 TO 15  
       80 X=X+D
       90 GCOL 0,I
      100 PLOT 85,X,0
      110 PLOT 85,X,1024
      120 NEXT I
      130 REM Cycle the palette
      140 K=0
      150 FOR L=0 TO 15
      160 P=0
      170 IF L=K THEN P=5
      180 VDU 19,L,P,0,0,0
      190 NEXT L
      200 K=K+1  
      210 IF K>15 THEN K=0 : REM We can now use 0 as part of our animation
      220 GOTO 150
    Переписываем это на 06Ц Бейсик:
    Код:
    10 D=255/16
    20 X=0
    30 PLOT X,0,2
    40 PLOT X,255,2
    50 FOR I=0 TO 15
    60 X=X+D
    70 COLOR I
    80 LINE X,0,BF
    90 LINE X,255,BF
    100 NEXT I
    110 K=0
    120 FOR L=0 TO 15
    130 P=0
    140 IF L=K THEN P=5
    150 SCREEN 0,L,P
    160 NEXT L
    170 K=K+1
    180 IF K>15 THEN GOTO 110
    190 GOTO120
    И это даже работает. Внимание, вопрос: как будет выглядеть проверка необходимая для того чтобы эта шляпа не моргала бордюром?

    Программа для Вектора: anim.zip
    Последний раз редактировалось aGGreSSor; 31.07.2025 в 22:31.

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

  3. #2

    Регистрация
    05.01.2009
    Адрес
    Харьков
    Сообщений
    160
    Спасибо Благодарностей отдано 
    24
    Спасибо Благодарностей получено 
    13
    Поблагодарили
    11 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от aGGreSSor Посмотреть сообщение
    Логический цвет - это то чем оперирует программист на своём уровне логики работы программы, это абстракция.

    Если правильно понимаю, на других платформах это называется индексом в палитре цветов (просто когда писали мануалы для Вектора, такой терминологии в русскоязычном пространстве в ходу не было)

  4. #3

    Регистрация
    02.02.2005
    Адрес
    Saint-Petersburg
    Сообщений
    240
    Спасибо Благодарностей отдано 
    148
    Спасибо Благодарностей получено 
    54
    Поблагодарили
    34 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от x-code Посмотреть сообщение
    Если правильно понимаю, на других платформах это называется индексом в палитре цветов
    Думаю, нет. Palette index это именно номер цвета в неизменяемой палитре из 256 цветов, иначе физический цвет. Можно было бы назвать 16 цветов отображаемых на экране, также палитрой (задаваемой) и ivagor выше это даже сделал. Но такой подход вносит путаницу, потому что о какой палитре мы говорим можно будет понять только из контекста. Проще считать что палитра одна - это все 256 физически доступных цветов.

    Цитата Сообщение от x-code Посмотреть сообщение
    (просто когда писали мануалы для Вектора, такой терминологии в русскоязычном пространстве в ходу не было)
    Конечно. Я писал про доку в pdf созданную уважаемым @metamporho и выложенную здесь. Это ни в коем случае не критика, в той pdf проделана огромная работа по консолидации информации из разных мануалов, с любовью всё раскрашено, пользоваться этой pdf удобно. Считаю что она ключевая по 06Ц Бейсик. Но есть моменты вводящие в заблуждение и недосказанности, есть орфографические ошибки которые надо вычитывать. Поэтому просто подсвечиваю и предлагаю на обсуждение в теме.

  5. #4

    Регистрация
    05.01.2009
    Адрес
    Харьков
    Сообщений
    160
    Спасибо Благодарностей отдано 
    24
    Спасибо Благодарностей получено 
    13
    Поблагодарили
    11 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от aGGreSSor Посмотреть сообщение
    Думаю, нет. Palette index это именно номер цвета в неизменяемой палитре из 256 цветов, иначе физический цвет. Можно было бы назвать 16 цветов отображаемых на экране, также палитрой (задаваемой) и ivagor выше это даже сделал. Но такой подход вносит путаницу, потому что о какой палитре мы говорим можно будет понять только из контекста. Проще считать что палитра одна - это все 256 физически доступных цветов.
    Возможно, на Векторе действительно принята такая терминология, т.к. Вектор физически даёт на выбор всего 256 цветов из-за ограничений ЦАП. На PC в эпоху VGA палитрой называли только те цвета, которые одновременно могли присутствовать на экране, т.к. говорить о "палитре" в 262144 (или сколько там позволял VGAшный ЦАП) цветов не было особого смысла ввиду того, что каждый из R, G, B компонентов занимал отдельный байт.

  6. #5

    Регистрация
    02.02.2005
    Адрес
    Saint-Petersburg
    Сообщений
    240
    Спасибо Благодарностей отдано 
    148
    Спасибо Благодарностей получено 
    54
    Поблагодарили
    34 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от x-code Посмотреть сообщение
    Возможно, на Векторе действительно принята такая терминология, т.к. Вектор физически даёт на выбор всего 256 цветов из-за ограничений ЦАП. На PC в эпоху VGA палитрой называли только те цвета, которые одновременно могли присутствовать на экране, т.к. говорить о "палитре" в 262144 (или сколько там позволял VGAшный ЦАП) цветов не было особого смысла ввиду того, что каждый из R, G, B компонентов занимал отдельный байт.
    Как дело обстояло на PC в эпоху VGA не могу сказать. На Амигах, например, стандартно описывается экран как 32-256 цветов из палитры 4 096 цветов (в зависимости от всяких EHB, etc), а с включённым HAM8 как 262 144 цветов из палитры 16,7 млн. (24 бита). Это общераспространённая терминология и по-русски, и по-английски, например такая табличка:

    Нажмите на изображение для увеличения. 

Название:	palette.jpg 
Просмотров:	194 
Размер:	24.9 Кб 
ID:	82648

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

    Цитата Сообщение от ivagor Посмотреть сообщение
    При использовании для программирования на бейсике комбинации редактор+конвертер эта длина может быть очень большой. Пример с ретрограда - в игрушке CORPSE есть 2 штуки ON ... GOTO с примерно 40 переходами.
    Судя по всему из-за конвертора у меня эти баги и возникают. Причём они плавающие, но на момент написания поста была чёткая картина, что вот есть кусок кода в котором переходы начиная с 16-го не выполнялись. Можно было предположить, что это связано с хранением данных. В результате на какой-то итерации заработало. Да, можно. Да, ограничено только длиной строки.

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

    Цитата Сообщение от ivagor Посмотреть сообщение
    Конверсия музыки отличная, спасибо!
    Спасибо за оценку и наводку. Свою демку закончил. Решил не использовать эту музыку в демке, так что если кому-то надо для этих целей, прилагаю полную версию "Полёта шмеля" Николая Римского-нашего-Корсакова (СС уже близко): conv_polet_full.zip

  7. #6

    Регистрация
    24.08.2012
    Адрес
    г. Волжский
    Сообщений
    474
    Спасибо Благодарностей отдано 
    807
    Спасибо Благодарностей получено 
    278
    Поблагодарили
    106 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от aGGreSSor Посмотреть сообщение
    .......... Решил не использовать эту музыку в демке, так что если кому-то надо для этих целей, прилагаю полную версию "Полёта шмеля" Николая Римского-нашего-Корсакова (СС уже близко).....
    "Полёт шмеля" - звучит очень даже хорошо. Это можно на конкурс в раздел "Другие возможные категории" включить.
    Последний раз редактировалось metamorpho; 13.08.2025 в 22:18.

  8. #7

    Регистрация
    02.02.2005
    Адрес
    Saint-Petersburg
    Сообщений
    240
    Спасибо Благодарностей отдано 
    148
    Спасибо Благодарностей получено 
    54
    Поблагодарили
    34 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от metamorpho Посмотреть сообщение
    "Полёт шмеля" - звучит очень даже хорошо. Это можно на конкурс в раздел "Другие возможные категории" включить.
    У меня была идея сделать 3D-тоннель по которому летит шмель под эту музыку, но в итоге сначала сделал что попроще (3 эффекта, 5 частей, будет на CC) и память закончилась. Так что дарю идею. Тоннель сделать просто, а спрайты в бейсике я не придумал как делать. Если знакогенератором, то там символы эти 5x8 не склеиваются, полоски по бокам. Не стал дальше голову ломать. Шатать шмеля можно было бы аппаратным скроллером. Если бы для Вектора было что-то типа zxart.ee, я бы туда загрузил и забыл. Кому-нибудь пригодилось бы.

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

    Цитата Сообщение от ivagor Посмотреть сообщение
    Немного замедлена сравнительно редкая операция рисования дуг в CIRCLE
    Использовал эту сравнительно редкую операцию в хвост и гриву.
    Цитата Сообщение от ivagor Посмотреть сообщение
    рисунки в классических версиях и в новой могут не совпадать точка в точку, но я решил пойти на это.
    У меня всё совпало с 2.997 и 2.998. Визуально не вижу отличий. Я использовал у себя "сравнительно компактный вариант определения версии", чтобы отшить V2.5. Отшил. Заодно отшил и эту версию Бейсика. Проверил, что если удалить определение, то моя программа работает как и задумывалось. Никакой разницы с 2.997/2.998 (судя по описанию думал что её должно страшно перекорёжить).

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

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

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

Похожие темы

  1. Картотека ПО для Вектора-06ц
    от svofski в разделе Вектор
    Ответов: 719
    Последнее: 04.04.2024, 11:13
  2. Восстановление Вектора-06ц
    от Daniil Chislov 86 в разделе Вектор
    Ответов: 100
    Последнее: 11.03.2021, 00:23
  3. Ответов: 198
    Последнее: 26.04.2020, 13:05
  4. Ответов: 58
    Последнее: 06.07.2019, 23:56
  5. Ответов: 8
    Последнее: 14.11.2008, 02:41

Ваши права

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