User Tag List

Страница 68 из 70 ПерваяПервая ... 64656667686970 ПоследняяПоследняя
Показано с 671 по 680 из 697

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

  1. #671

    Регистрация
    02.02.2005
    Адрес
    Saint-Petersburg
    Сообщений
    221
    Спасибо Благодарностей отдано 
    132
    Спасибо Благодарностей получено 
    48
    Поблагодарили
    30 сообщений
    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. #672

    Регистрация
    05.08.2008
    Адрес
    Магнитогорск
    Сообщений
    989
    Спасибо Благодарностей отдано 
    25
    Спасибо Благодарностей получено 
    96
    Поблагодарили
    46 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Переделал немного, 0-й цвет это цвет фона, его в данном случае нельзя использовать, иначе будет моргать бордюром. anim2.zip
    Здесь можно скачать актуальные версии Virtual Vector (VV)

  3. #673

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

    По умолчанию

    Цитата Сообщение от Ramiros Посмотреть сообщение
    Переделал немного, 0-й цвет это цвет фона, его в данном случае нельзя использовать, иначе будет моргать бордюром. anim2.zip
    Спасибо. Но в случае IF L=K AND L>0 мы просто не рисуем первую позицию анимации, чтобы у нас не моргал бордюр. Немного нелогично, цветов у нас 16. В оригинале это выглядит так:


  4. #674

    Регистрация
    05.08.2008
    Адрес
    Магнитогорск
    Сообщений
    989
    Спасибо Благодарностей отдано 
    25
    Спасибо Благодарностей получено 
    96
    Поблагодарили
    46 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Проблему бордюра можно решить просто переключая цвет бордюра например так: anim3.zip
    Здесь можно скачать актуальные версии Virtual Vector (VV)

  5. #675

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

    По умолчанию

    Цитата Сообщение от Ramiros Посмотреть сообщение
    Проблему бордюра можно решить просто переключая цвет бордюра например так: anim3.zip
    Вот, спасибо! Мне было интересно, удастся ли это решить.
    В записи для Acorn BASIC три нуля в инструкции VDU 19,L,P,0,0,0 после устанавливаемого физцвета служат похожей цели.
    В 06Ц Бейсик мы при SCREEN 0,L,P,0 и L=15 получили бы синтаксическую ошибку
    Ваша конструкция с перестановкой цвета бордюра в IF L=K THEN P=5:COLOR 15,0,15-L является выходом для этой задачи.

  6. #676

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,395
    Спасибо Благодарностей отдано 
    765
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    39 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Сравнительно компактный вариант определения версии (<=2.995, 2.996, 2.997-2.999).
    Вложения Вложения

    Эти 2 пользователя(ей) поблагодарили ivagor за это полезное сообщение:

    aGGreSSor(01.08.2025), metamorpho(01.08.2025)

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

  8. #677

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

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    Сравнительно компактный вариант определения версии (<=2.995, 2.996, 2.997-2.999).
    Это очень вовремя. Посмотрел: да, определяет. Добавлю это в демку для CC. Спасибо!

  9. #678

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,395
    Спасибо Благодарностей отдано 
    765
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    39 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    В 2.998 точно будут стартовое сообщение о номере версии и сохранение однобуквенных числовых переменных при останове программы по УС+С или ошибке.
    Также будут мелкие оптимизации, но их могу откатить, если место понадобится для исправления ошибок или реализации важных пожеланий.
    Встроенного определения номера версии не будет.

    Этот пользователь поблагодарил ivagor за это полезное сообщение:

    aGGreSSor(02.08.2025)

  10. #679

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,395
    Спасибо Благодарностей отдано 
    765
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    39 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Очередная финальная версия ветки 2.9x. Свободного места не осталось.
    Вложения Вложения

    Эти 3 пользователя(ей) поблагодарили ivagor за это полезное сообщение:

    aGGreSSor(02.08.2025), Improver(02.08.2025), metamorpho(02.08.2025)

  11. #680

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

    По умолчанию

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

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

Страница 68 из 70 ПерваяПервая ... 64656667686970 ПоследняяПоследняя

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

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

Эту тему просматривают: 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

Ваши права

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